From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 125BBA3168 for ; Wed, 16 Oct 2019 14:02:12 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B21231E8A0; Wed, 16 Oct 2019 14:02:10 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 4B33E1E89F for ; Wed, 16 Oct 2019 14:02:08 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Oct 2019 05:02:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,303,1566889200"; d="scan'208";a="279507704" Received: from irsmsx105.ger.corp.intel.com ([163.33.3.28]) by orsmga001.jf.intel.com with ESMTP; 16 Oct 2019 05:02:04 -0700 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.252]) by irsmsx105.ger.corp.intel.com ([169.254.7.210]) with mapi id 14.03.0439.000; Wed, 16 Oct 2019 13:02:04 +0100 From: "Ananyev, Konstantin" To: Anoob Joseph , "Smoczynski, MarcinX" , "akhil.goyal@nxp.com" CC: "dev@dpdk.org" , Jerin Jacob Kollanukkaran , Narayana Prasad Raju Athreya , Archana Muniganti Thread-Topic: [dpdk-dev] [PATCH v3 0/3] add fallback session Thread-Index: AQHVcgRpybp7qxFpeEujftbhitMyNac9nfaAgAA+IYCABNOdgIABgBhAgALv3QCAActlUIAJjr4AgACEvFCABZWFAIAEpX4w Date: Wed, 16 Oct 2019 12:02:03 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725801A8C69792@IRSMSX104.ger.corp.intel.com> References: <20190904141642.14820-1-marcinx.smoczynski@intel.com> <20190923114415.17932-1-marcinx.smoczynski@intel.com> <2601191342CEEE43887BDE71AB977258019196B087@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB977258019196D5B4@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725801919709C0@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB9772580191974E18@irsmsx105.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZDcyMmZkZjctZGEyZi00ZTQxLWIxNDUtZDIzMzllZTRhZjQyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTWhRUFZSdyttWTJ3QVFOUmtVanBSMWJKMDhpeTJJTHEzak5udERyWkVXUkh5cnd6VjMwb3plY2szSnFKXC9lMDgifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v3 0/3] add fallback session X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQo+ID4gT25jZSBhZ2FpbiAtIHlvdSBrZWVwIG1ha2luZyBzdGF0ZW1lbnRzIHdpdGhvdXQgYW55 IGV2aWRlbmNlLg0KPiA+IFByb3ZpZGUgc29tZXRoaW5nIG1vcmUgY29uY3JldGUgaGVyZSAtIGRl c2NyaXB0aW9uIG9mIHBhY2tldCBhbmQgY29kZSBmbG93DQo+ID4gKGZ1bmN0aW9uIG5hbWVzLCBl eGFjdCBsaW5lcyBvZiBjb2RlKSB0aGF0IHlvdSB0aGluayB3aWxsIGNhdXNlIGEgcHJvYmxlbS4N Cj4gDQo+IEkgc2F3IGF0bGVhc3QgdGhlIG9uZXMgYmVsb3cuIEl0IHdvdWxkIGJlIGZyaXZvbG91 cyB0byBhc3N1bWUgdGhhdCB0aGUgZmVhdHVyZSBpcyBhZGRlZCB3aXRob3V0IGFueSBkYXRhIHBh dGggY2hlY2tzLg0KPiANCj4gKwlpZiAoTUJVRl9OT19TRUNfT0ZGTE9BRChwa3QpICYmIHNhLT5m YWxsYmFja19zZXNzaW9ucyA+IDApIHsNCg0KDQpPayBoZXJlIHdlIGhhdmUgZXh0cmEgMiBjb21w YXJzaW9ucyBmb3IgZGF0YSAocGt0LT5vbF9mbGFncyBhbmQgc2EtPmZhbGxiYWNrX3Nlc3Npb25z KSwNCnRoYXQgYWxyZWFkeSB3b3VsZCBiZSBpbiB0aGUgY2FjaGUgYW5kIC4NCkZvciBjb21tb24g cGF0aCBib3RoIHdpbGwgYmUgZXZhbHVhdGVkIHRvIDAsIHdlIGRpZG4ndCBvYnNlcnZlIGFueSBw ZXJmIGRpZmZlcmVuY2UgYmVjYXVzZSBvZiB0aGF0Lg0KSSB3b3VsZCBleHBlY3QgdGhlIHNhbWUg Zm9yIG90aGVyIGFyY2hzLg0KSWYgeW91IHdvdWxkIHNlZSBzb21ldGhpbmcgb24geW91ciBib3hl cyAtIGxldCB1cyBrbm93Lg0KV2UgY291bGQgdGhpbmsgd2hhdCB3ZSBjYW4gZG8gaGVyZS4uLg0K UHJvYmFibHkgYXQgbGVhc3Qgc3dhcCB0aGUgY29tcGFyaXNvbnMgb3Igc28uLi4gDQpCdXQgaG9u ZXN0bHksIEkgZG9uJ3QgZXhwZWN0IGFueSBvYnNlcnZhYmxlIHNsb3dkb3duLg0KDQo+IA0KPiAr CQkJaWYgKHBnLT5pZC52YWwgJiBJUFNFQ19TQV9PRkZMT0FEX0ZBTExCQUNLX0ZMQUcpIHsNCg0K DQoNCj4gDQo+IEBtYWludGFpbmVycywgTWFydmVsbCBpcyBub3QgYmxvY2tpbmcgdGhpcyBmZWF0 dXJlIGFueW1vcmUgYXNzdW1pbmcgdGhhdCB0aGUgc2FtZSB5YXJkc3RpY2sgd2lsbCBiZSB1c2Vk IHdoaWxlIHJldmlld2luZyBwYXRjaGVzDQo+IHN1Ym1pdHRlZCBieSB1cy4NCj4gDQo+IFRoYW5r cywNCj4gQW5vb2INCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9t OiBBbmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPg0KPiA+ IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDEwLCAyMDE5IDQ6MjUgUE0NCj4gPiBUbzogQW5vb2Ig Sm9zZXBoIDxhbm9vYmpAbWFydmVsbC5jb20+OyBTbW9jenluc2tpLCBNYXJjaW5YDQo+ID4gPG1h cmNpbnguc21vY3p5bnNraUBpbnRlbC5jb20+OyBha2hpbC5nb3lhbEBueHAuY29tDQo+ID4gQ2M6 IGRldkBkcGRrLm9yZzsgSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwu Y29tPjsgTmFyYXlhbmENCj4gPiBQcmFzYWQgUmFqdSBBdGhyZXlhIDxwYXRocmV5YUBtYXJ2ZWxs LmNvbT47IEFyY2hhbmEgTXVuaWdhbnRpDQo+ID4gPG1hcmNoYW5hQG1hcnZlbGwuY29tPg0KPiA+ IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2MyAwLzNdIGFkZCBmYWxsYmFjayBzZXNz aW9uDQo+ID4NCj4gPg0KPiA+IEhpIEFub29iLA0KPiA+DQo+ID4gPg0KPiA+ID4gRm9sbG93aW5n IGFyZSB0aGUgbWFpbiBpc3N1ZXMgSSBoYWQgaWRlbnRpZmllZCwNCj4gPiA+DQo+ID4gPiAxLiBE b2Vzbid0IHdvcmsgZm9yIGlubGluZSBwcm90b2NvbCBvZmZsb2FkICh0aGUgcGxhbiBpdHNlbGYg d29uJ3QNCj4gPiA+IHNjYWxlIGZvciB0aGF0IGNhc2UpIDIuIElnbm9yZXMgdGhlIGRhdGEgZnJv bSB0aGUgaC93IGxvb2t1cCAzLiBUaGUNCj4gPiA+IGZhbGxiYWNrIHN1cHBvcnQgaXMgYWN0dWFs bHkgc3VwcG9ydGVkIGluIGlwc2VjLXNlY2d3IChhcHBsaWNhdGlvbikgaW5zdGVhZCBvZg0KPiA+ IGxpYnJ0ZV9pcHNlYy4NCj4gPiA+IDQuIFJlb3JkZXJpbmcgaXNzdWUuDQo+ID4gPiA1LiBJbnRy b2R1Y2VzIGNoZWNrcyBpbiBleGlzdGluZyBkYXRhIHBhdGggZXZlbiB3aGVuIHRoZSBmZWF0dXJl IGlzIG5vdA0KPiA+IHByb3Blcmx5IGltcGxlbWVudGVkL2lzIG5vdCBzdWl0YWJsZSBmb3Igb3Ro ZXIgUE1Ecy4NCj4gPiA+DQo+ID4gPiBGb3IgSXNzdWUgIzEsIEkgZ2V0IHRoYXQgSW50ZWwgZG9l c24ndCBoYXZlIHBsYW5zIHRvIHN1cHBvcnQgdGhlIGZlYXR1cmUgYW5kDQo+ID4gd29uJ3QgYmUg c3VibWl0dGluZyBhbnl0aGluZyBpbiB0aGF0IGRpcmVjdGlvbi4NCj4gPiA+IEJ1dCBhZGRpbmcg Y29kZSB0aGF0IGZ1cnRoZXIgZXhhY2VyYmF0ZXMgdGhlIHNpdHVhdGlvbiBpcyBwcm9iYWJseSBu b3QgZGVzaXJlZC4NCj4gPg0KPiA+IFdlIGFscmVhZHkgZGlzY3Vzc2VkIHdoeSB0aGF0IGZlYXR1 cmUgY2FuJ3QgYmUgZnVsbHkgc3VwcG9ydGVkIHJpZ2h0IG5vdyBieQ0KPiA+IGlubGluZS1wcm90 by9sb29rYXNpZGUtcHJvdG8gZGV2aWNlczoNCj4gPiBUaGVyZSBpcyBubyBBUEkgZGVmaW5lZCB0 byBzeW5jIHNlc3Npb24gc3RhdGUgYmV0d2VlbiBIVyBhbmQgU1cNCj4gPiBodHRwczovL3VybGRl ZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cC0NCj4gPiAzQV9fbWFpbHMuZHBkay5v cmdfYXJjaGl2ZXNfZGV2XzIwMTktDQo+ID4gMkRTZXB0ZW1iZXJfMTQzODgxLmh0bWwmZD1Ed0lH YVEmYz1uS2pXZWMyYjZSMG1PeVBhejd4dGZRJnI9alBmQjgNCj4gPiByd3d2aVJTeHlMV3MybjZC LQ0KPiA+IFdZTG4xdjlTeVRNclQ1RVFxaDJUVSZtPVVHejJGZW1hcFdkc29oZ05ScTJVWDVBckZF TF9wTEdZRVZyd2UNCj4gPiBJemFVWDQmcz1PYmtKSzlweXpPWnV3b2V1bHI2bXJyNmlLUUYxTmdY dTNwMnY3WHdrWUVzJmU9DQo+ID4NCj4gPiBJIGFscmVhZHkgb3V0bGluZWQgdGhhdCBnYXAgbmVh cmx5IGEgeWVhciBhZ286DQo+ID4gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3Yy L3VybD91PWh0dHAtDQo+ID4gM0FfX21haWxzLmRwZGsub3JnX2FyY2hpdmVzX2Rldl8yMDE4LQ0K PiA+IDJEU2VwdGVtYmVyXzExMzYwMC5odG1sJmQ9RHdJR2FRJmM9bktqV2VjMmI2UjBtT3lQYXo3 eHRmUSZyPWpQZkI4DQo+ID4gcnd3dmlSU3h5TFdzMm42Qi0NCj4gPiBXWUxuMXY5U3lUTXJUNUVR cWgyVFUmbT1VR3oyRmVtYXBXZHNvaGdOUnEyVVg1QXJGRUxfcExHWUVWcndlDQo+ID4gSXphVVg0 JnM9MHg4cG1mc1M3blQ3WG4tYV9SdmhJLUR4dEhNZGswenI0amlhcGkyMnRWRSZlPQ0KPiA+IFRo b3VnaCBzbyBmYXIgSSBkaWRuJ3Qgc2VlIGFueSBhdHRlbXB0IHRvIHJlc29sdmUgdGhpcyBwcm9i bGVtIGJ5IE1hcnZlbGwgKG9yDQo+ID4gTlhQKSBlbmdpbmVlcnMuDQo+ID4gV2hpY2ggbWFrZXMg bWUgdGhpbmsgdGhhdCBlaXRoZXIgeW91IGd1eXMgZG9uJ3QgY29uc2lkZXIgaXQgYXMgYSBwcm9i bGVtIGF0IGFsbCwNCj4gPiBvciBoYXZlIG5vIGRlc2lyZSB0byB3b3JrIG9uIGl0Lg0KPiA+IEkg bmV2ZXIgaW5zaXN0ZWQsIGFzIEkgZG9uJ3QgIHRoaW5rIGl0IGlzIG15IGNhbGwgYnkgb2J2aW91 cyByZWFzb25zOg0KPiA+IDEpIHJpZ2h0IG5vdyBJbnRlbCBkb2Vzbid0IGhhdmUgSFcgdGhhdCBw cm92aWRlcyBpbmxpbmUtcHJvdG8vbGtzZC1wcm90bw0KPiA+IGNhcGFiaWxpdGllcy4NCj4gPiAy KSBJbnRlbCBEUERLIHRlYW0gZG9lc24ndCBoYXZlIGFjY2VzcyB0byBzdWNoIEhXLg0KPiA+IDMp IFRoZXJlIGlzIG5vIFBNRCBpbnNpZGUgZHBkay5vcmcgdGhhdCBpbXBsZW1lbnRzIGlubGluZS1w cm90byBhbnl3YXkuDQo+ID4NCj4gPiBOb3csIG9uZSB5ZWFyIGxhdGVyIHdlIGFyZSBpbiBhIHNp dHVhdGlvbiB3aGVyZToNCj4gPiAxKSB0aGVyZSBzdGlsbCBubyBQTUQgYXQgZHBkay5vcmcgdGhh dCBzdXBwb3J0cyBpbmxpbmUtcHJvdG8uDQo+ID4gMikgQVBJIHRvIHN5bmMgc2Vzc2lvbiBzdGF0 ZSBiZXR3ZWVuIEhXIGFuZCBTVyBzdGlsbCBub3QgZGVmaW5lZC9pbXBsZW1lbnRlZC4NCj4gPiAz KSB5b3UgdHJ5aW5nIHRvIGFjY3VzZSBtZSBhbmQgb3RoZXIgSW50ZWwgRFBESyB0ZWFtIGZvciBs YWNrIG9mIGludGVyZXN0IHRvDQo+ID4gd29yayBvbiB0aGF0IHByb2JsZW0gZm9yIHlvdQ0KPiA+ ICAgIGFuZCB0aHJlYXQgb3VyIHBhdGNoZXMgYmVjYXVzZSBvZiB0aGF0Lg0KPiA+DQo+ID4gVGhh dCBqdXN0IGRvZXNuJ3QgbG9vayBmYWlyIHRvIG1lLg0KPiA+IFlvdSBzaG91bGRuJ3QgZXhwZWN0 IG90aGVyIHBlb3BsZSBwYXRjaGVzIHRvIHByb3ZpZGUgJ2NvbXBsZXRlJyBzb2x1dGlvbiBmb3IN Cj4gPiBpbmxpbmUtcHJvdG8sIGlmIChpbiBhIHllYXIgdGltZSkgeW91IGZhaWxlZCB0byBkZWZp bmUvaW1wbGVtZW50IGFuIEFQSSBmb3IgdGhhdC4NCj4gPg0KPiA+ID4gRm9yIElzc3VlICMyLCBz aW5jZSBpcHNlYy1zZWNndyBpcyBub3QgdXRpbGl6aW5nIHRoZSBoL3cgbG9va3VwIGRhdGEsDQo+ ID4gPiB0aGUgc29sdXRpb24gaGVyZSBmb2xsb3dzIHN1aXQgYW5kIGlzIHByZXZlbnRpbmcgb3Ro ZXIgdXNhZ2UgbW9kZWxzIG9mIHRoZQ0KPiA+IGhhcmR3YXJlIHdoaWNoIGFyZSBhbGxvd2VkIGJ5 IHRoZSBsaWJyYXJ5Lg0KPiA+DQo+ID4gU2FtZSBhcyBhYm92ZSwgcmlnaHQgbm93IHRoZXJlIGlz IG5vIFBNRCB0aGF0IHN1cHBvcnRzIGlubGluZS1wcm90byBhbmQgbm8gQVBJDQo+ID4gdG8gZXh0 cmFjdCB0aGF0IGV4dHJhIEgvVyBsb29rdXAgZGF0YS4NCj4gPiBUaG91Z2ggSSByZXBsaWVkIHRv IHlvdSBhbmQgZXhwbGFpbmVkICp0d2ljZSpob3cgSSB0aGluayBzdWNoIGZ1bmN0aW9uYWxpdHkN Cj4gPiBjb3VsZCBiZSBhZGRlZCBpZiBpbiBoeXBvdGhldGljYWwgZnV0dXJlIHRoZXJlIHdvdWxk IGJlIGEgUE1EIHRoYXQgd2lsbCBzdXBwb3J0DQo+ID4gdGhlc2UgZmVhdHVyZXMuDQo+ID4gQnV0 IHlvdSBzaW1wbHkgaWdub3JlZCBteSByZXBsaWVzIGFuZCBrZXB0IHRocmVhdGluZyBvdXIgcGF0 Y2hlcy4NCj4gPiBPYnZpb3VzbHksIEkgZG9uJ3QgdGhpbmsgaXQgaXMgYSBwcm9wZXIgYXR0aXR1 ZGUgZm9yIG9wZW4tc291cmNlIGNvbW11bml0eS4NCj4gPiBBdCBsZWFzdCBJIHdvdWxkIGV4cGVj dCB0byBwcm92aWRlIHNvbWUgY2xlYXIgZXhwbGFuYXRpb24sIHdoeSBkbyB5b3UgdGhpbmsNCj4g PiBhcHByb2FjaCBJIG91dGxpbmVkIGlzIG5vdCBnb29kIGVub3VnaC4NCj4gPiBFdmVuIGJldHRl ciB3b3VsZCBiZSB0bzoNCj4gPiAxKSBzdWJtaXQgYW4gUkZDL3BhdGNoIHdpdGggQVBJIHlvdSBl bnZpc2lvbiBhbmQgUE1EIGltcGxlbWVudGF0aW9uIGZvciBpdC4NCj4gPiAyKSBzdWJtaXQgYW4g UkZDL3BhdGNoIHdpdGggY2hhbmdlcyBpbiBpcHNlYy1zZWNndyB0byBlbmFibGUgdGhlc2UgbmV3 DQo+ID4gZmVhdHVyZXMuDQo+ID4gV2l0aG91dCB0aGF0IGluIHBsYWNlIHRoZXJlIGlzIG5vdCBt dWNoIHRvIGRpc2N1c3MuDQo+ID4NCj4gPiA+IEZvciBJc3N1ZSAjMywgbGlicnRlX2lwc2VjIGlz IHN0aWxsIGV4cGVyaW1lbnRhbCBhbmQgaXMganVzdCAyLTMNCj4gPiA+IHJlbGVhc2VzIG9sZC4g SXQgaGFzIHNjb3BlIGZvciBpbXByb3ZlbWVudCBhbmQgYWxsIHRoZXNlIGZlYXR1cmVzIHdvdWxk J3ZlDQo+ID4gYWRkZWQgdmFsdWUgdG8gaXRzIHV0aWxpdHkuIE5vIHN0cm9uZyBmZWVsaW5ncyBo ZXJlLg0KPiA+ID4NCj4gPiA+IEZvciBJc3N1ZSAjNCwgZ2xhZCB0aGF0IHlvdSBkb2N1bWVudGVk IHRoYXQgaXNzdWUuDQo+ID4gPg0KPiA+ID4gRm9yIElzc3VlICM1LCBpbiB5b3VyIHJlcGx5IHlv dSBoYWQgbWVudGlvbmVkIHRoYXQgdGhlcmUgaXMgbm8NCj4gPiA+IGFkZGl0aW9uYWwgY2hlY2sg ZG9uZS4gSSBzZWUgYXRsZWFzdCBmZXcgY2hlY2tzIGluIHRoZSBkYXRhcGF0aC4gU2luY2UgdGhl DQo+ID4gZmVhdHVyZSBpdHNlbGYgaXMgZXhwZXJpbWVudGFsLCBpdCB3b3VsZCBiZSBsZXNzIGNv bnRlbnRpb3VzIGlmIGl0IHdhcyBpbnRyb2R1Y2VkIGFzDQo+ID4gYSBuZXcgZGF0YSBwYXRoLg0K PiA+DQo+ID4gT25jZSBhZ2FpbiAtIHlvdSBrZWVwIG1ha2luZyBzdGF0ZW1lbnRzIHdpdGhvdXQg YW55IGV2aWRlbmNlLg0KPiA+IFByb3ZpZGUgc29tZXRoaW5nIG1vcmUgY29uY3JldGUgaGVyZSAt IGRlc2NyaXB0aW9uIG9mIHBhY2tldCBhbmQgY29kZSBmbG93DQo+ID4gKGZ1bmN0aW9uIG5hbWVz LCBleGFjdCBsaW5lcyBvZiBjb2RlKSB0aGF0IHlvdSB0aGluayB3aWxsIGNhdXNlIGEgcHJvYmxl bS4NCj4gPg0KPiA+ID4NCj4gPiA+IEFsc28sIHRvIHF1b3RlIGZyb20gdGhlIHJlcGx5LA0KPiA+ ID4NCj4gPiA+ID4gPiBbQW5vb2JdIFNob3VsZG4ndCB3ZSBnZXQgdGhhdCBhY2NlcHRlZCBmaXJz dCB0aGVuPw0KPiA+ID4gPg0KPiA+ID4gPiBJIGRvbid0IHRoaW5rIHNvLg0KPiA+ID4gPiBDdXJy ZW50IGltcGxlbWVudGF0aW9uIGRvZXMgcHJvdmlkZSBleHBlY3RlZCBmdW5jdGlvbmFsaXR5ICh3 aXRoDQo+ID4gPiA+IGtub3duIGxpbWl0YXRpb25zKS4NCj4gPiA+ID4gSW4gZnV0dXJlLCB3ZSBj YW4gdHJ5IHRvIGltcHJvdmUgaXQgYW5kL29yIHJlbW92ZSBleGlzdGluZyBsaW1pdGF0aW9ucy4N Cj4gPiA+ID4gVGhhdCdzIGEgY29tbW9uIGl0ZXJhdGlvbiBkZXZlbG9wbWVudCBhcHByb2FjaCB0 aGF0IGlzIHVzZWQgdGhvdWdoDQo+ID4gPiA+IHdob2xlDQo+ID4gPiA+IERQREs6DQo+ID4gPiA+ IC0gcHJvdmlkZSBpbml0aWFsIHNvbHV0aW9uIHdpdGggYmFzaWMgZnVuY3Rpb25hbGl0eSBmaXJz dA0KPiA+ID4gPiAtIGltcHJvdmUvZXh0ZW5kIHdpdGggZnV0dXJlIHJlbGVhc2VzL3BhdGNoZXMN Cj4gPiA+DQo+ID4gPiBJZiB5b3VyIHN1Z2dlc3Rpb24gaXMgdG8gc3RpY2sgdG8gYWJvdmUgZ3Vp ZGVsaW5lcywNCj4gPg0KPiA+IEl0IGlzIG5vdCBteSBzdWdnZXN0aW9uLCB0aGF0J3MgaG93IHRo aW5ncyB3b3JrIHdpdGhpbiBEUERLIHJpZ2h0IG5vdy4NCj4gPiBOZWFybHkgZXZlcnkgZHBkayBs aWJyYXJ5LCBkcml2ZXIgYW5kIHNhbXBsZSBhcHAgd2FzIGRldmVsb3BlZCBiYXNlZCBvbiB0aGF0 DQo+ID4gcHJpbmNpcGxlLg0KPiA+IEV2ZW4gaXBzZWMtc2VjZ3cgaXRzZWxmLCBqdXN0IGxvb2sg YXQgdGhlIGdpdCBsb2cgZm9yIGl0Lg0KPiA+DQo+ID4gPiBJIGRvbid0IHRoaW5rIHRoZXJlIGlz IGFueSBwb2ludCBpbiBwdXNoaW5nIGFueSBmdXJ0aGVyLiBJIGxlYXZlIHRoaXMNCj4gPiA+IHRv IG1haW50YWluZXJzIHRvIGRlY2lkZS4gSSB3b3VsZCBhc3N1bWUgdGhlIHNhbWUgcnVsZXMgd291 bGQgYXBwbHkgdG8gZXZlcnkNCj4gPiBmZWF0dXJlIHRoYXQgaXMgYmVpbmcgYXR0ZW1wdGVkLg0K PiA+DQo+ID4gSSBiZWxpZXZlIHRoYXQgZm9yICMxLCAjMiwgIzUgeW91ciBjb21tZW50cyBhcmUg Ymlhc2VkLCBhbmQgZG9lc24ndCBwcm92aWRlIHJlYWwNCj4gPiBwaWN0dXJlLg0KPiA+IFNvIG15 IHN1Z2dlc3Rpb24gdG8gbWFpbnRhaW5lcnMgd291bGQgYmUgdG8gaWdub3JlIHRoZW0gYXMgbm90 IHZhbHVhYmxlLg0KPiA+DQo+ID4gS29uc3RhbnRpbg0KPiA+DQo+ID4NCj4gPiA+DQo+ID4gPiBU aGFua3MsDQo+ID4gPiBBbm9vYg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+ID4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxm IE9mIEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIg MywgMjAxOSA4OjE2IFBNDQo+ID4gPiA+IFRvOiBBbm9vYiBKb3NlcGggPGFub29iakBtYXJ2ZWxs LmNvbT47IFNtb2N6eW5za2ksIE1hcmNpblgNCj4gPiA+ID4gPG1hcmNpbnguc21vY3p5bnNraUBp bnRlbC5jb20+OyBha2hpbC5nb3lhbEBueHAuY29tDQo+ID4gPiA+IENjOiBkZXZAZHBkay5vcmc7 IEplcmluIEphY29iIEtvbGxhbnVra2FyYW4gPGplcmluakBtYXJ2ZWxsLmNvbT47DQo+ID4gPiA+ IE5hcmF5YW5hIFByYXNhZCBSYWp1IEF0aHJleWEgPHBhdGhyZXlhQG1hcnZlbGwuY29tPjsgQXJj aGFuYQ0KPiA+ID4gPiBNdW5pZ2FudGkgPG1hcmNoYW5hQG1hcnZlbGwuY29tPg0KPiA+ID4gPiBT dWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjMgMC8zXSBhZGQgZmFsbGJhY2sgc2Vzc2lv bg0KPiA+ID4gPg0KPiA+ID4gPiBIaSBBbm9vYiwNCj4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ IEkndmUgZmV3IG1vcmUgb2JzZXJ2YXRpb25zIHJlZ2FyZGluZyB0aGUgcHJvcG9zZWQgZmVhdHVy ZS4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiAxLiBGcm9tIHdoYXQgSSB1 bmRlcnN0b29kLCBpZiBhbiBFU1AgcGFja2V0IGVuZHMgdXAgb24gYW4NCj4gPiA+ID4gPiA+ID4g PiA+IHVucHJvdGVjdGVkIGludGVyZmFjZSBhbmQgZG9lc24ndCBoYXZlICdQS1RfUlhfU0VDX09G RkxPQUQnDQo+ID4gPiA+ID4gPiA+ID4gPiBiaXQgc2V0LCB0aGVuIHRoZSBwYWNrZXQNCj4gPiA+ ID4gPiA+ID4gPiB3b3VsZCBiZSBsb29rZWQgdXAgdG8gc2VlIHRoZSBhc3NvY2lhdGVkIFNBIGFu ZCB0aGVuDQo+ID4gPiA+ID4gPiA+ID4gZmFsbGJhY2sgc2Vzc2lvbiBpcyBmaWd1cmVkIG91dCBh bmQgdGhlbiBmdXJ0aGVyIHByb2Nlc3NpbmcgaXMgZG9uZS4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiBDYW4geW91IGNvbmZpcm0gaWYgSSB1bmRlcnN0b29kIHRoZSBzZXF1 ZW5jZSBjb3JyZWN0bHk/IElmDQo+ID4gPiA+ID4gPiA+ID4gPiB5ZXMsIHRoZW4gYXJlbid0IHdl IGRvaW5nIGFuIGV4dHJhIGxvb2t1cCBpbiB0aGUgcy93PyBUaGUNCj4gPiA+ID4gPiA+ID4gPiA+ IHBhY2tldCBtYXkgYmUgbG9va2VkIGJ5IHRoZSBoL3cgdXNpbmcgcnRlX2Zsb3cgYW5kIHRoYXQN Cj4gPiA+ID4gPiA+ID4gPiA+IGluZm9ybWF0aW9uIGNvdWxkIGJlIHVzZWQgdG8gZGV0ZXJtaW5l IHRoZQ0KPiA+ID4gPiA+ID4gPiA+IFNBLiBBbHNvLCBpZiB0aGUgRVNQIHBhY2tldCBpcyBleHBl Y3RlZCB0byBiZSBmb3J3YXJkZWQsDQo+ID4gPiA+ID4gPiA+ID4gdGhlbiB0aGUgYWJvdmUgbG9n aWMgd2lsbCBhZGQgYW4gdW5uZWNlc3NhcnkgbG9va3VwIGV2ZW4NCj4gPiA+ID4gPiA+ID4gPiBh ZnRlciB5b3VyIGgvdyBoYXMgZGV0ZWN0ZWQgdGhhdCB0aGUgcGFja2V0IG5lZWQgbm90IGJlIHNl Y3VyaXR5DQo+ID4gcHJvY2Vzc2VkLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g Tm90IHN1cmUgSSB1bmRlcnN0b29kIHlvdXIgd2hvbGUgc3RhdGVtZW50IGFib3ZlLg0KPiA+ID4g PiA+ID4gPiA+IEFGQUlLLCByaWdodCBub3cgKHdpdGggZHBkayBtYXN0ZXIpIGZvciB1bnByb3Rl Y3RlZCBpZmFjZSBpdA0KPiA+ID4gPiA+ID4gPiA+IHdvcmtzIGxpa2UNCj4gPiA+ID4gdGhhdDoN Cj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IDEuICBzbGl0IGluY29taW5nIHRyYWZm aWMgaW50byAzIGdyb3VwczogRVNQIHBhY2tldHMsIElQdjQNCj4gPiA+ID4gPiA+ID4gPiBwYWNr ZXRzLCBJUHY2DQo+ID4gPiA+ID4gPiBwYWNrZXRzLg0KPiA+ID4gPiA+ID4gPiA+IEZvciBFU1Ag cGFja2V0czoNCj4gPiA+ID4gPiA+ID4gPiAyLiBwZXJmb3JtIFNBRCBsb29rdXANCj4gPiA+ID4g PiA+ID4gPiAgICAgYS4gaWYgaXQgZmFpbHMgKG5vbiBTQSBmb3VuZCBmb3IgdGhhdCBTUEkpLCB0 aGVuIGRyb3AgdGhlIHBhY2tldC4NCj4gPiA+ID4gPiA+ID4gPiAgICAgYi4gb3RoZXJ3aXNlIChT QSBmb3VuZCkgcHJvY2VzcyB0aGUgcGFja2V0IHVzaW5nIGZvdW5kDQo+ID4gPiA+ID4gPiA+ID4g U0ENCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFdoYXQgZmFsbC1iYWNrIHBhdGNo IGFkZHM6DQo+ID4gPiA+ID4gPiA+ID4gQmVmb3JlIHN0ZXAgMi5iIGNoZWNrOg0KPiA+ID4gPiA+ ID4gPiA+IGRvZXMgdGhhdCBTQSBoYXMgaXRzIHByaW1hcnkgc2Vzc2lvbiAgd2l0aCB0eXBlDQo+ ID4gPiA+ID4gPiA+ID4gSU5MSU5FLUNSWVBUTyBhbmQgZG9lcyBIVyBmYWlsIHRvIGRvIElQc2Vj IHJlYWx0ZWQgcHJvY2Vzc2luZyBmb3IgaXQNCj4gPiAoYnkgc29tZSByZWFzb24pPw0KPiA+ID4g PiA+ID4gPiA+IElmIHllcywgdGhlbiBtYXJrIHRoaXMgcGFja2V0IHRvIGJlIHByb2Nlc3NlZCBi eSBmYWxsLWJhY2sgc2Vzc2lvbi4NCj4gPiA+ID4gPiA+ID4gPiBpZiAoTUJVRl9OT19TRUNfT0ZG TE9BRChwa3QpICYmIHNhLT5mYWxsYmFja19zZXNzaW9ucyA+IDApIHsNCj4gPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgdWludHB0cl90IGludHNhID0gKHVpbnRwdHJfdClzYTsNCj4gPiA+ ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgaW50c2EgfD0gSVBTRUNfU0FfT0ZGTE9BRF9GQUxM QkFDS19GTEFHOw0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICByZXN1bHRfc2EgPSAo dm9pZCAqKWludHNhOyAgfQ0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gU28gZnJv bSBteSBwZXJzcGVjdGl2ZSwgbm8gYWRkaXRpb25hbCBsb29rdXAgd2hlcmUgaW50cm9kdWNlZC4N Cj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gW0Fub29iXSBGb3IgaW5saW5lIHByb2Nlc3Np bmcsIGgvdyBkb2VzIGEgbG9va3VwIGFuZCBmaWd1cmVzDQo+ID4gPiA+ID4gPiA+IG91dCB0aGUg c2VjdXJpdHkNCj4gPiA+ID4gPiA+IHByb2Nlc3NpbmcgdG8gYmUgZG9uZSBvbiB0aGUgcGFja2V0 Lg0KPiA+ID4gPiA+ID4gPiAicnRlX3NlY3VyaXR5X2dldF91c2VyZGF0YSgpIiBhbGxvd3Mgcy93 IHRvIGZ1cnRoZXIgc2VncmVnYXRlDQo+ID4gPiA+ID4gPiA+IHRoYXQgaW5mby4gSW4gdGhpcyBh cHByb2FjaCwgSSBiZWxpZXZlIHdlIGRvbid0IGNvbnNpZGVyIGhvdw0KPiA+ID4gPiA+ID4gPiBz dWNoIGluZm8gZnJvbSBoL3cgY2FuDQo+ID4gPiA+ID4gPiBiZSB1c2VkLg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IFJpZ2h0IG5vdyBpdCBpcyBub3QgdGhlIGNhc2Ugd2l0aCBpcHNlYy1zZWNn dzoNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFtBbm9vYl0gQXJlIHlvdSBzYXlpbmcgdGhlcmUgaXMg bm8gaC93IGxvb2t1cCBpbnZvbHZlZCB3aGVuIGRvaW5nDQo+ID4gPiA+ID4gaW5saW5lIGNyeXB0 byBwcm9jZXNzaW5nPyBUaGVuIEknbSBjb25mdXNlZC4gTXkgdW5kZXJzdGFuZGluZyBpcw0KPiA+ ID4gPiA+IHRoYXQgcnRlX2Zsb3cNCj4gPiA+ID4gd2l0aCBBQ1RJT04gdHlwZSBhcyBTRUNVUklU WSBpcyBiZWluZyB1c2VkIHRvIHNldHVwIGgvdyBsb29rdXBzLg0KPiA+ID4gPg0KPiA+ID4gPiBJ IGFtIHNheWluZyB0aGF0IGN1cnJlbnQgaXBzZWMtc2VjZ3cgY29kZSBmb3IgZWFjaCBpbmJvdW5k IEVTUA0KPiA+ID4gPiBwYWNrZXQNCj4gPiA+ID4gKmFsd2F5cyogZG9lcyBTVyBsb29rdXAuDQo+ ID4gPiA+IE5vIG1hdHRlciBkaWQgSFcgbG9va3VwIHRha2UgcGxhY2UgYWxyZWFkeSBhbmQgZG9l cyBpbmZvcm1hdGlvbg0KPiA+ID4gPiBhYm91dCB0aGF0IGxvb2t1cCBpcyBhdmFpbGFibGUgdmlh IG1idWYgaW4gc29tZSB3YXkgb3Igbm90Lg0KPiA+ID4gPiBKdXN0IGxvb2sgYXQgdGhlIGlwc2Vj LXNlY2d3IGNvZGUgeW91cnNlbGY6DQo+ID4gPiA+DQo+ID4gPiA+IG5iX3J4ID0gcnRlX2V0aF9y eF9idXJzdChwb3J0aWQsIHF1ZXVlaWQsICBwa3RzLCBNQVhfUEtUX0JVUlNUKTsNCj4gPiA+ID4N Cj4gPiA+ID4gaWYgKG5iX3J4ID4gMCkNCj4gPiA+ID4gCXByb2Nlc3NfcGt0cyhxY29uZiwgcGt0 cywgbmJfcngsIHBvcnRpZCk7DQo+ID4gPiA+DQo+ID4gPiA+IEluc2lkZSBwcm9jZXNzX3BrdHMo KQ0KPiA+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0 cC0NCj4gPiA+ID4gM0FfX2x4ci5kcGRrLm9yZ19kcGRrX2xhdGVzdF9pZGVudF9wcmVwYXJlLTVG b25lLQ0KPiA+ID4gPg0KPiA+IDVGcGFja2V0JmQ9RHdJR2FRJmM9bktqV2VjMmI2UjBtT3lQYXo3 eHRmUSZyPUJQY0dPT3VkVU1yVERROVliDQo+ID4gPiA+DQo+ID4gZ0tjT2tPNUNoWWlVUFBsUE5J RXZUT2hqTkUmbT1LVkJndlhZbFVHeU1tdTI2MGVySVNLcjczUXQ2UEJMdXgwU0kNCj4gPiA+ID4g b1NPMWktTSZzPW9wYkdHSFVxZnh5OHBfNE52d0NHNm9kNlZkVjBxTjhYYWZhUGl1YmZPMUEmZT0N Cj4gPiA+ID4gIGl0IGZpcnN0IGNhbGxzIHByZXBhcmVfdHJhZmZpYygpIHdoaWNoIGRvZXMgc29y dCBvZiBkZS1tdXhpbmc6DQo+ID4gPiA+IHB1dCBwYWNrZXQgaW4gb25lIG9mIDMgYXJyYXlzOg0K PiA+ID4gPiAgICAxKSBFU1AgcGFja2V0cw0KPiA+ID4gPiAgICAyKSBub24gRVNQIElQdjQgcGFj a2V0cw0KPiA+ID4gPiAgICAzKSBub24gRVNQIElQdjYgcGFja2V0cw0KPiA+ID4gPiBBbHNvIGl0 IGNoZWNrcyBpcyBQS1RfUlhfU0VDX09GRkxPQUQgc2V0IGZvciB0aGF0IHBhY2tldC4NCj4gPiA+ ID4gSWYgeWVzLCBpdCByZXRyaWV2ZXMgYXNzb2NpYXRlZCBzZWN1cml0eSB1c2VyLWRhdGEgYW5k IHN0b3JlcyBpdA0KPiA+ID4gPiBpbnNpZGUgcHJpdmF0ZSBtYnVmIGFyZWEuDQo+ID4gPiA+DQo+ ID4gPiA+IFRoZW4gaXQgZ29lcyBpbnRvIHByb2Nlc3NfcGt0c19pbmJvdW5kKCkNCj4gPiA+ID4g aHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHAtDQo+ID4gPiA+ IDNBX19seHIuZHBkay5vcmdfZHBka19sYXRlc3RfaWRlbnRfcHJvY2Vzcy01RnBrdHMtDQo+ID4g PiA+DQo+ID4gNUZpbmJvdW5kJmQ9RHdJR2FRJmM9bktqV2VjMmI2UjBtT3lQYXo3eHRmUSZyPUJQ Y0dPT3VkVU1yVERROVkNCj4gPiA+ID4NCj4gPiBiZ0tjT2tPNUNoWWlVUFBsUE5JRXZUT2hqTkUm bT1LVkJndlhZbFVHeU1tdTI2MGVySVNLcjczUXQ2UEJMdXgwUw0KPiA+ID4gPiBJb1NPMWktTSZz PTJPeE1YdWc3anRVUVBjWWlETjRuVzlXYnJNdFJmVEp4NWstTjdpa09lTUUmZT0NCj4gPiA+ID4g YW5kIGhlcmUgZm9yIGFsbCBFU1AgcGFja2V0czoNCj4gPiA+ID4gbGVnYWN5IGNvZGUgcGF0aDoN Cj4gPiA+ID4gaXBzZWNfaW5ib3VuZCgpLT5pbmJvdW5kX3NhX2xvb2t1cCgpLT5zaW5nbGVfaW5i b3VuZF9sb29rdXAoKQ0KPiA+ID4gPiBmb3IgbGlicnRlX2lwc2VjIGNvZGUgcGF0aDoNCj4gPiA+ ID4gaW5ib3VuZF9zYV9sb29rdXAoKS0+c2luZ2xlX2luYm91bmRfbG9va3VwKCkNCj4gPiA+ID4N Cj4gPiA+ID4gc2luZ2xlX2luYm91bmRfbG9va3VwKCkgaXMgdGhlIG9uZSB0aGF0IGRvZXMgYWN0 dWFsIFNXIGxvb2t1cCBmb3INCj4gPiA+ID4gZWFjaCBpbnB1dCBwYWNrZXQuDQo+ID4gPiA+IGh0 dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLQ0KPiA+ID4gPiAz QV9fbHhyLmRwZGsub3JnX2RwZGtfbGF0ZXN0X2lkZW50X3NpbmdsZS01RmluYm91bmQtDQo+ID4g PiA+DQo+ID4gNUZsb29rdXAmZD1Ed0lHYVEmYz1uS2pXZWMyYjZSMG1PeVBhejd4dGZRJnI9QlBj R09PdWRVTXJURFE5WWINCj4gPiA+ID4NCj4gPiBnS2NPa081Q2hZaVVQUGxQTklFdlRPaGpORSZt PUtWQmd2WFlsVUd5TW11MjYwZXJJU0tyNzNRdDZQQkx1eDBTSQ0KPiA+ID4gPiBvU08xaS1NJnM9 RDJaUFpQTGJjUVNiYWx1RzhLSDBGM3VVREhmUVdOWXh3NE1PYzBmU2tJOCZlPQ0KPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBmb3IgZWFjaCBpbmJvdW5kIEVTUCBwYWNrZXQgaXQgKmFs d2F5cyogZG9lcyBhIGxvb2t1cCBpbiBTVw0KPiA+ID4gPiA+ID4gYmFzZWQgU0FEQiwgYW5kIGlm IGxvb2t1cCBmYWlscyAtIGRyb3BzIHRoZSBwYWNrZXQgKHNlZSAyLmEgYWJvdmUpLg0KPiA+ID4g PiA+ID4gU28sIEkgc3RpbGwgbm90IHNlZSBhbnkgYWRkaXRpb25hbCBsb29rdXBzIGludHJvZHVj ZWQgd2l0aCB0aGUgcGF0Y2guDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBbQW5vb2JdIEluIGNhc2Ug b2YgaW5saW5lIGNyeXB0bywgeW91IGNvdWxkIGRvIHRoYXQuIE5vIGRpc2FncmVlbWVudC4NCj4g PiA+ID4gPiBCdXQgdGhhdCBkb2Vzbid0IG1lYW4gdGhhdCBpcyB0aGUgb25seSB3YXkuIElmIFBN RHMgY2FuIHJldHJpZXZlDQo+ID4gPiA+ID4gaW5mbyBhYm91dA0KPiA+ID4gPiBoL3cgbG9va3Vw cyBhbmQgcGFzcyBpdCBvbiB0byB0aGUgdXBwZXIgbGF5ZXJzLCBpc24ndCB0aGF0IHRoZSBiZXR0 ZXINCj4gPiBhcHByb2FjaD8NCj4gPiA+ID4NCj4gPiA+ID4gUGxlYXNlIGxldCdzIGtlZXAgb3Vy IGNvbnZlcnNhdGlvbiBpbiBhIGNvbnN0cnVjdGl2ZSB3YXkuDQo+ID4gPiA+IFdlIGFyZSBub3Qg ZGlzY3Vzc2luZyB3aGF0IGNvdWxkIGJlIGRvbmUgaW4gdGhlb3J5LCBidXQgYSBwYXJ0aWN1bGFy DQo+ID4gPiA+IHBhdGNoIGZvcg0KPiA+ID4gPiBpcHNlYy1zZWNndzoNCj4gPiA+ID4gUmlnaHQg bm93IGlwc2VjLXNlY2d3IGRvZXMgYSBTVyBsb29rdXAgZm9yIGVhY2ggaW5ib3VuZCBFU1AgcGFj a2V0DQo+ID4gPiA+IChubyBtYXR0ZXIgd2hhdCBIVyBvZmZsb2FkIGRvZXMpIGFuZCB0aGlzIHBh dGNoIGRvZXNuJ3QgaW50cm9kdWNlDQo+ID4gPiA+IGFueSBleHRyYSBTVyBsb29rdXBzLg0KPiA+ ID4gPg0KPiA+ID4gPiBJZiB5b3UgYXJlIG5vdCBoYXBweSB3aXRoIGN1cnJlbnQgaXBzZWMtc2Vj Z3cgYXBwcm9hY2gsIHRoYXQncyBmaW5lDQo+ID4gPiA+IC0gZmVlbCBmcmVlIHRvIHN1Ym1pdCBS RkMvcGF0Y2ggdG8gZml4IHRoYXQsIG9yIHN0YXJ0IGEgZGlzY3Vzc2lvbiBpbiBhIG5ldw0KPiA+ IHRocmVhZC4NCj4gPiA+ID4gSSBqdXN0IGRvbid0IHNlZSB3aHkgd2UgaGF2ZSB0byBkaXNjdXNz IGl0IGluIGNvbnRleHQgb2YgdGhpcyBwYXRjaC4NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBBbHNvIEFGQUlLLCByaWdodCBu b3cgdGhlcmUgaXMgbm8gcG9zc2liaWxpdHkgdG8gY29uZmlndXJlDQo+ID4gPiA+ID4gPiA+ID4g aXBzZWMtc2VjZ3cgdG8gQllQQVNTIHNvbWUgRVNQIHRyYWZmaWMuDQo+ID4gPiA+ID4gPiA+ID4g U2hvdWxkIHdlIGRvIGl0ICh0byBjb25mb3JtIHRvIGlwc2VjIFJGQykgLSB0aGF0J3MgcHJvYmFi bHkNCj4gPiA+ID4gPiA+ID4gPiBzdWJqZWN0IG9mIGFub3RoZXIgZGlzY3Vzc2lvbi4NCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gW0Fub29iXSBUaGUgYXBwcm9hY2ggKGNob2ljZSBvZiBm bGFncykgZm9yY2VzIGEgc29mdHdhcmUtYmFzZWQNCj4gPiA+ID4gPiA+ID4gU0EgbG9va3VwIGZv ciBwYWNrZXRzIHRoYXQgbmVlZCB0byBiZSBieXBhc3NlZCBpbnN0ZWFkIG9mDQo+ID4gPiA+ID4g PiA+IGxldmVyYWdpbmcgcG9zc2libGUNCj4gPiA+ID4gPiA+IGhhcmR3YXJlIFNBIGxvb2t1cC4g SSBkb24ndCB0aGluayB3aGF0IGlwc2VjLXNlY2d3IGRvZXMgbWF0dGVycyBoZXJlLg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+IEkgZG8gbm90IGFncmVlIHdpdGggdGhhdCBzdGF0ZW1lbnQuDQo+ ID4gPiA+ID4gPiBGaXJzdCBvZiBhbGwgLSBjdXJyZW50IHBhdGNoIGRvZXNuJ3QgaW50cm9kdWNl IGFueSBhZGRpdGlvbmFsIFNXDQo+ID4gPiA+ID4gPiBsb29rdXBzLCBzZWUgYWJvdmUuDQo+ID4g PiA+ID4gPiBTZWNvbmQsIGlmIHNvbWVvbmUgd291bGQgbGlrZSB0byBhZGQgQllQQVNTIGZvciBF U1AgcGFja2V0cyBpbnRvDQo+ID4gPiA+ID4gPiBpcHNlYy1zZWNndywgSSB0aGluayBoZSB3b3Vs ZCBoYXZlIHRvIGluc2VydCBuZXcgY29kZSB0aGF0IGRvDQo+ID4gPiA+ID4gPiBkZS1tdXgNCj4g PiA+ID4gPiA+ICpiZWZvcmUqIGFueSBFU1AgcmVsYXRlZCBwcm9jZXNzaW5nIHN0YXJ0cy4NCj4g PiA+ID4gPiA+IE1vc3Qgb2J2aW91cyB2YXJpYW50OiBhdCBwcmVwYXJlX29uZV9wYWNrZXQoKSB3 aGVuIHdlIHNwbGl0IG91cg0KPiA+ID4gPiA+ID4gaW5jb21pbmcgdHJhZmZpYyB0byBJUHNlYyBh bmQgbm9uLUlQc2VjIG9uZXMuDQo+ID4gPiA+ID4gPiBTZWNvbmQgdmFyaWFudCAtIGF0IGVhcmx5 IHN0YWdlIG9mIHNpbmdsZV9pbmJvdW5kX2xvb2t1cCgpLA0KPiA+ID4gPiA+ID4gc3RyYWlnaHQg YWZ0ZXIgYWN0dWFsIFNBRCBsb29rdXAgZmFpbHVyZS4NCj4gPiA+ID4gPiA+IEluIGJvdGggY2Fz ZXMsIEkgZG9uJ3Qgc2VlIGhvdyBzZXNzaW9uIHNlbGVjdGlvbiAocHJpbWFyeSBvcg0KPiA+ID4g PiA+ID4gZmFpbGxiYWNrKSB3b3VsZCBhZmZlY3QgdXMgaGVyZSwgYWN0dWFsIGRlY2lzaW9uIGRv IHdlIHdhbnQgdG8NCj4gPiA+ID4gPiA+IFBST0NFU1Mgb3IgQllQQVNTIHBhcnRpY3VsYXIgRVNQ IHBhY2tldCBuZWVkcyB0byB0YWtlIHBsYWNlIGJlZm9yZQ0KPiA+IHRoYXQuDQo+ID4gPiA+ID4g PiBTbyBJIHN0aWxsIGJlbGlldmUgd2UgYXJlIG9rIGhlcmUuDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBbQW5vb2JdIEkgZG9uJ3QgdGhpbmsgeW91IHVuZGVyc3Rvb2Qgd2hhdCBJJ20gdHJ5aW5nIHRv IGhpZ2hsaWdodA0KPiA+ID4gPiA+IGhlcmUuIFlvdSBjb3VsZCBoYXZlIGEgc2l0dWF0aW9uIHdo ZW4gaC93IGNhbiBkZXRlY3QgdGhhdCB0aGUNCj4gPiA+ID4gPiBwYWNrZXQgaGFzIHRvIGJlICJQ Uk9URUNUImVkIHVzaW5nIGFuICJpbmxpbmUgY3J5cHRvIiBzZXNzaW9uLiBCdXQNCj4gPiA+ID4g PiB0aGVuIGl0IG1pZ2h0IGRldGVjdCB0aGF0IGl0IGNhbm5vdCBwcm9jZWVkIHdpdGggaW5saW5l IHByb2Nlc3NpbmcNCj4gPiA+ID4gPiBiZWNhdXNlIG9mIHNvbWUNCj4gPiA+ID4gaXNzdWUgKGZy YWdtZW50YXRpb24sIGgvdyBxdWV1ZSBvdmVyZmxvdyBldGMpLiBOb3cgdGhlIGgvdyBoYXMNCj4g PiA+ID4gYWxyZWFkeSBmaWd1cmVkIG91dCB0aGUgYWN0aW9uIHRvIGJlIGRvbmUgdG8gdGhlIHBh Y2tldC4gSWYgUE1Ecw0KPiA+ID4gPiBhbGxvdyB0aGlzIHRvIGJlIGNvbW11bmljYXRlZCB0byB0 aGUgYXBwbGljYXRpb24sIHRoZSBhcHBsaWNhdGlvbiB3b24ndCBiZQ0KPiA+IHJlcXVpcmVkIHRv IGRvIHRoZSBsb29rdXAuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJbiBpbmxpbmUgY3J5cHRvLCBh cHBsaWNhdGlvbiBjYW4gaWdub3JlIHRoZSBoL3cgbG9va3VwIGRhdGEgYW5kDQo+ID4gPiA+ID4g ZG8gYSBzL3cgbG9va3VwIHdpdGggdGhlIHByb3RvY29sIGhlYWRlcnMgYXMgdGhleSBhcmUgbm90 IHN0cmlwcGVkDQo+ID4gPiA+ID4gb2ZmLiBJdCB3YXMgZG9uZSB0aGlzIHdheSwgYmVjYXVzZSBB UEkgYW5kIHRoZSBhc3NvY2lhdGVkIG1lYW5zIHRvDQo+ID4gPiA+ID4gZ2V0IHRoaXMgaW5mbyBm cm9tIFBNRCB3YXMgbm90IGludHJvZHVjZWQgd2hlbiBpbmxpbmUgY3J5cHRvIGFuZA0KPiA+ID4g PiA+IGNvcnJlc3BvbmRpbmcNCj4gPiA+ID4gc3VwcG9ydCBpbiBJbnRlbCdzIFBNRCB3YXMgYWRk ZWQuIEJ1dCBpbmxpbmUgcHJvdG9jb2wgY2Fubm90IGRvIHRoZQ0KPiA+ID4gPiBsb29rdXAgaW4g dGhlIGFwcGxpY2F0aW9uIGFuZCBzbyB0aGUgY29uY2VwdCBvZiB1c2VyZGF0YSBldGMgd2FzDQo+ ID4gPiA+IGludHJvZHVjZWQuIFRoZSBzYW1lIGNhbiBiZSBhcHBsaWVkIHRvIGlubGluZSBjcnlw dG8gYWxzby4NCj4gPiA+ID4gQWR2YW50YWdlPyBJdCBjb3VsZCByZW1vdmUgdGhlIGV4dHJhIGxv b2t1cCBkb25lIGluIHMvdy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRvIHN1bW1hcml6ZSwgd2Ug Y2Fubm90IGFzc3VtZSB0aGF0IGV2ZXJ5IGlubGluZSBjcnlwdG8gcGFja2V0DQo+ID4gPiA+ID4g bmVlZCB0byBsb29rZWQgdXAgaW4gdGhlIGFwcGxpY2F0aW9uIHRvIGZpZ3VyZSBvdXQgdGhlIHBy b2Nlc3NpbmcgZG9uZSBvbg0KPiA+IHRoZSBwYWNrZXQuDQo+ID4gPiA+IFRoZXJlIGNhbiBiZSBh cHBsaWNhdGlvbnMgd2hpY2ggcmVsaWVzIG9uIGgvdyBsb29rdXAgZGF0YSB0byBmaWd1cmUNCj4g PiA+ID4gb3V0IHRoZSBwcm9jZXNzaW5nIGRvbmUuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBFeGFt cGxlOiBVc2luZyBydGVfZmxvdywgSSBjYW4gY3JlYXRlIGEgcnVsZSBmb3IgRVNQIHBhY2tldHMg dG8gYmUNCj4gPiA+ID4gPiBNQVJLZWQuIFRoZXJlIGlzIG5vIHNlY3VyaXR5IHNlc3Npb24gY3Jl YXRlZCBmb3IgdGhlIGZsb3cgYW5kIHRoZQ0KPiA+ID4gPiA+IGFwcGxpY2F0aW9uIGludGVuZHMg dG8gZm9yd2FyZCB0aGlzIGZsb3cgcGFja2V0cyB0byBhIGRpZmZlcmVudA0KPiA+ID4gPiA+IHBv cnQuIFdpdGggeW91cg0KPiA+ID4gPiBhcHByb2FjaCwgZXZlbiB0aGVzZSBwYWNrZXRzIHdvdWxk IGJlIGxvb2tlZCB1cC4gVGhlIHBhY2tldCB3aWxsDQo+ID4gPiA+IGhhdmUgaW5mbyBmcm9tIHRo ZSBoL3cgbG9va3VwIHdoaWNoIGRvZXNuJ3QgZ2V0IHVzZWQsIGJlY2F1c2UgdGhlDQo+ID4gPiA+ IGFwcHJvYWNoIGZhaWxzIHRvIGludHJvZHVjZSB0aGUgcmVxdWlyZWQgY29uY2VwdHMuDQo+ID4g PiA+DQo+ID4gPiA+IEkgdGhpbmsgSSB1bmRlcnN0b29kIHlvdXIgcG9pbnQuDQo+ID4gPiA+IEJh c2ljYWxseSB5b3Ugc2F5aW5nIHRoYXQgaW4gZnV0dXJlIHlvdXIgUE1EIGZvciB1bnByb2Nlc3Nl ZCBFU1ANCj4gPiA+ID4gcGFja2V0cyBtaWdodCBwcm92aWRlIHNvbWUgYWRkaXRpb25hbCBpbmZv cm1hdGlvbiAodmlhDQo+ID4gPiA+IHJ0ZV9zZWN1cml0eV9nZXRfdXNlcmRhdGEpIHRoYXQgbWln aHQgYmUgdXNlZCBieSBTVyAtIGxldCBzYXkgdG8gY2hvb3NlDQo+ID4gQllQQVNTIGZvciBzdWNo IHBhY2tldHMuDQo+ID4gPiA+IEN1cnJlbnQgaXBzZWMtc2VjZ3cgZG9lc24ndCBzdXBwb3J0IHN1 Y2ggYWJpbGl0eS4NCj4gPiA+ID4gWW91ciBjb25jZXJuIGlzIHRoYXQgdGhpcyBwYXRjaCB3aWxs IHNvbWVob3cgcHJldmVudCAob3Igd2lsbCBtYWtlDQo+ID4gPiA+IGl0IGhhcmRlcikgZm9yIHlv dSB0byBtYWtlIHlvdXIgZnV0dXJlIGNoYW5nZXMuDQo+ID4gPiA+IENvcnJlY3Q/DQo+ID4gPiA+ IElmLCBzbyB0aGVuIEkgc2FpZCBiZWZvcmUsIEkgZG9uJ3QgdGhpbmsgdGhhdCBjb25jZXJuIGlz IHZhbGlkLg0KPiA+ID4gPiBNb3N0IG9idmlvdXMgdmFyaWFudCB3aGVyZSB0byBhZGQgc3VjaCBj b2RlIGlzIGluaXNkZSBpbnNpZGUNCj4gPiA+ID4gcHJlcGFyZV9vbmVfcGFja2V0KCkgd2hlbiB3 ZSBzcGxpdCBvdXIgaW5jb21pbmcgdHJhZmZpYyB0byBJUHNlYyBhbmQNCj4gPiA+ID4gbm9uLUlQ c2VjIG9uZXMuDQo+ID4gPiA+IFRvIGJlIG1vcmUgc3BlY2lmaWMgc29tZXRoaW5nIGxpa2UgdGhh dA0KPiA+ID4gPg0KPiA+ID4gPiBpZiAoZXRoLT5ldGhlcl90eXBlID09IHJ0ZV9jcHVfdG9fYmVf MTYoUlRFX0VUSEVSX1RZUEVfSVBWNCkpIHsNCj4gPiA+ID4NCj4gPiA+ID4gICAgICAgICAgICAg ICAgIGlwaDQgPSAoY29uc3Qgc3RydWN0IHJ0ZV9pcHY0X2hkciAqKXJ0ZV9wa3RtYnVmX2Fkaihw a3QsDQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9FVEhFUl9IRFJfTEVOKTsN Cj4gPiA+ID4gICAgICAgICAgICAgICAgIGFkanVzdF9pcHY0X3BrdGxlbihwa3QsIGlwaDQsIDAp Ow0KPiA+ID4gPg0KPiA+ID4gPiAtICAgICAgICAgICAgICAgIGlmIChpcGg0LT5uZXh0X3Byb3Rv X2lkID09IElQUFJPVE9fRVNQKQ0KPiA+ID4gPiArICAgICAgICAgICAgICAgIGlmIChpcGg0LT5u ZXh0X3Byb3RvX2lkID09IElQUFJPVE9fRVNQKSB7DQo+ID4gPiA+ICsJCWlmIChwa3QtPm9sX2Zs YWdzICYgUEtUX1JYX1NFQ19PRkZMT0FEKSB7DQo+ID4gPiA+ICsJCQkvKiBleHRyYWN0IGV4dHJh IGluZm8sIG1ha2UgZGVjaXNpb24gYmFzZWQgb24gdGhhdCAqLw0KPiA+ID4gPiArCQl9IGVsc2UN Cj4gPiA+ID4gCQkJdC0+aXBzZWMucGt0c1sodC0+aXBzZWMubnVtKSsrXSA9IHBrdDsNCj4gPiA+ ID4gKwkgICB9DQo+ID4gPiA+DQo+ID4gPiA+IE9mIGNvdXJzZSBzb21lIGNvZGUgcmVvcmRlcmlu ZyBtaWdodCBiZSBuZWVkZWQgdG8gYXZvaWQgcGVyZm9ybWFuY2UNCj4gPiA+ID4gZHJvcCwgYnV0 IEkgc3VwcG9zZSB0aGUgbWFpbiBpZGVhIGlzIGNsZWFyIGVub3VnaC4NCj4gPiA+ID4gIFNlY29u ZCB2YXJpYW50IC0gYXQgZWFybHkgc3RhZ2Ugb2Ygc2luZ2xlX2luYm91bmRfbG9va3VwKCksIGVp dGhlcg0KPiA+ID4gPiBiZWZvcmUgb3Igc3RyYWlnaHQgYWZ0ZXIgYWN0dWFsIFNBRCBTVyBsb29r dXAgZmFpbHVyZS4NCj4gPiA+ID4gSW4gYm90aCBjYXNlcywgdGhpcyBuZXcgY29kZSB3aWxsIGJl IGV4ZWN1dGVkICpiZWZvcmUqIHNlc3Npb24gc2VsZWN0aW9uDQo+ID4gY29kZS4NCj4gPiA+ID4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IERvZXMgdGhlIGFib3ZlIHNvdW5kIGxpa2UgQllQQVNTPyBZ ZXMuDQo+ID4gPiA+ID4gRG9lcyBpcHNlYy1zZWNndyBkbyBpdCB0aGlzIHdheT8gTm8uDQo+ID4g PiA+DQo+ID4gPiA+IENvcnJlY3QsIGl0IGRvZXNuJ3QuDQo+ID4gPiA+IFlvdSBoYXZlIHRvIHN1 Ym1pdCBwYXRjaGVzIGlmIHlvdSdkIGxpa2UgdG8gc3VwcG9ydCBzdWNoIGFiaWxpdHkuDQo+ID4g PiA+DQo+ID4gPiA+ID4gRG9lcyB0aGlzIGFwcHJvYWNoIHByZXZlbnQgYW4gYXBwbGljYXRpb24g ZnJvbSBpbnRyb2R1Y2luZyBzdWNoIGENCj4gPiBCWVBBU1M/DQo+ID4gPiA+IFllcy4NCj4gPiA+ ID4NCj4gPiA+ID4gVGhhdCdzIG5vdCBjb3JyZWN0LCBJIGJlbGlldmUsIHNlZSBhYm92ZS4NCj4g PiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gRm9yIGV4YW1wbGUsIEVTTiB3YXMgbm90IHN1cHBvcnRlZCBieSBpcHNlYy1zZWNndyAoYmVm b3JlDQo+ID4gPiA+ID4gPiA+IGxpYnJhcnkgbW9kZSB3YXMgaW50cm9kdWNlZCksIGJ1dCBldmVy eSBzaW5nbGUgbGlicmFyeSBjaGFuZ2UNCj4gPiA+ID4gPiA+ID4gYW5kIGFwcGxpY2F0aW9uIGNo YW5nZSB3YXMgYWRkZWQga2VlcGluZyBpbiBtaW5kIHRoYXQgRVNOIGlzIGENCj4gPiA+ID4gPiA+ ID4gdmFsaWQgZmVhdHVyZSBmb3IgaXBzZWMuIFNvIGl0IGlzDQo+ID4gPiA+ID4gPiBvbmUgdGhp bmcgdG8gc2F5IGlwc2VjLXNlY2d3IGRvZXNuJ3Qgc3VwcG9ydCBFU1AgYnlwYXNzIGFuZA0KPiA+ ID4gPiA+ID4gc2F5aW5nIHRoZSBzb2x1dGlvbiBkb2Vzbid0IGNvbnNpZGVyIGEgcG9zc2liaWxp dHkgb2YgRVNQIGJ5cGFzcy4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IDIuIFRoZSBzb2x1dGlvbiBwcm9wb3NlZCBo ZXJlIHNlZW1zIGxpa2UgYWRkaW5nIHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gaGFuZGxpbmcgaW4g aXBzZWMtc2VjZ3cgaW5zdGVhZCBvZiBpcHNlYyBsaWJyYXJ5LiBJbiBvdGhlcg0KPiA+ID4gPiA+ ID4gPiA+ID4gd29yZHMsIHRoaXMgZmVhdHVyZSBpcyBub3QgZ2V0dGluZw0KPiA+ID4gPiA+ID4g PiA+IGFkZGVkIGluIGlwc2VjIGxpYnJhcnksIHdoaWNoIHdhcyBzdXBwb3NlZCB0byBzaW1wbGlm eSB0aGUNCj4gPiA+ID4gPiA+ID4gPiB3aG9sZSBpcHNlYyB1c2FnZSBpbiBEUERLLCBidXQgZmFp bHMgdG8gaGFuZGxlIHRoZSBjYXNlIG9mDQo+ID4gZnJhZ21lbnRhdGlvbi4NCj4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFdoYXQgd2UgaGF2ZSByaWdodCBub3cgd2l0aCBpcHNlYyBs aWJyYXJ5IGlzIFNBIChsb3cpIGxldmVsIEFQSS4NCj4gPiA+ID4gPiA+ID4gPiBJdCBjYW4gaGFu ZGxlIG11bHRpLXNlZ21lbnQgcGFja2V0cyBwcm9wZXJseSwgYnV0IGV4cGVjdHMNCj4gPiA+ID4g PiA+ID4gPiBzb21lb25lIGVsc2UgdG8gZG8gb3RoZXIgc3RlcHMgKGZyYWdtZW50YXRpb24vcmVh c3NlbWJseSkuDQo+ID4gPiA+ID4gPiA+ID4gaXBzZWMtc2VjZ3cgZGVtb25zdHJhdGVzIGhvdyBs aWJydGVfaXBfZnJhZyBhbmQgbGlicnRlX2lwc2VjDQo+ID4gPiA+ID4gPiA+ID4gY2FuIGJlIHVz ZWQgdG9nZXRoZXIgdG8gZGVhbCB3aXRoIGZyYWdtZW50ZWQgSVBzZWMgdHJhZmZpYw0KPiA+ID4g PiA+ID4gPiA+IGluIGEgcHJvcGVyDQo+ID4gPiA+IG1hbm5lci4NCj4gPiA+ID4gPiA+ID4gPiBQ cm9iYWJseSBpbiBmdXR1cmUgd2UnbGwgY29uc2lkZXIgYWRkaW5nIHNvbWUgaGlnaC1sZXZlbCBB UEkNCj4gPiA+ID4gPiA+ID4gPiB0aGF0IHdpbGwgYmUgYWJsZSB0byBkbyB3aG9sZSBwcm9jZXNz aW5nIHVuZGVyIGhvb2QgKFNQRC9TQUQNCj4gPiA+ID4gPiA+ID4gPiBsb29rdXAsIGZyYWdtZW50 L3JlYXNzZW1ibHksIGFjdHVhbCBJUHNlYyBwYWNrZXQgcHJvY2Vzc2luZywNCj4gPiA+ID4gPiA+ ID4gPiBtYXRjaGluZyBpbmJvdW5kIHNlbGVjdG9ycywgZXRjLiksIGJ1dCByaWdodCBub3cgaXQg aXMgbm90IHRoZSBjYXNlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBBbHNv LCBzaW5jZSB0aGUgZmFsbGJhY2sgZmVhdHVyZSBpcyBlbnRpcmVseSBkb25lIGluIHRoZQ0KPiA+ ID4gPiA+ID4gPiA+ID4gYXBwbGljYXRpb24sIGl0IGJlZ3MgdGhlDQo+ID4gPiA+ID4gPiA+ID4g cXVlc3Rpb24gd2h5IHRoZSBzYW1lIGZlYXR1cmUgaXMgb21pdHRlZCBmb3IgbGVnYWN5IHVzZSBj YXNlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gQmVjYXVzZSBsZWdhY3kgbW9k ZSBkb2Vzbid0IHN1cHBvcnQgbXVsdGktc2VnIHBhY2tldHMgYXQgZmlyc3QgcGxhY2UuDQo+ID4g PiA+ID4gPiA+ID4gQWxzbyBpdCBpcyBhbiBleHRyYSBvdmVyaGVhZCB0byBzdXBwb3J0IDIgY29k ZS1wYXRocyAobGVnYWN5DQo+ID4gPiA+ID4gPiA+ID4gYW5kDQo+ID4gPiA+ID4gPiA+ID4gbGli cmFyeSkgZm9yIHRoZSBzYW1lIGFwcCwgc28gd2UnZCBsaWtlIGluIGZ1dHVyZSB0bw0KPiA+ID4g PiA+ID4gPiA+IGRlcHJlY2F0ZSBhbmQgbGF0ZXIgcmVtb3ZlIGxlZ2FjeSBjb2RlLSBwYXRoLg0K PiA+ID4gPiA+ID4gPiA+IEFzIGEgZmlyc3Qgc3RlcCB3ZSBwcm9wb3NlIHRvIG1ha2UgbGlicmFy eSBjb2RlLXBhdGggYSBkZWZhdWx0IG9uZToNCj4gPiA+ID4gPiA+ID4gPiBodHRwczovL3VybGRl ZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fcGF0Y2hlcy4NCj4gPiA+ID4g PiA+ID4gPiBkcGRrDQo+ID4gPiA+ID4gPiA+ID4gLm9yZw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPg0KPiA+ID4gPg0KPiA+IF9jb3Zlcl81ODI0N18mZD1Ed0lGQWcmYz1uS2pXZWMyYjZS MG1PeVBhejd4dGZRJnI9alBmQjhyd3d2aVJTeHlMDQo+ID4gPiA+ID4gPiBXczINCj4gPiA+ID4g PiA+ID4gPiBuNkItV1lMbjF2OVN5VE1yVDVFUXFoMlRVJm09YjNFNDI5ZnVvOFAtSzVYZkg4d0ct DQo+ID4gPiA+ID4gPiA3aHdyMWQ4b000dUpHRXJBa2JmDQo+ID4gPiA+ID4gPiA+ID4gRHZBJnM9 dno3aW9VekpPdXpvSmRtVjdRTzBRTFBLWW4xeXRGc2pfMGVZYXRiU0NyZyZlPQ0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiBbQW5vb2JdIEV2ZW4gaWYgd2UgbmVlZCB0aGUgYXBwbGljYXRp b24gdG8gZG8gdGhlIHJlYXNzZW1ibHksDQo+ID4gPiA+ID4gPiA+IGl0IHdvdWxkIGxvb2sgc2lt cGxlIGlmIGFwcGxpY2F0aW9uIHVzZXMgdGhlIHNhbWUgInJ0ZV9pcHNlY19zZXNzaW9uIg0KPiA+ ID4gPiA+ID4gPiB0byBwcm9jZXNzIHRoZQ0KPiA+ID4gPiA+ID4gZmFsbGJhY2sgcGFja2V0Lg0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEkgdGhpbmsgdGhlcmUgaXMgc29tZSBzb3J0IG9mIG1p c3VuZGVyc3RhbmRpbmcgaGVyZS4NCj4gPiA+ID4gPiA+IFdpdGggY3VycmVudCBsaWJydGVfaXBz ZWMgZGVzaWduOg0KPiA+ID4gPiA+ID4gcnRlX2lwc2VjX3NhIC0gb3BhcXVlIFNXIHJlcHJlc2Vu dGF0aW9uIG9mIHRoZSBTQSAoSFcgbmV1dHJhbCkNCj4gPiA+ID4gPiA+IHJ0ZV9pcHNlY19zZXNz aW9uIGFzc29jaWF0ZXMgU0EgKHJ0ZV9pcHNlY19zYSl3aXRoIHBhcnRpY3VsYXIgSFcNCj4gPiA+ ID4gPiA+IGRldmljZSAoc2Vzc2lvbikuDQo+ID4gPiA+ID4gPiBTYW1lIFNBIGNhbiBiZSByZWZl cnJlZCBieSBtdWx0aXBsZSBzZXNzaW9ucy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBGcm9t IHJ0ZV9pcHNlYy5oOg0KPiA+ID4gPiA+ID4gLyoqDQo+ID4gPiA+ID4gPiAgKiBydGVfaXBzZWNf c2Vzc2lvbiBpcyBhbiBhZ2dyZWdhdGUgc3RydWN0dXJlIHRoYXQgZGVmaW5lcw0KPiA+ID4gPiA+ ID4gcGFydGljdWxhcg0KPiA+ID4gPiA+ID4gICogSVBzZWMgU2VjdXJpdHkgQXNzb2NpYXRpb24g SVBzZWMgKFNBKSBvbiBnaXZlbiBzZWN1cml0eS9jcnlwdG8gZGV2aWNlOg0KPiA+ID4gPiA+ID4g ICogLSBwb2ludGVyIHRvIHRoZSBTQSBvYmplY3QNCj4gPiA+ID4gPiA+ICAqIC0gc2VjdXJpdHkg c2Vzc2lvbiBhY3Rpb24gdHlwZQ0KPiA+ID4gPiA+ID4gICogLSBwb2ludGVyIHRvIHNlY3VyaXR5 L2NyeXB0byBzZXNzaW9uLCBwbHVzIG90aGVyIHJlbGF0ZWQgZGF0YQ0KPiA+ID4gPiA+ID4gICog LSBzZXNzaW9uL2RldmljZSBzcGVjaWZpYyBmdW5jdGlvbnMgdG8gcHJlcGFyZS9wcm9jZXNzIElQ c2VjIHBhY2tldHMuDQo+ID4gPiA+ID4gPiAgKi8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IEluIHRoYXQgY2FzZSwgdGhlIHByb2Nlc3NpbmcgcmVxdWlyZWQgdG8gaGFuZGxlIHRoZSBvdGhl cg0KPiA+ID4gPiA+ID4gPiBwYWNrZXQgd2lsbCBiZSBoaWRkZW4gZnJvbSB0aGUgYXBwbGljYXRp b24uIEhlcmUgYXBwbGljYXRpb24NCj4gPiA+ID4gPiA+ID4gaGFzIHRvIG1ha2Ugc3VyZSBpdCBj aG9vc2VzDQo+ID4gPiA+ID4gPiB0aGUgY29ycmVjdCBzZXNzaW9uLCB3aGljaCBJIGJlbGlldmUg c2hvdWxkIGJlIG1vdmVkIHRvIGlwc2VjIGxpYnJhcnkuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gRnJvbSBteSBzaWRlIGl0IGlzIGEgZ29vZCB0aGluZyB0byBsZXQgYXBwbGljYXRpb24gZGVm aW5lIGl0cyBvd24gdXNhZ2UNCj4gPiBtb2RlbC4NCj4gPiA+ID4gPiA+IEkuRS4gbGlicnRlX2lw c2VjIHN1cHBvcnRzIG11bHRpcGxlLXNlc3Npb25zIHBlciBTQSwgdXBwZXItbGF5ZXINCj4gPiA+ ID4gPiA+IChhcHApIGRlY2lkZXMgaG93IGl0IHdpbGwgdXNlIHRoYXQgZmVhdHVyZS4NCj4gPiA+ ID4gPiA+IFRob3VnaCBpZiB5b3Ugc3Ryb25nbHkgZmVlbCB0aGF0IHNvbWUgaGlnaGVyLWxldmVs IEFQSSBpcyBuZWVkZWQNCj4gPiA+ID4gPiA+IGhlcmUsIGFuZCBoYXZlIHNvbWUgZ29vZCBpZGVh cyBhYm91dCBpdCAgLSBwbGVhc2UgZ28gYWhlYWQgYW5kDQo+ID4gPiA+ID4gPiBzdWJtaXQgUkZD DQo+ID4gPiA+IGZvciBpdC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFtBbm9vYl0gSWYgeW91IGFy ZSBva2F5IHdpdGggYXBwbGljYXRpb24gZGVmaW5pbmcgaG93IGl0DQo+ID4gPiA+ID4gaW1wbGVt ZW50cyBpcHNlYywNCj4gPiA+ID4gdGhlbiBwcm9iYWJseSB0aGVyZSBpcyBubyB1c2UgY2FzZSBm b3IgbGliIGlwc2VjPw0KPiA+ID4gPg0KPiA+ID4gPiA6KQ0KPiA+ID4gPiBPbmNlIGFnYWluIC0g bGlicmFyeSBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbi4NCj4gPiA+ID4gQXBwbGljYXRpb24g ZGVmaW5lcyB0aGUgd2F5IHRvIHVzZSBpdCwgaS5lLiBob3cgaXQgd2lsbCBhcHBseQ0KPiA+ID4g PiBmdW5jdGlvbmFsaXR5IGxpYnJhcnkgcHJvdmlkZXMgZm9yIGRpZmZlcmVudCB1c2UtY2FzZSBz Y2VuYXJpb3MuDQo+ID4gPiA+IEFzIGFuIGV4YW1wbGU6IHNucHJpdG5mKCkgcHJvdmlkZXMgdXNl ciB3aXRoIGFiaWxpdHkgdG8gZm9ybWF0DQo+ID4gPiA+IHN0cmluZ3MsIGFwcGxpY2F0aW9uIGRl Y2lkZXMgd2hhdCBleGFjdGx5IGZvcm1hdCB0byB1c2UgYW5kIGZvciB3aGljaCBzdHJpbmcuDQo+ ID4gPiA+IFNhbWUgZm9yIGxpYnJ0ZV9pcHNlYywgbGlicmFyeSBwcm92aWRlcyBmdW5jdGlvbmFs aXR5IHRvIHBlcmZvcm0NCj4gPiA+ID4gcHJvY2Vzc2luZyBmb3IgRVNQIHBhY2tldHMuDQo+ID4g PiA+IEFwcGxpY2F0aW9uIGRlZmluZXMgd2hpY2ggcGFja2V0cyB0byBwcm9jZXNzIGFuZCB3aGF0 IHNlc3Npb24gdG8gdXNlLg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gMy4gSXQgc2VlbXMgbGlrZSBvcmRlcmluZyB3b24ndCBiZSBtYWludGFpbmVkIG9uY2Ug dGhpcw0KPiA+ID4gPiA+ID4gPiA+ID4gcHJvY2Vzc2luZyBpcyBkb25lLiBBZ2FpbiwgdGhpcyBp cyB0aGUgc2VxdWVuY2UgSSB1bmRlcnN0b29kLg0KPiA+ID4gPiA+ID4gPiA+ID4gUGxlYXNlIGNv cnJlY3QgbWUgaWYgSSBtaXNzZWQNCj4gPiA+ID4gPiA+ID4gPiBzb21ldGhpbmcsDQo+ID4gPiA+ ID4gPiA+ID4gPiAgICAgICAgYS4gQXBwbGljYXRpb24gcmVjZWl2ZXMgYSBidW5jaCBvZiBwYWNr ZXRzIChsZXQncw0KPiA+ID4gPiA+ID4gPiA+ID4gc2F5IDYgcGFja2V0cyksIGluIHdoaWNoIGZl dyBhcmUgZnJhZ21lbnRlZCAoUDMgJiBQNCkgYW5kDQo+ID4gPiA+ID4gPiA+ID4gPiB0aGUgcmVz dCBjYW4gYmUgaW5saW5lDQo+ID4gPiA+ID4gPiA+ID4gcHJvY2Vzc2VkLg0KPiA+ID4gPiA+ID4g PiA+ID4gICAgICAgIGIuIEFwcGxpY2F0aW9uIHJlY2VpdmVzIFAxLT5QMi0+UDMtPlA0LT5QNS0+ UDYgKGluDQo+ID4gPiA+ID4gPiA+ID4gPiB0aGlzLCBQMSwgUDIsIFA1LCBQNiBhcmUNCj4gPiA+ ID4gPiA+ID4gPiBpbmxpbmUgcHJvY2Vzc2VkIHN1Y2Nlc3NmdWxseSkgYW5kIFA0ICYgUDUgYXJl IHRoZSBmcmFnbWVudHMNCj4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICBjLiBBcHBsaWNhdGlvbiBn cm91cHMgcGFja2V0cy4gUDEtPlAyLT5QNS0+UDYNCj4gPiA+ID4gPiA+ID4gPiA+YmVjb21lcyBv bmUgZ3JvdXAgYW5kIFAzLQ0KPiA+ID4gPiA+ID4gPiA+ID5QNCBiZWNvbWVzIGFub3RoZXIgYW5k IGdvZXMgZm9yIGZhbGxiYWNrIHByb2Nlc3NpbmcuDQo+ID4gPiA+ID4gPiA+ID4gPiBOb3cgaG93 IGlzIG9yZGVyaW5nIG1haW50YWluZWQ/IEkgY291bGRuJ3QgZmlndXJlIG91dCBob3cNCj4gPiA+ ID4gPiA+ID4gPiA+dGhhdCBpcyBkb25lIGluIHRoaXMNCj4gPiA+ID4gPiA+ID4gPiBjYXNlLg0K PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gWW91IHJpZ2h0LCBmYWxsYmFjayBzZXNz aW9uIGNhbiBpbnRyb2R1Y2UgcGFja2V0IHJlb3JkZXJpbmcuDQo+ID4gPiA+ID4gPiA+ID4gQXQg bGVhc3QgdGlsbCB3ZSdsbCBoYXZlIGFiaWxpdHkgdG8gcHJvY2VzcyBwYWNrZXRzIGluIHN5bmMg bW9kZSB0b28uDQo+ID4gPiA+ID4gPiA+ID4gU2VlIG91ciBwcmVzZW50YXRpb24gYXQgZHBkayB1 c2Vyc3BhY2UgKHNsaWRlcyAxNywgMTgpOg0KPiA+ID4gPiA+ID4gPiA+IGh0dHBzOi8vdXJsZGVm ZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fc3RhdGljLg0KPiA+ID4gPiA+ ID4gPiA+IHNjaGUNCj4gPiA+ID4gPiA+ID4gPiBkLmNvDQo+ID4gPiA+ID4gPiA+ID4gbV9ob3N0 ZWQtNUZmaWxlc19kcGRrYm9yZGVhdXgyMDE5XzhmX0RQREstDQo+ID4gPiA+ID4gPiAyRElQU0VD dTkucGRmJmQ9RHdJRkFnJmM9bg0KPiA+ID4gPiA+ID4gPiA+IEtqV2VjMmI2UjBtT3lQYXo3eHRm USZyPWpQZkI4cnd3dmlSU3h5TFdzMm42Qi0NCj4gPiA+ID4gPiA+IFdZTG4xdjlTeVRNclQ1RVFx aDJUVSYNCj4gPiA+ID4gPiA+ID4gPiBtPWIzRTQyOWZ1bzhQLUs1WGZIOHdHLQ0KPiA+ID4gPiA+ ID4gN2h3cjFkOG9NNHVKR0VyQWtiZkR2QSZzPU1MUm5uWWN5a2puc3FYckhHVXVSDQo+ID4gPiA+ ID4gPiA+ID4gWUhjNXVEeGFBb2QwWWw3ZjA2RVFyMU0mZT0gUmlnaHQgbm93IHRoZSBvbmx5IHdh eSB0byBkZWFsDQo+ID4gPiA+ID4gPiA+ID4gd2l0aCBpdCAtIGhhdmUgcmVwbGF5IHdpbmRvdyBi aWcgZW5vdWdoIHRvIHN1c3RhaW4NCj4gPiA+ID4gPiA+ID4gPiByZW9yZGVyaW5nIGFuZCBhc3lu YyBwcm9jZXNzaW5nIGxhdGVuY3kuDQo+ID4gPiA+ID4gPiA+ID4gVGhhdCdzIGFjdHVhbGx5IGFu b3RoZXIgcmVhc29uIHdoeSB3ZSBhZGQgdGhpcyBmZWF0dXJlIGludG8NCj4gPiA+ID4gPiA+ID4g PiBpcHNlYy1zZWNndyBzYW1wbGUNCj4gPiA+ID4gPiA+ID4gPiBhcHA6DQo+ID4gPiA+ID4gPiA+ ID4gc28gcGVvcGxlIGNhbiBldmFsdWF0ZSBpdCBvbiB0aGVpciBwbGF0Zm9ybXMsIGRldGVybWlu ZSB3aGF0DQo+ID4gPiA+ID4gPiA+ID4gcmVwbGF5IHdpbmRvdyBzaXplIHdvdWxkIGJlIG5lZWRl ZCwgd2hhdCBpc3N1ZXMvc2xvd2Rvd25zIGl0DQo+ID4gPiA+ID4gPiA+ID4gbWlnaHQNCj4gPiA+ ID4gY2F1c2UsIGV0Yy4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gW0Fub29iXSBUaGlz IGlzIHNvbWV0aGluZyBJIGhhZCBub3RpY2VkIHdoaWxlIGdvaW5nIHRocm91Z2ggdGhlIGNvZGUN Cj4gPiBmbG93Lg0KPiA+ID4gPiA+ID4gVGhlIG9yZGVyaW5nIGluZm8gaXMgbG9zdCBiZWNhdXNl IG9mIHRoZSBhcHByb2FjaC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbmNlIGFnYWluLCBp dCBpcyBhIGtub3duIGxpbWl0YXRpb24gYW5kIHdlIGFyZSBub3QgdHJ5aW5nIHRvDQo+ID4gPiA+ ID4gPiBoaWRlIGl0IGZyb20geW91IDopDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBbQW5vb2JdIE5l dmVyIHNhaWQgaXQgd2FzIGhpZGRlbi4gSW5pdGlhbGx5IEkgaGFkIG9rYXllZCB0aGUNCj4gPiA+ ID4gPiBhcHByb2FjaCBldmVuIHRob3VnaCBpdCB3YXNuJ3QgYSBzb2x1dGlvbiBzdWl0YWJsZSBm b3IgaW5saW5lDQo+ID4gPiA+ID4gcHJvdG9jb2wuIEJ1dCBhcyBtb3JlIGNhc2VzDQo+ID4gPiA+ IHdlcmUgY29uc2lkZXJlZCwgZmV3IHNob3J0Y29taW5ncyB3ZXJlIG9ic2VydmVkLCBhbmQgSSB3 YXMgc2tlcHRpY2FsDQo+ID4gPiA+IGFib3V0IGhvdyBhbnkgb2YgdGhhdCB3b3VsZCBiZSBzb2x2 ZWQgaW4gdGhlIGxvbmcgcnVuLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTXkgc3VnZ2VzdGlvbiwg aWYgdGhlc2UgbGltaXRhdGlvbnMgYW5kIHRoZSBwbGFucyB0byBhZGRyZXNzIGl0DQo+ID4gPiA+ ID4gd2VyZSBtZW50aW9uZWQNCj4gPiA+ID4gaW4gdGhlIGNvdmVyIGxldHRlciwgd2UgY291bGQn dmUgc2F2ZWQgZmV3IGN5Y2xlcyBoZXJlLg0KPiA+ID4gPg0KPiA+ID4gPiBQb2ludCB0YWtlbi4N Cj4gPiA+ID4NCj4gPiA+ID4gPiBCdXQgbXkgcmVwbHkgd291bGQgc3RpbGwgYmUgdGhlIHNhbWUg 8J+Yig0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJdA0KPiA+ID4gPiA+ID4gd2FzIG91dGxpbmVk IGhlcmU6DQo+ID4gPiA+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIv dXJsP3U9aHR0cHMtDQo+ID4gPiA+ID4gPiAzQV9fc3RhdGljLnNjaGVkLmNvbV9ob3N0ZWQtNUZm aWxlc19kcGRrYm9yZGVhdXgyMDE5XzhmX0RQREstDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+ IDJESVBTRUN1OS5wZGYmZD1Ed0lGQWcmYz1uS2pXZWMyYjZSMG1PeVBhejd4dGZRJnI9alBmQjhy d3d2aVJTeHlMDQo+ID4gPiA+ID4gPiBXczJuNkItV1lMbjF2OVN5VE1yVDVFUXFoMlRVJm09YjNF NDI5ZnVvOFAtSzVYZkg4d0ctDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IDdod3IxZDhvTTR1 SkdFckFrYmZEdkEmcz1NTFJublljeWtqbnNxWHJIR1V1UllIYzV1RHhhQW9kMFlsN2YwNkUNCj4g PiA+ID4gPiA+IFFyMU0mZT0NCj4gPiA+ID4gPiA+IEFuZCBpbiB0aGUgbGF0ZXN0IHBhdGNoIHZl cnNpb24gTWFyY2luIGNsZWFybHkgc3RhdGVkIGl0IGluc2lkZSB0aGUgQUcNCj4gPiBzZXNzaW9u Og0KPiA+ID4gPiA+ID4gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91 PWh0dHAtDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IDNBX19wYXRjaGVzLmRwZGsub3JnX3Bh dGNoXzYwMDM5XyZkPUR3SUZBZyZjPW5LaldlYzJiNlIwbU95UGF6N3h0Zg0KPiA+ID4gPiA+ID4g USZyPWpQZkI4cnd3dmlSU3h5TFdzMm42Qi0NCj4gPiA+ID4gV1lMbjF2OVN5VE1yVDVFUXFoMlRV Jm09YjNFNDI5ZnVvOFAtDQo+ID4gPiA+ID4gPiBLNVhmSDh3Ry0NCj4gPiA+ID4gPiA+DQo+ID4g PiA+DQo+ID4gN2h3cjFkOG9NNHVKR0VyQWtiZkR2QSZzPXpybjkxVmpmX1pFbEFsRGY3SWVaR21H ZXZjQTZSTXdwUFRMVUNHbGdaDQo+ID4gPiA+ID4gPiBjWSZlPQ0KPiA+ID4gPiA+ID4gSWYgeW91 IHRoaW5rIGV2ZW4gZnVydGhlciBjbGFyaWZpY2F0aW9uIHdpdGhpbiB0aGUgZG9jIGlzDQo+ID4g PiA+ID4gPiBuZWVkZWQsIHBsZWFzZSBsZXQgdXMga25vdy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBBYm91dCB0aGUgYWN0dWFsIHBhY2tldCByZS1vcmlkZXJpbmc6DQo+ID4gPiA+ID4gPiAg QUZBSUssIGZvciBzb21lIHVzZS1jYXNlcyBpdCBtaWdodCBiZSBhY2NlcHRhYmxlLCBmb3Igb3Ro ZXJzIG5vdC4NCj4gPiA+ID4gPiA+IFRob3VnaCBpdCBpcyBhbiBvcHRpb25hbCBmZWF0dXJlLCB0 aGF0IHdvdWxkbid0IGJlIGVuYWJsZWQgYnkNCj4gPiA+ID4gPiA+IGRlZmF1bHQsIHNvIHVzZXIg Y2FuIGFsd2F5cyBjaG9vc2UgaXMgaXQgZG9lcyBoZSBuZWVkcy93YW50cw0KPiA+ID4gPiA+ID4g dGhpcyBmZWF0dXJlIG9yDQo+ID4gPiA+IG5vdC4NCj4gPiA+ID4gPiA+IElmL3doZW4gd2UnbGwg aGF2ZSBDUFVfQ1JZUFRPIHByb2Nlc3NpbmcgbW9kZToNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFtB bm9vYl0gU2hvdWxkbid0IHdlIGdldCB0aGF0IGFjY2VwdGVkIGZpcnN0IHRoZW4/DQo+ID4gPiA+ DQo+ID4gPiA+IEkgZG9uJ3QgdGhpbmsgc28uDQo+ID4gPiA+IEN1cnJlbnQgaW1wbGVtZW50YXRp b24gZG9lcyBwcm92aWRlIGV4cGVjdGVkIGZ1bmN0aW9uYWxpdHkgKHdpdGgNCj4gPiA+ID4ga25v d24gbGltaXRhdGlvbnMpLg0KPiA+ID4gPiBJbiBmdXR1cmUsIHdlIGNhbiB0cnkgdG8gaW1wcm92 ZSBpdCBhbmQvb3IgcmVtb3ZlIGV4aXN0aW5nIGxpbWl0YXRpb25zLg0KPiA+ID4gPiBUaGF0J3Mg YSBjb21tb24gaXRlcmF0aW9uIGRldmVsb3BtZW50IGFwcHJvYWNoIHRoYXQgaXMgdXNlZCB0aG91 Z2gNCj4gPiA+ID4gd2hvbGUNCj4gPiA+ID4gRFBESzoNCj4gPiA+ID4gLSBwcm92aWRlIGluaXRp YWwgc29sdXRpb24gd2l0aCBiYXNpYyBmdW5jdGlvbmFsaXR5IGZpcnN0DQo+ID4gPiA+IC0gaW1w cm92ZS9leHRlbmQgd2l0aCBmdXR1cmUgcmVsZWFzZXMvcGF0Y2hlcw0KPiA+ID4gPg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gQWxzbywgdGhlIG9yZGVyaW5nIGlzIGxvc3QgYmVjYXVzZSBhcHBsaWNh dGlvbiBpcyBub3QgY29uc2lkZXJpbmcNCj4gPiA+ID4gPiB0aGF0LiBXaHkgY2FuJ3QNCj4gPiA+ ID4gd2UgdXNlIHJlLW9yZGVyaW5nIGxpYnJhcnk/IE9yIGFuIGV2ZW50LWRldj8NCj4gPiA+ID4N Cj4gPiA+ID4gTm8tb25lIHNheWluZyBpdCBjYW4ndCBiZSBpbXByb3ZlZCBpbiBvbmUgd2F5IG9y IGFub3RoZXIuDQo+ID4gPiA+IFdlIGRvbid0IHBsYW4gdG8gaW50cm9kdWNlIHN1Y2ggY29kZSBy aWdodCBub3cgZHVlIHRvIGl0cyBjb21wbGV4aXR5Lg0KPiA+ID4gPiBNaWdodCBiZSBzb21ldGhp bmcgaW4gZnV0dXJlLg0KPiA+ID4gPiBUaG91Z2ggeW91IGFyZSB3ZWxjb21lIHRvIGdvIGFoZWFk IGFuZCBzdWJtaXQgeW91ciBvd24gcGF0Y2hlcyB0bw0KPiA+ID4gPiBpbXByb3ZlIHRoYXQgc29s dXRpb24uDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGh0dHBzOi8vdXJsZGVmZW5z ZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4NCj4g PiAzQV9fcGF0Y2hlcy5kcGRrLm9yZ19jb3Zlcl81ODg2Ml8mZD1Ed0lGQWcmYz1uS2pXZWMyYjZS MG1PeVBhejd4dGYNCj4gPiA+ID4gPiA+IFEmcj1qUGZCOHJ3d3ZpUlN4eUxXczJuNkItDQo+ID4g PiA+IFdZTG4xdjlTeVRNclQ1RVFxaDJUVSZtPWIzRTQyOWZ1bzhQLQ0KPiA+ID4gPiA+ID4gSzVY Zkg4d0ctDQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IDdod3IxZDhvTTR1SkdFckFrYmZEdkEm cz1rMXplZl8xdXFFTFhibEtOM19xalgwNFdYTkZHQVVFRklJSnJ2S1ByNg0KPiA+ID4gPiA+ID4g ZUEmZT0NCj4gPiA+ID4gPiA+IHdlJ2xsIGFkZCBhYmlsaXR5IGZvciB0aGUgdXNlciB0byBhdm9p ZCB0aGlzIHJlb3JkZXJpbmcgcHJvYmxlbQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQXMg d2UgZGlnIGRlZXBlciwgdGhlIGZlYXR1cmUgbG9va3MgaGFyZGx5IGNvbXBsZXRlLiBUaGUNCj4g PiA+ID4gPiA+ID4gY29uY2VybmluZyBwYXJ0IGlzIHRoZSBhcHByb2FjaCBkb2Vzbid0IHNlZW0g Y29uZHVjaXZlIHRvDQo+ID4gPiA+ID4gPiA+IGZpeGluZyBhbnkgb2YgdGhlc2UgaXNzdWVzIGlu IHRoZQ0KPiA+ID4gPiA+ID4gZnV0dXJlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEFnYWlu LCBkb24ndCBhZ3JlZSB3aXRoIHRoYXQgc3RhdGVtZW50Lg0KPiA+ID4gPiA+ID4gRnJvbSBteSBw ZXJzcGVjdGl2ZTogd2hpbGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBoYXMgaXRzDQo+ID4gPiA+ ID4gPiBsaW1pdGF0aW9ucyAocGFja2V0IHJlb3JkZXJpbmcsIGlubGluZS1wcm90by9sa3NkLXBy b3RvKSwgaXQgaXMNCj4gPiA+ID4gPiA+IHRvdGFsbHkgZnVuY3Rpb25hbCBhbmQgcHJvdmlkZXMg dXNlcnMgd2l0aCBhIHJlZmVyZW5jZSBob3cgdG8NCj4gPiA+ID4gPiA+IGRlYWwgd2l0aCBzdWNo DQo+ID4gPiA+IGtpbmQgb2YgcHJvYmxlbXMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBbQW5vb2Jd IFdlbGwsIHRoYXQgaXMgZXhhY3RseSBteSBwcm9ibGVtLiBJdCBnaXZlcyBhIHNrZXdlZA0KPiA+ ID4gPiA+IHJlZmVyZW5jZSBvbiBob3cgdG8gZGVhbCB3aXRoIHRoZSBwcm9ibGVtLCB3aXRob3V0 IGNvbnNpZGVyaW5nIG90aGVyDQo+ID4gcG9zc2liaWxpdGllcy4NCj4gPiA+ID4NCj4gPiA+ID4g T25jZSBhZ2FpbiwgcGxlYXNlIGZlZWwgZnJlZSBhbmQgY29tZS11cCB3aXRoIHlvdXIgb3duIHBh dGNoZXMsIHRoYXQNCj4gPiA+ID4gd2lsbCBhZGRyZXNzIHRoaXMgcHJvYmxlbSBpbiBhIHNtYXJ0 ZXIgd2F5Lg0KPiA+ID4gPg0KPiA+ID4gPiA+IElmIGV2ZXJ5IGFwcGxpY2F0aW9uIHN0YXJ0cyBh ZG9wdGluZyB0aGlzIG1ldGhvZCBhbmQgc3RhcnRzIGRvaW5nDQo+ID4gPiA+ID4gbG9va3VwIGZv ciBldmVyeSBFU1AgcGFja2V0LCBoL3cgYmFzZWQgbG9va3VwcyAoYW5kIHRoZSBhc3NvY2lhdGVk DQo+ID4gPiA+ID4gaC93KSB3b3VsZCBiZSByZW5kZXJlZCB1c2VsZXNzLiBJIHJlYWxseSB0aGlu ayB0aGlzIHNlcmllcywgd2hpY2gNCj4gPiA+ID4gPiBoYXBwZW5zIHRvIGJlDQo+ID4gPiA+IHRo ZSBmaXJzdCBzdGVwIGluIHNvbHZpbmcgYSBjb21wbGV4IHByb2JsZW0sIHdpbGwgYmUgdmVyeSB1 c2VmdWwgaWYNCj4gPiA+ID4gYWxsIHRoZXNlIGlzc3VlcyBhcmUgYWRkcmVzc2VkIHByb3Blcmx5 Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSWYgeW91IGNhbiBpbnRyb2R1Y2UgdGhlIGlubGluZSts b29rYXNpZGUgdmlhIGxpYnJ0ZV9pcHNlYywgaXRzDQo+ID4gPiA+ID4gcGVyaGFwcyBvayBmb3Ig dGhlIHBhdGNoIHRvIGhhdmUgc29tZSBsaW1pdGF0aW9ucyhsaWtlIGxhY2sgb2YNCj4gPiA+ID4g PiBvcmRlcmluZywNCj4gPiA+ID4gYXNzdW1wdGlvbnMgb24gRVNQIGV0YykuIEhvd2V2ZXIsIGlm IHRoZSBwYXRjaCBpcyBpbnRyb2R1Y2VkDQo+ID4gPiA+IGRpcmVjdGx5IGludG8gaXBzZWMtIHNl Y2d3LCBpdCBuZWVkcyB0byBiZSBtb3JlIGNvbXByZWhlbnNpdmUgYW5kIHJvYnVzdC4NCj4gPiA+ ID4NCj4gPiA+ID4gSSB0aGluayBjb21tb24gRFBESyBwb2xpY3kgaXMgZXhhY3RseSBvcHBvc2l0 ZToNCj4gPiA+ID4gbGlicmFyeS9kcml2ZXIgaGFzIHRvIGJlIGFzIHJvYnVzdCBhbmQgY29tcHJl aGVuc2l2ZSBhcyBwb3NzaWJsZS4NCj4gPiA+ID4gc2FtcGxlIGFwcCBjb2RlIGFsbG93ZWQgdG8g aGF2ZSBzb21lIGxpbWl0YXRpb25zIChhcyBsb25nIGFzIHRoZXkNCj4gPiA+ID4gYXJlIGRvY3Vt ZW50ZWQsIGV0Yy4pLg0KPiA+ID4gPg0KPiA+ID4gPiA+IEkgYWxzbyBleHBlY3QgcGVyZm9ybWFu Y2UgaW1wYWN0IGR1ZSB0byB0aGVzZSBjaGFuZ2VzDQo+ID4gPiA+DQo+ID4gPiA+IENvdWxkIHlv dSBiZSBtb3JlIHNwZWNpZmljIGhlcmU/DQo+ID4gPiA+IFdoYXQgcGVyZm9ybWFuY2UgaW1wYWN0 IGRvIHlvdSBleHBlY3QgYW5kIHdoeT8NCj4gPiA+ID4gQ2FuIHlvdSBwb2ludCB0byB0aGUgZXhh Y3QgcGllY2Ugb2YgcGF0Y2ggY29kZSB0aGF0IHlvdSBiZWxpZXZlDQo+ID4gPiA+IHdvdWxkIGNh dXNlIGEgZGVncmFkYXRpb24uDQo+ID4gPiA+IEkgZG9uJ3QgZXhwZWN0IGFueSBhbmQgcGVyZm9y bWFuY2UgdGVzdHMgb24gb3VyIHBsYXRmb3JtcyBkaWRuJ3QNCj4gPiA+ID4gc2hvdyBhbnkgcmVn cmVzc2lvbiBzbyBmYXIuDQo+ID4gPiA+DQo+ID4gPiA+ID4gYW5kIHNvIEkgcHJlZmVyIGlmIHRo ZSBpbmxpbmUrbG9va2FzaWRlIGNhbiBiZSBtYWRlIHNlcGFyYXRlDQo+ID4gPiA+ID4gZGF0YXBh dGggcmF0aGVyIHRoYW4gb3ZlcmxvYWRpbmcgdGhlIGV4aXN0aW5nIG9uZS4NCj4gPiA+ID4NCj4g PiA+ID4gSSBkb24ndCBzZWUgYW55IGdvb2QgcmVhc29uIGZvciB0aGF0Lg0KPiA+ID4gPiBUaGlz IGZlYXR1cmUgaXMgb3B0aW9uYWwuDQo+ID4gPiA+IFVzZXIgaGF2ZSB0byBlbmFibGUgaXQgbWFu dWFsbHkgZm9yIGVhY2ggc2Vzc2lvbiAodmlhIGNvbmZpZyBmaWxlKS4NCj4gPiA+ID4gZm9yIGFs bCBvdGhlciBzZXNzaW9ucyB0aGVyZSBpcyBubyBpbXBhY3QuDQo+ID4gPiA+IFdoYXQgd2UgcHJv YmFibHkgY2FuIGRvIC0gYWRkIGV4dHJhIGNoZWNrIGluc2lkZSBzYS5jIHRvIGFsbG93DQo+ID4g PiA+IGZhbGxiYWNrIHNlc3Npb25zIG9ubHkgZm9yIGlubGluZS1jcnlwdG8tb2ZmbG9hZCB0eXBl IG9mIHNlc3Npb25zLg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiBBbHNvLCBpZiB0aGUgbmV3IGlwc2VjIHJlbGF0ZWQgZmVhdHVy ZXMgYXJlIGludHJvZHVjZWQgdmlhDQo+ID4gPiA+ID4gPiA+IGlwc2VjLXNlY2d3IHRoYW4gdmlh IHJ0ZV9pcHNlYywgdGhlbiBpdCByYWlzZXMgZG91YnRzIG92ZXIgdGhlDQo+ID4gPiA+ID4gPiA+ IHV0aWxpdHkgb2YNCj4gPiA+ID4gcnRlX2lwc2VjIGxpYnJhcnkuDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4NCg0K