Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 375B417DCE for ; Wed, 1 Oct 2014 15:26:40 +0000 (UTC) Received: (qmail 51488 invoked by uid 500); 1 Oct 2014 15:26:39 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 51442 invoked by uid 500); 1 Oct 2014 15:26:39 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 51431 invoked by uid 99); 1 Oct 2014 15:26:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Oct 2014 15:26:39 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of geoff.higginbottom@shapeblue.com designates 157.56.112.129 as permitted sender) Received: from [157.56.112.129] (HELO emea01-am1-obe.outbound.protection.outlook.com) (157.56.112.129) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Oct 2014 15:26:35 +0000 Received: from AMXPR07MB070.eurprd07.prod.outlook.com (10.242.70.148) by AMXPR07MB072.eurprd07.prod.outlook.com (10.242.70.155) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Wed, 1 Oct 2014 15:26:12 +0000 Received: from AMXPR07MB070.eurprd07.prod.outlook.com ([169.254.16.157]) by AMXPR07MB070.eurprd07.prod.outlook.com ([169.254.16.157]) with mapi id 15.00.1039.011; Wed, 1 Oct 2014 15:26:12 +0000 From: Geoff Higginbottom To: "dev@cloudstack.apache.org" Subject: RE: [VOTE][ACS44]Apache CloudStack 4.4.1 RC 1 in branch 4.4-RC20140924T2100 Thread-Topic: [VOTE][ACS44]Apache CloudStack 4.4.1 RC 1 in branch 4.4-RC20140924T2100 Thread-Index: AQHP22fQo+VEgKCSmEa5jX2fP6+TiZwYMlmAgABt3oCAAFYygIAB/w6AgABQuICAAAE1MIAACfGAgAAMnoCAAAG0gIAAAGhA Date: Wed, 1 Oct 2014 15:26:12 +0000 Message-ID: <69244d6e9809476db4cdf16e979f444b@AMXPR07MB070.eurprd07.prod.outlook.com> References: <13827e93e14642e08e17e67798e10cb6@AMXPR07MB070.eurprd07.prod.outlook.com> <14ed2071792e41ce85389c542931b09d@AMXPR07MB070.eurprd07.prod.outlook.com> <2585119750914667afc82bf786765390@AMXPR07MB070.eurprd07.prod.outlook.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [81.174.246.160] x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:AMXPR07MB072; x-forefront-prvs: 0351D213B3 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(51704005)(24454002)(377454003)(53754006)(51914003)(13464003)(13734003)(199003)(189002)(99396003)(31966008)(120916001)(19273905006)(10300001)(15202345003)(110136001)(19580395003)(4396001)(101416001)(107886001)(54356999)(50986999)(76176999)(74316001)(2501002)(85852003)(19580405001)(76482002)(33646002)(15975445006)(80022003)(46102003)(15395725005)(87936001)(92566001)(86362001)(2656002)(105586002)(85306004)(106116001)(21056001)(108616004)(77096002)(106356001)(2351001)(93886004)(20776003)(97736003)(551544002)(66066001)(76576001)(107046002)(95666004)(64706001)(24736002)(563064011);DIR:OUT;SFP:1102;SCL:1;SRVR:AMXPR07MB072;H:AMXPR07MB070.eurprd07.prod.outlook.com;FPR:;MLV:sfv;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: shapeblue.com X-Virus-Checked: Checked by ClamAV on apache.org VGhpcyBoYXMgdG8gYmUgYSBibG9ja2VyIHRoZW4gYXMgYSBzeXN0ZW0gd2hpY2ggaXMgdXBncmFk ZWQgZnJvbSA0LjIgb3IgZWFybGllciB3aWxsIGxvc2UgaXRzIE92ZXJwcm92aXNpb25pbmcgc2V0 dGluZ3MgYXMgdGhleSBnZXQgcmVzZXQgdG8gMSwgYW5kIHlvdSBoYXZlIHRvIGdvIHRoZSBDbHVz dGVyIFNldHRpbmdzIHRvIHJlc2V0IHRoZW0gYmFjayB0byB0aGUgdmFsdWUgdGhleSB3ZXJlIHBy ZS11cGdyYWRlLCBpZiB5b3UgY2FuJ3QgeW91IGNvdWxkIGVuZCB1cCB3aXRoIHRoZSBzaXR1YXRp b24gd2hlcmUgQ3VzdG9tZXIgVk1zIHdpbGwgbm90IHJlc3RhcnQuDQoNClRoZSBvbmx5IGFsdGVy bmF0aXZlIGlzIHRvIGZvcmNlIHVzZXJzIHRvIHVwZ3JhZGUgdG8gNC4zLjEsIHJlc2V0IHRoZSBv dmVycHJvdmlzaW9uaW5nIG9uIHRoZSBDbHVzdGVyLCB0aGVuIHVwZ3JhZGUgdG8gNC40LjEsIGJ1 dCBldmVuIHRoZW4gdGhleSBjYW5ub3QgbWFrZSBhbnkgY2hhbmdlcyB2aWEgdGhlIFVJIChhc3N1 bWUgQVBJIHdpbGwgd29yaykNCg0KQ2hhbmdpbmcgbXkgdm90ZSAtMSB1bnRpbCB0aGlzIGlzIHJl c29sdmVkDQoNClJlZ2FyZHMNCg0KR2VvZmYgSGlnZ2luYm90dG9tDQoNCkQ6ICs0NCAyMCAzNjAz IDA1NDIgfCBTOiArNDQgMjAgMzYwMyAwNTQwIHwgTTogKzQ0Nzk2ODE2MTU4MQ0KDQpnZW9mZi5o aWdnaW5ib3R0b21Ac2hhcGVibHVlLmNvbQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K RnJvbTogUGllcnJlLUx1YyBEaW9uIFttYWlsdG86cGRpb25AY2xvdWRvcHMuY29tXQ0KU2VudDog MDEgT2N0b2JlciAyMDE0IDE2OjIwDQpUbzogZGV2QGNsb3Vkc3RhY2suYXBhY2hlLm9yZw0KQ2M6 IFNlYmFzdGllbiBHb2FzZ3Vlbg0KU3ViamVjdDogUmU6IFtWT1RFXVtBQ1M0NF1BcGFjaGUgQ2xv dWRTdGFjayA0LjQuMSBSQyAxIGluIGJyYW5jaCA0LjQtUkMyMDE0MDkyNFQyMTAwDQoNCnllcCwg dGhpcyBpcyB0aGUgSklSQTogaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9D TE9VRFNUQUNLLTcyMTkNCg0KdW5mb3J0dW5hdGVseSBpdCBoYXNuJ3QgYmVlbiBmaXhlZCBpbiA0 LjQuMSA6LSgNCg0KDQpQTA0KDQpPbiBXZWQsIE9jdCAxLCAyMDE0IGF0IDExOjE2IEFNLCBHZW9m ZiBIaWdnaW5ib3R0b20gPCBnZW9mZi5oaWdnaW5ib3R0b21Ac2hhcGVibHVlLmNvbT4gd3JvdGU6 DQoNCj4gR3JlYXQsIGdsYWQgdG8gaGVhciBpdCB3YXMgYW4gZWFzeSBmaXguDQo+DQo+IE5vdyBo b3dldmVyIEkgaGF2ZSBmb3VuZCBhbm90aGVyIHByb2JsZW0uICBJbiB0aGUgVUkgaWYgSSBnbyB0 bw0KPiBJbmZyYXN0cnVjdHVyZS9DbHVzdGVycy9jbHVzdGVyMS9hbmQgdGhlbiBjaG9vc2UgdGhl IHNldHRpbmdzIHRhYiwgSQ0KPiBnZXQgYW4gZXJyb3IgYW5kIG5vIGluZm9ybWF0aW9uIGlzIGRp c3BsYXllZC4NCj4NCj4gQ2FuIG90aGVycyBwbGVhc2UgY2hlY2sgdGhpcyB0byBzZWUgaWYgaXQg aXMgYSB1bmlxdWUgcHJvYmxlbSB0byBtZSBvcg0KPiBhIGNvbW1vbiBpc3N1ZS4gIFRoaXMgaXMg b24gbXkgdXBncmFkZWQgaW5zdGFsbCwgSSdsbCB0aGUgY2hlY2sgdGhlDQo+IGNsZWFuIGluc3Rh bGwgaW4gYSBmZXcgbWludXRlcyBvbmNlIGl0cyBwb3dlciB1cC4NCj4NCj4gUmVnYXJkcw0KPg0K PiBHZW9mZiBIaWdnaW5ib3R0b20NCj4NCj4gRDogKzQ0IDIwIDM2MDMgMDU0MiB8IFM6ICs0NCAy MCAzNjAzIDA1NDAgfCBNOiArNDQ3OTY4MTYxNTgxDQo+DQo+IGdlb2ZmLmhpZ2dpbmJvdHRvbUBz aGFwZWJsdWUuY29tDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFBp ZXJyZS1MdWMgRGlvbiBbbWFpbHRvOnBkaW9uQGNsb3Vkb3BzLmNvbV0NCj4gU2VudDogMDEgT2N0 b2JlciAyMDE0IDE1OjI5DQo+IFRvOiBkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnOyBTZWJhc3Rp ZW4gR29hc2d1ZW4NCj4gU3ViamVjdDogUmU6IFtWT1RFXVtBQ1M0NF1BcGFjaGUgQ2xvdWRTdGFj ayA0LjQuMSBSQyAxIGluIGJyYW5jaA0KPiA0LjQtUkMyMDE0MDkyNFQyMTAwDQo+DQo+IG9rLCBm aXhlZCBpdCAsICAvbGF0ZXN0IGlzIHBvaW50aW5nIG9uIHRoZSBtYXN0ZXIgYnJhbmNoIGZvciB0 aGUgUk4NCj4gZ2l0IHJlcG8uIHNvIGl0J3Mgbm90IHJlZmxlY3RpbmcgdGhlICJsYXRlc3QiIHZl cnNpb24gb2Ygb3VyIHByb2R1Y3QuDQo+IEkndmUgZGlzYWJsZSB0aGUgL2xhdGVzdCB2ZXJzaW9u IHNvIFVSTCAgd2lsbCBkZWZhdWx0IHRvIDQuNC4wIFJOICBmb3INCj4gdGhlIG1vbWVudCwgYW5k IHRoZSA0LjQuMSBSTiBpcyB0aGUgY29ycmVjdCBvbmUuDQo+DQo+IFNlYiwgZG8geW91IHNlZSBh IHByb2JsZW0gZGlzYWJsaW5nICBtYXN0ZXIgYW5kIGxhdGVzdCBidWlsZCBpbiBSVEQgPw0KPg0K PiBtYWtlIG1vcmUgc2Vuc2U/DQo+DQo+IFBMDQo+DQo+IE9uIFdlZCwgT2N0IDEsIDIwMTQgYXQg MTA6MDAgQU0sIEdlb2ZmIEhpZ2dpbmJvdHRvbSA8DQo+IGdlb2ZmLmhpZ2dpbmJvdHRvbUBzaGFw ZWJsdWUuY29tPiB3cm90ZToNCj4NCj4gPiBIaSBQaWVycmUtTHVjLA0KPiA+DQo+ID4gTm9wZSwg SSB3YXMgZGVmZmluYXRlbHkgbG9va2luZyBhdCA0LjQuMSByZWxlYXNlIG5vdGVzLCBjb21wbGV0 ZQ0KPiA+IHdpdGggc2VjdGlvbnMgdGl0bGVkICdJc3N1ZXMgZml4ZWQgaW4gNC40LjEnIGV0Yw0K PiA+DQo+ID4NCj4gPiBodHRwOi8vY2xvdWRzdGFjay1yZWxlYXNlLW5vdGVzLnJlYWR0aGVkb2Nz Lm9yZy9lbi9sYXRlc3QvdXBncmFkZS91cA0KPiA+IGdyDQo+ID4gYWRlLTQuMy5odG1sDQo+ID4N Cj4gPiBJIHdvdWxkIGluY2x1ZGUgYSBzY3JlZW4gc2hvdCBvZiB0aGUgcGFnZSBidXQgaXQgd2ls bCBnZXQgc3RyaXBwZWQNCj4gPiBmcm9tIHRoZSBlLW1haWwNCj4gPg0KPiA+IFJlZ2FyZHMNCj4g Pg0KPiA+IEdlb2ZmIEhpZ2dpbmJvdHRvbQ0KPiA+DQo+ID4gRDogKzQ0IDIwIDM2MDMgMDU0MiB8 IFM6ICs0NCAyMCAzNjAzIDA1NDAgfCBNOiArNDQ3OTY4MTYxNTgxDQo+ID4NCj4gPiBnZW9mZi5o aWdnaW5ib3R0b21Ac2hhcGVibHVlLmNvbQ0KPiA+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiBGcm9tOiBQaWVycmUtTHVjIERpb24gW21haWx0bzpwZGlvbkBjbG91ZG9wcy5j b21dDQo+ID4gU2VudDogMDEgT2N0b2JlciAyMDE0IDE0OjQ5DQo+ID4gVG86IGRldkBjbG91ZHN0 YWNrLmFwYWNoZS5vcmcNCj4gPiBTdWJqZWN0OiBSZTogW1ZPVEVdW0FDUzQ0XUFwYWNoZSBDbG91 ZFN0YWNrIDQuNC4xIFJDIDEgaW4gYnJhbmNoDQo+ID4gNC40LVJDMjAxNDA5MjRUMjEwMA0KPiA+ DQo+ID4gR2VvZmYsDQo+ID4NCj4gPiBDb3VsZCBpdCBiZSBwb3NzaWJsZSB5b3UndmUgZm9sbG93 ZWQgNC40LjAgdXBncmFkZSBwYXRoID8gYmVjYXVzZSB3ZQ0KPiA+IGRvbid0IGhhdmUgdG8gcGVy Zm9ybSBhbnkgTXlTUUwgcXVlcnkgd2hlbiB1cGdyYWRpbmcgdG8gNC40LjEsDQo+ID4gb3RoZXJ3 aXNlIHRoZSBSTiBpcyBub3QgY29ycmVjdC4NCj4gPiB0aGUgY3VycmVudCBSTiBmb3IgNC40LjEg aXM6DQo+ID4NCj4gPiBodHRwOi8vZG9jcy5jbG91ZHN0YWNrLmFwYWNoZS5vcmcvcHJvamVjdHMv Y2xvdWRzdGFjay1yZWxlYXNlLW5vdGVzLw0KPiA+IGVuIC80LjQuMS8gIChub3QgL2xhdGVzdCB5 ZXQgYXMgaXQncyBub3QgcmVsZWFzZSB5ZXQpDQo+ID4NCj4gPiBmb3IgdGhlIHZoZC11dGlscywg SSB3YXNuJ3Qgc3VyZSBpZiBpdCB3YXMgbWFraW5nIHNlbnNlIHRvIGtlZXAgaXQNCj4gPiBvbiBh bGwgdXBncmFkZSBwYXRoLCB0aGFua3MgZm9yIHRoZSBjb21tZW50LCBtYWtlIHNlbnNlIHRvIHJl bW92ZSBpZg0KPiA+IGZyb20gdXBncmFkZSA0LjMueCBhbmQgcHJvYmFibHkgNC4yLnggYXMgaXQg c2hvdWxkIGFscmVhZHkgYmUgaW4gcGxhY2UuDQo+ID4NCj4gPg0KPiA+IFBMDQo+ID4NCj4gPg0K PiA+DQo+ID4NCj4gPiBPbiBXZWQsIE9jdCAxLCAyMDE0IGF0IDk6MzUgQU0sIEdlb2ZmIEhpZ2dp bmJvdHRvbSA8DQo+ID4gZ2VvZmYuaGlnZ2luYm90dG9tQHNoYXBlYmx1ZS5jb20+IHdyb3RlOg0K PiA+DQo+ID4gPiArMCAgb25seSBiZWNhdXNlIG9mIHRoZSBpc3N1ZXMgaW4gdGhlIHJlbGVhc2Ug bm90ZXMsIGEgY2xlYW4NCj4gPiA+ICtpbnN0YWxsIGFuZA0KPiA+ID4gYW4gdXBncmFkZSBmcm9t IDQuMy4xIHdlbnQgT0ssIGJ1dCBvbmx5IGJlY2F1c2UgSSBrbm93IGhvdyB0byBkbw0KPiA+ID4g aXQsIGl0IHdvdWxkIG5vdCB3b3JrIGlmIEkgZm9sbG93ZWQgdGhlIHJlbGVhc2Ugbm90ZXMuICBU aGUgUm91dGVyDQo+ID4gPiBVcGdyYWRlIG5vdGlmaWNhdGlvbiBlbGVtZW50cyBpbiB0aGUgVUks IGludHJvZHVjZWQgaW4gNC4zIGFyZQ0KPiA+ID4gYWxzbyBicm9rZW4gKHRoaXMgc2hvdWxkIHBv c3NpYmx5IGJlIGEgLTEgYXMgaXQgY291bGQgcmVzdWx0IGluDQo+ID4gPiBpbnN0YWxscyBydW5u aW5nIHdpdGggdGhlIHdyb25nIHZlcnNpb24gb2YgdGhlIFZScyB3aXRob3V0DQo+ID4gPiByZWFs aXNpbmcpDQo+ID4gPg0KPiA+ID4gTm90ZXM6DQo+ID4gPg0KPiA+ID4gMnggWGVuU2VydmVyIDYu MiBpbiBhIHNpbmdsZSBDbHVzdGVyIE5GUyBQcmltYXJ5IFN0b3JhZ2UgeDIgU3lzdGVtDQo+ID4g PiBWTSBUZW1wbGF0ZSBmcm9tDQo+ID4gPiBodHRwOi8vamVua2lucy5idWlsZGFjbG91ZC5vcmcv dmlldy80LjQvam9iL2Nsb3Vkc3RhY2stNC40LXN5c3RlbXYNCj4gPiA+IG02DQo+ID4gPiA0Lw0K PiA+ID4gbGFzdFN1Y2Nlc3NmdWxCdWlsZC9hcnRpZmFjdC90b29scy9hcHBsaWFuY2UvZGlzdC9z eXN0ZW12bTY0dGVtcGxhDQo+ID4gPiB0ZQ0KPiA+ID4gLTQNCj4gPiA+IC40LTIwMTQtMDktMzAt eGVuLnZoZC5iejIgQ2xlYW4gaW5zdGFsbCBvZiA0LjQuMSB0byBzaW5nbGUNCj4gPiA+IG1hbmFn ZW1lbnQgc2VydmVyIG9uIENlbnRPUyA2LjUgd2l0aCBNeVNRTCBpbnN0YWxsZWQgbG9jYWxseQ0K PiA+ID4gQ3JlYXRlZCBuZXcgWm9uZSwgUE9ELCBDbHVzdGVyLCBTZWMgU3RvcmFnZSwgSG9zdHMs IFByaSBTdG9yYWdlDQo+ID4gPiBhbGwgdmlhIEFQSSBVcGRhdGVkIFZhcmlvdXMgR2xvYmFsIFNl dHRpbmdzIHZpYSBBUEkgQ3JlYXRlZA0KPiA+ID4gRG9tYWlucyBhbmQgQWNjb3VudHMgdmlhIEFQ SSBEZXBsb3llZCBWTXMgZm9yIHVzZXIgYWNjb3VudCBhcyBSb290DQo+ID4gPiBhbmQgY29uZmln dXJlZCBuZXR3b3JrIEVncmVzcyBydWxlcyB2aWEgQVBJIERlcGxveWVkIFZNIGFzIHJvb3QNCj4g PiA+IHZpYSBVSSBMaXZlIE1pZ3JhdGVkIFZNcyBiZXR3ZWVuIEhvc3RzIE9mZmxpbmUgTWlncmF0 ZWQgKFZNDQo+ID4gPiBzdG9wcGVkKSBSb290IFZvbHVtZSBiZXR3ZWVuIFByaSBTdG9yYWdlIHZp YSBVSSAtIGNsb3Vkc3RhY2sNCj4gPiA+IHNlcnZpY2UgY3Jhc2hlZCEgKEluc3RhbGwgaXMgcnVu bmluZyBpbnNpZGUgVmlydHVhbEJveCBhbmQNCj4gPiA+IE1hbmFnZW1lbnQgVk0gaXMgYWxzbyBO RlMgU2VydmVyIHNvIGFkZGVkIG1vcmUgUkFNIGFuZCB0cmllZA0KPiA+ID4gYWdhaW4pIC0gcmVw ZWF0ZWQgdGVzdCBhZnRlciBhIG1hbnVhbCBjbGVhbiB1cCBhbmQgaXQgd2FzDQo+ID4gPiBzdWNj ZXNzZnVsIExpdmUgTWlncmF0ZWQgKFZNIHJ1bm5pbmcpIFJvb3QgVm9sdW1lIGJldHdlZW4gUHJp DQo+ID4gPiBTdG9yYWdlIHZpYSBVSSBEaXNhYmxlZCAvIFJlLWVuYWJsZWQgSG9zdCBBZGRpbmcg LyByZW1vdmluZyBOSUNzDQo+ID4gPiBhbmQgY2hhbmdpbmcgZGVmYXVsdCBldGMgdmlhIFVJIERl cGxveWVkIG5ldyBWUEMsIHdpdGggdHdvIHRpZXJzLA0KPiA+ID4gYWRkZWQgVk0gdG8gZWFjaCB0 aWVyLCBzZXR1cCBBQ0xzIGV0YyB2aWEgQVBJDQo+ID4gPg0KPiA+ID4NCj4gPiA+IFRoZW4gSSBk aWQgYW4gdXBncmFkZSB0ZXN0IG9mIGEgNC4zLjEgc3lzdGVtIHVzaW5nIHRoZSBsYXRlc3QNCj4g PiA+IHN5c3RlbSBWTSB0ZW1wbGF0ZSBmcm9tIEplbmtpbnMgKHRoaXMgc3lzdGVtIHdhcyBvcmln aW5hbGx5IGJ1aWx0DQo+ID4gPiBvbiA0LjMuMCBhbmQgdXBncmFkZWQgdG8gNC4zLjEsIGJlZm9y ZSBiZWluZyB1cGdyYWRlZCB0byA0LjQuMSkNCj4gPiA+IE5ldyBTeXN0ZW0gVk0gdGVtcGxhdGUg aW5zdGFsbGVkIE9LDQo+ID4gPg0KPiA+ID4gVGhlIHN0ZXBzIGluIHRoZSByZWxlYXNlIG5vdGVz IGFib3V0IGRvd25sb2FkaW5nIHZoZC11dGlscyBmb3INCj4gPiA+IFhlblNlcnZlciBhcmUgbWlz bGVhZGluZy4gIElmIHlvdSBibGluZGx5IGZvbGxvdyB0aGUgc3RlcHMgdGhlDQo+ID4gPiBzaW1w bHkgZW5kIHVwIHdpdGggYSAybmQgY29weSAndmhkLXV0aWxzLjEnIGFzIHRoaXMgaXMgYW4gdXBn cmFkZQ0KPiA+ID4gYW5kIHlvdSB3aWxsIGFscmVhZHkgaGF2ZSB2aGQtdXRpbHMgb24gdGhlIG1h bmFnZW1lbnQgc2VydmVyLCBhdA0KPiA+ID4gbGVhc3QgaWYgdXBncmFkaW5nIGZyb20gYSByZWNl bnQgcmVsZWFzZSBzdWNoIGFzIDQuMy54Lg0KPiA+ID4NCj4gPiA+IElmIHZoZC11dGlscyBuZWVk cyByZXBsYWNpbmcgd2UgbmVlZCB0byBiZSBzcGVjaWZpYyBhYm91dCByZW1vdmluZw0KPiA+ID4g dGhlIG9sZCBvbmUuICBJIGRvbuKAmXQgdGhpbmsgaXQgYWN0dWFsbHkgbmVlZHMgcmVwbGFjaW5n LCBpdCdzIGp1c3QNCj4gPiA+IGluIGEgZGlmZmVyZW50IGxvY2F0aW9uIHRvIG9sZGVyIGluc3Rh bGxzLCBidXQgdGhlIDQuMyB1cGdyYWRlDQo+ID4gPiBndWlkZSBzdGlsbCBoYXMgdGhpcyBzdGVw IGluIGl0LiAoSSBjYW4ndCByZW1lbWJlciB3aGljaCByZWxlYXNlDQo+ID4gPiBjaGFuZ2VkIHRo ZQ0KPiA+ID4gbG9jYXRpb24pDQo+ID4gPg0KPiA+ID4gVGhlIE15U1FMIFN0YXRlbWVudHMgZm9y IHRoZSBtYW51YWwgdXBncmFkZSBvZiB0aGUgdGVtcGxhdGUgYXJlDQo+ID4gPiBhbHNvIGluY29y cmVjdCBhcyB0aGV5IGRvIG5vdCBpbmNsdWRlIHRoZSBEQiBuYW1lIHNvIGZhaWwNCj4gPiA+DQo+ ID4gPiBlLmcuDQo+ID4gPiBzZWxlY3QgaWQsbmFtZSBmcm9tIHZtX3RlbXBsYXRlIHdoZXJlIG5h bWUgPQ0KPiA+ID4gJ3N5c3RlbXZtLXhlbnNlcnZlci00LjQnOw0KPiA+ID4NCj4gPiA+IHNob3Vs ZCBiZQ0KPiA+ID4gc2VsZWN0IGlkLG5hbWUgZnJvbSBjbG91ZC52bV90ZW1wbGF0ZSB3aGVyZSBu YW1lID0NCj4gPiA+ICdzeXN0ZW12bS14ZW5zZXJ2ZXItNC40JzsNCj4gPiA+DQo+ID4gPiBUaGUg c2FtZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZHMNCj4gPiA+DQo+ID4gPiB1cGRhdGUgdm1f dGVtcGxhdGUgc2V0IHR5cGU9J1NZU1RFTScgd2hlcmUgaWQ9JzxJRCBGUk9NIENPTU1BTkQNCj4g PiA+ICMxPic7IHVwZGF0ZSB2bV9pbnN0YW5jZSBzZXQgdm1fdGVtcGxhdGVfaWQgPSAnPElEIEZS T00gQ09NTUFORCAjMT4nDQo+ID4gPiB3aGVyZSB0eXBlPSdDb25zb2xlUHJveHknIGFuZCBoeXBl cnZpc29yX3R5cGUgPSAneGVuc2VydmVyJzsNCj4gPiA+IHVwZGF0ZSB2bV9pbnN0YW5jZSBzZXQg dm1fdGVtcGxhdGVfaWQgPSAnPElEIEZST00gQ09NTUFORCAjMT4nDQo+ID4gPiB3aGVyZSB0eXBl PSdTZWNvbmRhcnlTdG9yYWdlVm0nIGFuZCBoeXBlcnZpc29yX3R5cGUgPSAneGVuc2VydmVyJzsN Cj4gPiA+IHVwZGF0ZSBjb25maWd1cmF0aW9uIHNldCB2YWx1ZSA9ICdzeXN0ZW12bS14ZW5zZXJ2 ZXItNC40JyB3aGVyZQ0KPiA+ID4gbmFtZSA9ICdyb3V0ZXIudGVtcGxhdGUueGVuJzsNCj4gPiA+ DQo+ID4gPiBzaG91bGQgYmUNCj4gPiA+DQo+ID4gPiB1cGRhdGUgY2xvdWQudm1fdGVtcGxhdGUg c2V0IHR5cGU9J1NZU1RFTScgd2hlcmUgaWQ9JzxJRCBGUk9NDQo+ID4gPiBDT01NQU5EICMxPic7 IHVwZGF0ZSBjbG91ZC52bV9pbnN0YW5jZSBzZXQgdm1fdGVtcGxhdGVfaWQgPSAnPElEDQo+ID4g PiBGUk9NIENPTU1BTkQgIzE+JyB3aGVyZSB0eXBlPSdDb25zb2xlUHJveHknIGFuZCBoeXBlcnZp c29yX3R5cGUgPQ0KPiA+ID4gJ3hlbnNlcnZlcic7IHVwZGF0ZSBjbG91ZC52bV9pbnN0YW5jZSBz ZXQgdm1fdGVtcGxhdGVfaWQgPSAnPElEDQo+ID4gPiBGUk9NDQo+IENPTU1BTkQgIzE+Jw0KPiA+ ID4gd2hlcmUgdHlwZT0nU2Vjb25kYXJ5U3RvcmFnZVZtJyBhbmQgaHlwZXJ2aXNvcl90eXBlID0g J3hlbnNlcnZlcic7DQo+ID4gPiB1cGRhdGUgY2xvdWQuY29uZmlndXJhdGlvbiBzZXQgdmFsdWUg PSAnc3lzdGVtdm0teGVuc2VydmVyLTQuNCcNCj4gPiA+IHdoZXJlIG5hbWUgPSAncm91dGVyLnRl bXBsYXRlLnhlbic7DQo+ID4gPg0KPiA+ID4gSG93ZXZlciBJIGRpZCBub3QgbmVlZCB0byBkbyB0 aGlzIGFzIHRoZSBjbG91ZC52bV9pbnN0YW5jZSB0YWJsZQ0KPiA+ID4gYW5kIGNsb3VkLmNvbmZp Z3VyYXRpb24gdGFibGUgaGFkIGF1dG9tYXRpY2FsbHkgYmVlbiB1cGRhdGVkIHRvDQo+ID4gPiB0 aGUgY29ycmVjdCB2YWx1ZXMsIHNvIGFyZSB0aGVzZSBzdGVwcyBhY3R1YWxseSBuZWNlc3Nhcnk/ DQo+ID4gPg0KPiA+ID4gNC4zIGludHJvZHVjZWQgdGhlIGFiaWxpdHkgdG8gbWFuYWdlIHRoZSBy ZXN0YXJ0IG9mIFZScyB2aWEgdGhlDQo+ID4gPiBVSSwgYnV0IGFmdGVyIHVwZ3JhZGluZyB0byA0 LjQuMSB0aGUgVUkgbGlzdHMgYWxsIFZScyBhcyBOT1QNCj4gPiA+IHJlcXVpcmluZyB1cGdyYWRl LCBldmVuIHRob3VnaCB0aGV5IGhhdmUgbm90IGJlZW4gdXBncmFkZWQgeWV0IGFuZA0KPiA+ID4g YXJlIGNsZWFybHkgc2hvd24gYXMgc3RpbGwgYmUgYXQgdmVyc2lvbiA0LjMNCj4gPiA+DQo+ID4g PiBJIGNvdWxkIGZpeCB0aGUgcmVsZWFzZSBub3RlcyBpc3N1ZXMsIGJ1dCB0aGVyZSBtYXkgYmUg Z29vZA0KPiA+ID4gcmVhc29ucyB3aHkgdGhleSBhcmUgaG93IHRoZXkgYXJlIHRoYXQgSSBhbSBu b3QgYXdhcmUgb2YsIHNvIGp1c3QNCj4gPiA+IHdhbnRlZCB0byBoaWdobGlnaHQgdGhlbSBmb3Ig bm93LiAgSSBoYXZlIG9ubHkgdGVzdGVkIHRoZQ0KPiA+ID4gWGVuU2VydmVyIHVwZ3JhZGUgc3Rl cHMgYW5kIG9ubHkgZnJvbQ0KPiA+ID4gNC4zIHNvIHRoZXJlIG1heSBiZSBzaW1pbGFyIGVycm9y cyBpbiBvdGhlciBzZWN0aW9ucy4NCj4gPiA+DQo+ID4gPiBSZWdhcmRzDQo+ID4gPg0KPiA+ID4g R2VvZmYgSGlnZ2luYm90dG9tDQo+ID4gPg0KPiA+ID4gRDogKzQ0IDIwIDM2MDMgMDU0MiB8IFM6 ICs0NCAyMCAzNjAzIDA1NDAgfCBNOiArNDQ3OTY4MTYxNTgxDQo+ID4gPg0KPiA+ID4gZ2VvZmYu aGlnZ2luYm90dG9tQHNoYXBlYmx1ZS5jb20NCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogUGllcnJlLUx1YyBEaW9uIFttYWlsdG86cGRpb25AY2xv dWRvcHMuY29tXQ0KPiA+ID4gU2VudDogMzAgU2VwdGVtYmVyIDIwMTQgMDM6MzENCj4gPiA+IFRv OiBkZXZAY2xvdWRzdGFjay5hcGFjaGUub3JnDQo+ID4gPiBTdWJqZWN0OiBSZTogW1ZPVEVdW0FD UzQ0XUFwYWNoZSBDbG91ZFN0YWNrIDQuNC4xIFJDIDEgaW4gYnJhbmNoDQo+ID4gPiA0LjQtUkMy MDE0MDkyNFQyMTAwDQo+ID4gPg0KPiA+ID4gKzENCj4gPiA+DQo+ID4gPiBiYXNpYyBkZXBsb3lt ZW50LCBkaWQgdGVzdHMgdXBncmFkZSBmcm9tIDQuMy4wICBhbmQgNC4yLjEgdG8gNC40LjENCj4g PiA+ICwgaXQgd2VudCBzbW9vdGhseSBpbiBib3RoIGNhc2VzLg0KPiA+ID4gSSd2ZSB0ZXN0cyB1 c2luZyBYZW5TZXJ2ZXIgNi4yLjAgd2l0aCBzeXN0ZW0gdm0gZnJvbSA6DQo+ID4gPiBodHRwOi8v amVua2lucy5idWlsZGFjbG91ZC5vcmcvdmlldy80LjQvam9iL2Nsb3Vkc3RhY2stNC40LXN5c3Rl bXYNCj4gPiA+IG02DQo+ID4gPiA0Lw0KPiA+ID4gMTMxLw0KPiA+ID4NCj4gPiA+IFBsZWFzZSBs ZXQgbWUga25vdyB3aGF0IHNob3VsZCBiZSB0aGUgVVJMcyBmb3Igc3lzdGVtIHZtIHRoYXQgd2ls bA0KPiA+ID4gZ29lcyBpbiB0aGUgUk4gaWYgdGhpcyB2b3RlIHBhc3MuDQo+ID4gPg0KPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiA+ID4gKlBpZXJyZS1MdWMgRElPTioNCj4gPiA+IEFyY2hpdGVjdGUg ZGUgU29sdXRpb24gQ2xvdWQgfCBDbG91ZCBTb2x1dGlvbnMgQXJjaGl0ZWN0IHQNCj4gPiA+IDg1 NS42NTIuNTY4Mw0KPiA+ID4NCj4gPiA+ICpDbG91ZE9wcyogVm90cmUgcGFydGVuYWlyZSBpbmZv bnVhZ2lxdWUqIHwgKkNsb3VkIFNvbHV0aW9ucw0KPiA+ID4gRXhwZXJ0cw0KPiA+ID4gNDIwIHJ1 ZSBHdXkgKnwqIE1vbnRyZWFsICp8KiBRdWViZWMgKnwqIEgzSiAxUzYgdyBjbG91ZG9wcy5jb20g KnwqDQo+ID4gPiB0dyBAQ2xvdWRPcHNfDQo+ID4gPg0KPiA+ID4NCj4gPiA+IE9uIE1vbiwgU2Vw IDI5LCAyMDE0IGF0IDU6MjIgUE0sIElhbiBEdWZmeSA8aWFuQGlhbmR1ZmZ5LmllPiB3cm90ZToN Cj4gPiA+DQo+ID4gPiA+IFRlc3RlZCB1c2luZyBYZW5TZXJ2ZXIgNi4yLjEuDQo+ID4gPiA+DQo+ ID4gPiA+IEJyb3VnaHQgdXAgYW4gZW52aXJvbm1lbnQgd2l0aGluIFZpcnR1YWxCb3ggd2l0aCBi YXNpYw0KPiA+ID4gPiBuZXR3b3JraW5nIGFuZCBib290ZWQgYSBQRSBlbmFibGVkIHRlbXBsYXRl Lg0KPiA+ID4gPg0KPiA+ID4gPiBJbnN0YW5jZSBjYW1lIHVwIHdpdGhvdXQgaXNzdWUsIHNlY3Vy aXR5IGdyb3VwcyB3b3JrZWQsIHBhc3N3b3JkDQo+ID4gPiA+IHJlc2V0cyB3b3JrZWQuDQo+ID4g PiA+DQo+ID4gPiA+ICsxIGZvciBiYXNpYyBmdW5jdGlvbmFsaXR5IHdvcmtpbmcuDQo+ID4gPiA+ DQo+ID4gPiA+IE9uIDI5IFNlcHRlbWJlciAyMDE0IDE1OjQ5LCBMZW8gU2ltb25zDQo+ID4gPiA+ IDxMU2ltb25zQHNjaHViZXJncGhpbGlzLmNvbT4NCj4gPiA+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ ID4gPiA+ICogTk9USUNFIGlzIG1pc3NpbmcgY29weXJpZ2h0IHN0YXRlbWVudCAoc2VlIG90aGVy IGUtbWFpbCkNCj4gPiA+ID4gPiAqIENIQU5HRVMubWQgZG9lcyBub3QgbGlzdCBjaGFuZ2VzIGZy b20gNC40LjAgdG8gNC40LjENCj4gPiA+ID4gPiAgIChsaXN0IF9pc18gYXQNCj4gPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+IGh0dHA6Ly9kb2NzLmNsb3Vkc3RhY2suYXBhY2hlLm9yZy9wcm9q ZWN0cy9jbG91ZHN0YWNrLXJlbGVhc2Utbm8NCj4gPiA+ID4gdGUNCj4gPiA+ID4gcy8NCj4gPiA+ ID4gZW4NCj4gPiA+ID4gL2xhdGVzdC9maXhlZF9pc3N1ZXMuaHRtbA0KPiA+ID4gPiA+ICkNCj4g PiA+ID4gPiAqIElOU1RBTEwubWQgc3RhdGVzIHRvIGdldCBzb3VyY2UgY29kZSBmcm9tIGdpdCAo c2VlIG90aGVyDQo+ID4gPiA+ID4gZS1tYWlsKQ0KPiA+ID4gPiA+ICogY2hlY2tzdW1zJnNpZyBv aw0KPiA+ID4gPiA+ICogYnVpbGQgJiBydW4gZnJvbSBzY3JhdGNoIGJhc2VkIG9uIFJFQURNRSB3 b3Jrcw0KPiA+ID4gPiA+ICogbG9jYWwgYXV0b21hdGVkIHRlc3RzIGluc2lkZSBkZXZjbG91ZC1s aWtlIHZpcnR1YWwgYm94IHBhc3MNCj4gPiA+ID4gPiAgIChmcm9tIHRhZykNCj4gPiA+ID4gPiAq IGplbmtpbnMtY29udHJvbGxlZCBhdXRvbWF0ZWQgdGVzdHMgaW5zaWRlIFNCUCB0ZXN0DQo+ID4g PiA+ID4gZW52aXJvbm1lbnQNCj4gcGFzcw0KPiA+ID4gPiA+ICAgKGZyb20gNC40IGJyYW5jaCB3 aXRoIGlkZW50aWNhbCBjb2RlIGFzaWRlIGZyb20gdmVyc2lvbiAjDQo+ID4gPiA+ID4gY2hhbmdl KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKzEgZnJvbSBtZSAobm9uLWJpbmRpbmcgOi1EKQ0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBjaGVlcnMsDQo+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IExlbw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT24gU2VwIDI5LCAyMDE0LCBh dCAxMjowMSBBTSwgRGFhbiBIb29nbGFuZA0KPiA+ID4gPiA+IDxkYWFuLmhvb2dsYW5kQGdtYWls LmNvbT4NCj4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+IEhpIEFsbCwNCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBJJ3ZlIGNyZWF0ZWQgYSA0LjQuMSByZWxlYXNlLCB3aXRoIHRoZSBmb2xs b3dpbmcgYXJ0aWZhY3RzDQo+ID4gPiA+ID4gPiB1cCBmb3IgYQ0KPiA+ID4gPiB2b3RlOg0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEdpdCBCcmFuY2ggYW5kIENvbW1pdCBTSDoNCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gaHR0cHM6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVw b3MvYXNmP3A9Y2xvdWRzdGFjay5naXQ7YT1zaG9ydA0KPiA+ID4gPiBsbw0KPiA+ID4gPiBnOw0K PiA+ID4gPiBoPQ0KPiA+ID4gPiByZWZzL2hlYWRzLzQuNC1SQzIwMTQwOTI0VDIxMDANCj4gPiA+ ID4gPiA+IENvbW1pdDogNjIwYWQ2NTBiZGRhMjNjYWJkZjRjOWRjNDgwMDcyYzAyYzU5YTJkMQ0K PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IExpc3Qgb2YgY2hhbmdlczoNCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4NCj4gPiA+ID4gaHR0cDovL2RvY3MuY2xvdWRzdGFjay5hcGFjaGUub3JnL3Byb2pl Y3RzL2Nsb3Vkc3RhY2stcmVsZWFzZS1ubw0KPiA+ID4gPiB0ZQ0KPiA+ID4gPiBzLw0KPiA+ID4g PiBlbg0KPiA+ID4gPiAvbGF0ZXN0Lw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFNvdXJjZSBy ZWxlYXNlIChjaGVja3N1bXMgYW5kIHNpZ25hdHVyZXMgYXJlIGF2YWlsYWJsZSBhdA0KPiA+ID4g PiA+ID4gdGhlIHNhbWUNCj4gPiA+ID4gPiA+IGxvY2F0aW9uKToNCj4gPiA+ID4gPiA+IGh0dHBz Oi8vZGlzdC5hcGFjaGUub3JnL3JlcG9zL2Rpc3QvZGV2L2Nsb3Vkc3RhY2svNC40LjEvDQo+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gUEdQIHJlbGVhc2Uga2V5cyAoc2lnbmVkIHVzaW5nIDQwOTZS L0FBNDczNkYzKToNCj4gPiA+ID4gPiA+IGh0dHBzOi8vZGlzdC5hcGFjaGUub3JnL3JlcG9zL2Rp c3QvcmVsZWFzZS9jbG91ZHN0YWNrL0tFWVMNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBWb3Rl IHdpbGwgYmUgb3BlbiBmb3IgNzIgaG91cnMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gRm9y IHNhbml0eSBpbiB0YWxseWluZyB0aGUgdm90ZSwgY2FuIFBNQyBtZW1iZXJzIHBsZWFzZSBiZQ0K PiA+ID4gPiA+ID4gc3VyZSB0byBpbmRpY2F0ZSAiKGJpbmRpbmcpIiB3aXRoIHRoZWlyIHZvdGU/ DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gWyBdICsxICBhcHByb3ZlDQo+ID4gPiA+ID4gPiBb IF0gKzAgIG5vIG9waW5pb24NCj4gPiA+ID4gPiA+IFsgXSAtMSAgZGlzYXBwcm92ZSAoYW5kIHJl YXNvbiB3aHkpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+IERhYW4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiBGaW5kIG91dCBtb3JlIGFib3V0 IFNoYXBlQmx1ZSBhbmQgb3VyIHJhbmdlIG9mIENsb3VkU3RhY2sgcmVsYXRlZA0KPiA+ID4gc2Vy dmljZXMNCj4gPiA+DQo+ID4gPiBJYWFTIENsb3VkIERlc2lnbiAmIEJ1aWxkPA0KPiA+ID4gaHR0 cDovL3NoYXBlYmx1ZS5jb20vaWFhcy1jbG91ZC1kZXNpZ24tYW5kLWJ1aWxkLy8+DQo+ID4gPiBD U0ZvcmdlIOKAkyByYXBpZCBJYWFTIGRlcGxveW1lbnQNCj4gPiA+IGZyYW1ld29yazxodHRwOi8v c2hhcGVibHVlLmNvbS9jc2ZvcmdlLz4NCj4gPiA+IENsb3VkU3RhY2sNCj4gPiA+IENvbnN1bHRp bmc8aHR0cDovL3NoYXBlYmx1ZS5jb20vY2xvdWRzdGFjay1jb25zdWx0YW5jeS8+DQo+ID4gPiBD bG91ZFN0YWNrIEluZnJhc3RydWN0dXJlIFN1cHBvcnQ8DQo+ID4gPiBodHRwOi8vc2hhcGVibHVl LmNvbS9jbG91ZHN0YWNrLWluZnJhc3RydWN0dXJlLXN1cHBvcnQvPg0KPiA+ID4gQ2xvdWRTdGFj ayBCb290Y2FtcCBUcmFpbmluZyBDb3Vyc2VzPA0KPiA+ID4gaHR0cDovL3NoYXBlYmx1ZS5jb20v Y2xvdWRzdGFjay10cmFpbmluZy8+DQo+ID4gPg0KPiA+ID4gVGhpcyBlbWFpbCBhbmQgYW55IGF0 dGFjaG1lbnRzIHRvIGl0IG1heSBiZSBjb25maWRlbnRpYWwgYW5kIGFyZQ0KPiA+ID4gaW50ZW5k ZWQgc29sZWx5IGZvciB0aGUgdXNlIG9mIHRoZSBpbmRpdmlkdWFsIHRvIHdob20gaXQgaXMgYWRk cmVzc2VkLg0KPiA+ID4gQW55IHZpZXdzIG9yIG9waW5pb25zIGV4cHJlc3NlZCBhcmUgc29sZWx5 IHRob3NlIG9mIHRoZSBhdXRob3IgYW5kDQo+ID4gPiBkbyBub3QgbmVjZXNzYXJpbHkgcmVwcmVz ZW50IHRob3NlIG9mIFNoYXBlIEJsdWUgTHRkIG9yIHJlbGF0ZWQNCj4gPiA+IGNvbXBhbmllcy4g SWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGVtYWlsLA0KPiA+ ID4geW91IG11c3QgbmVpdGhlciB0YWtlIGFueSBhY3Rpb24gYmFzZWQgdXBvbiBpdHMgY29udGVu dHMsIG5vciBjb3B5DQo+ID4gPiBvciBzaG93IGl0IHRvIGFueW9uZS4gUGxlYXNlIGNvbnRhY3Qg dGhlIHNlbmRlciBpZiB5b3UgYmVsaWV2ZSB5b3UNCj4gPiA+IGhhdmUgcmVjZWl2ZWQgdGhpcyBl bWFpbCBpbiBlcnJvci4gU2hhcGUgQmx1ZSBMdGQgaXMgYSBjb21wYW55DQo+ID4gPiBpbmNvcnBv cmF0ZWQgaW4gRW5nbGFuZCAmIFdhbGVzLiBTaGFwZUJsdWUgU2VydmljZXMgSW5kaWEgTExQIGlz IGENCj4gPiA+IGNvbXBhbnkgaW5jb3Jwb3JhdGVkIGluIEluZGlhIGFuZCBpcyBvcGVyYXRlZCB1 bmRlciBsaWNlbnNlIGZyb20NCj4gPiA+IFNoYXBlIEJsdWUgTHRkLiBTaGFwZSBCbHVlIEJyYXNp bCBDb25zdWx0b3JpYSBMdGRhIGlzIGEgY29tcGFueQ0KPiA+ID4gaW5jb3Jwb3JhdGVkIGluIEJy YXNpbCBhbmQgaXMgb3BlcmF0ZWQgdW5kZXIgbGljZW5zZSBmcm9tIFNoYXBlDQo+ID4gPiBCbHVl IEx0ZC4gU2hhcGVCbHVlIFNBIFB0eSBMdGQgaXMgYSBjb21wYW55IHJlZ2lzdGVyZWQgYnkgVGhl DQo+ID4gPiBSZXB1YmxpYyBvZiBTb3V0aCBBZnJpY2EgYW5kIGlzDQo+ID4gdHJhZGVkIHVuZGVy IGxpY2Vuc2UgZnJvbSBTaGFwZSBCbHVlIEx0ZC4gU2hhcGVCbHVlIGlzIGEgcmVnaXN0ZXJlZA0K PiA+IHRyYWRlbWFyay4NCj4gPiA+DQo+ID4gRmluZCBvdXQgbW9yZSBhYm91dCBTaGFwZUJsdWUg YW5kIG91ciByYW5nZSBvZiBDbG91ZFN0YWNrIHJlbGF0ZWQNCj4gPiBzZXJ2aWNlcw0KPiA+DQo+ ID4gSWFhUyBDbG91ZCBEZXNpZ24gJiBCdWlsZDwNCj4gPiBodHRwOi8vc2hhcGVibHVlLmNvbS9p YWFzLWNsb3VkLWRlc2lnbi1hbmQtYnVpbGQvLz4NCj4gPiBDU0ZvcmdlIOKAkyByYXBpZCBJYWFT IGRlcGxveW1lbnQNCj4gPiBmcmFtZXdvcms8aHR0cDovL3NoYXBlYmx1ZS5jb20vY3Nmb3JnZS8+ DQo+ID4gQ2xvdWRTdGFjayBDb25zdWx0aW5nPGh0dHA6Ly9zaGFwZWJsdWUuY29tL2Nsb3Vkc3Rh Y2stY29uc3VsdGFuY3kvPg0KPiA+IENsb3VkU3RhY2sgSW5mcmFzdHJ1Y3R1cmUgU3VwcG9ydDwN Cj4gPiBodHRwOi8vc2hhcGVibHVlLmNvbS9jbG91ZHN0YWNrLWluZnJhc3RydWN0dXJlLXN1cHBv cnQvPg0KPiA+IENsb3VkU3RhY2sgQm9vdGNhbXAgVHJhaW5pbmcgQ291cnNlczwNCj4gPiBodHRw Oi8vc2hhcGVibHVlLmNvbS9jbG91ZHN0YWNrLXRyYWluaW5nLz4NCj4gPg0KPiA+IFRoaXMgZW1h aWwgYW5kIGFueSBhdHRhY2htZW50cyB0byBpdCBtYXkgYmUgY29uZmlkZW50aWFsIGFuZCBhcmUN Cj4gPiBpbnRlbmRlZCBzb2xlbHkgZm9yIHRoZSB1c2Ugb2YgdGhlIGluZGl2aWR1YWwgdG8gd2hv bSBpdCBpcyBhZGRyZXNzZWQuDQo+ID4gQW55IHZpZXdzIG9yIG9waW5pb25zIGV4cHJlc3NlZCBh cmUgc29sZWx5IHRob3NlIG9mIHRoZSBhdXRob3IgYW5kDQo+ID4gZG8gbm90IG5lY2Vzc2FyaWx5 IHJlcHJlc2VudCB0aG9zZSBvZiBTaGFwZSBCbHVlIEx0ZCBvciByZWxhdGVkDQo+ID4gY29tcGFu aWVzLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50IG9mIHRoaXMgZW1haWws IHlvdQ0KPiA+IG11c3QgbmVpdGhlciB0YWtlIGFueSBhY3Rpb24gYmFzZWQgdXBvbiBpdHMgY29u dGVudHMsIG5vciBjb3B5IG9yDQo+ID4gc2hvdyBpdCB0byBhbnlvbmUuIFBsZWFzZSBjb250YWN0 IHRoZSBzZW5kZXIgaWYgeW91IGJlbGlldmUgeW91IGhhdmUNCj4gPiByZWNlaXZlZCB0aGlzIGVt YWlsIGluIGVycm9yLiBTaGFwZSBCbHVlIEx0ZCBpcyBhIGNvbXBhbnkNCj4gPiBpbmNvcnBvcmF0 ZWQgaW4gRW5nbGFuZCAmIFdhbGVzLiBTaGFwZUJsdWUgU2VydmljZXMgSW5kaWEgTExQIGlzIGEN Cj4gPiBjb21wYW55IGluY29ycG9yYXRlZCBpbiBJbmRpYSBhbmQgaXMgb3BlcmF0ZWQgdW5kZXIg bGljZW5zZSBmcm9tDQo+ID4gU2hhcGUgQmx1ZSBMdGQuIFNoYXBlIEJsdWUgQnJhc2lsIENvbnN1 bHRvcmlhIEx0ZGEgaXMgYSBjb21wYW55DQo+ID4gaW5jb3Jwb3JhdGVkIGluIEJyYXNpbCBhbmQg aXMgb3BlcmF0ZWQgdW5kZXIgbGljZW5zZSBmcm9tIFNoYXBlIEJsdWUNCj4gPiBMdGQuIFNoYXBl Qmx1ZSBTQSBQdHkgTHRkIGlzIGEgY29tcGFueSByZWdpc3RlcmVkIGJ5IFRoZSBSZXB1YmxpYyBv Zg0KPiA+IFNvdXRoIEFmcmljYSBhbmQgaXMNCj4gdHJhZGVkIHVuZGVyIGxpY2Vuc2UgZnJvbSBT aGFwZSBCbHVlIEx0ZC4gU2hhcGVCbHVlIGlzIGEgcmVnaXN0ZXJlZA0KPiB0cmFkZW1hcmsuDQo+ ID4NCj4gRmluZCBvdXQgbW9yZSBhYm91dCBTaGFwZUJsdWUgYW5kIG91ciByYW5nZSBvZiBDbG91 ZFN0YWNrIHJlbGF0ZWQNCj4gc2VydmljZXMNCj4NCj4gSWFhUyBDbG91ZCBEZXNpZ24gJiBCdWls ZDwNCj4gaHR0cDovL3NoYXBlYmx1ZS5jb20vaWFhcy1jbG91ZC1kZXNpZ24tYW5kLWJ1aWxkLy8+ DQo+IENTRm9yZ2Ug4oCTIHJhcGlkIElhYVMgZGVwbG95bWVudA0KPiBmcmFtZXdvcms8aHR0cDov L3NoYXBlYmx1ZS5jb20vY3Nmb3JnZS8+DQo+IENsb3VkU3RhY2sgQ29uc3VsdGluZzxodHRwOi8v c2hhcGVibHVlLmNvbS9jbG91ZHN0YWNrLWNvbnN1bHRhbmN5Lz4NCj4gQ2xvdWRTdGFjayBJbmZy YXN0cnVjdHVyZSBTdXBwb3J0PA0KPiBodHRwOi8vc2hhcGVibHVlLmNvbS9jbG91ZHN0YWNrLWlu ZnJhc3RydWN0dXJlLXN1cHBvcnQvPg0KPiBDbG91ZFN0YWNrIEJvb3RjYW1wIFRyYWluaW5nIENv dXJzZXM8DQo+IGh0dHA6Ly9zaGFwZWJsdWUuY29tL2Nsb3Vkc3RhY2stdHJhaW5pbmcvPg0KPg0K PiBUaGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgdG8gaXQgbWF5IGJlIGNvbmZpZGVudGlh bCBhbmQgYXJlDQo+IGludGVuZGVkIHNvbGVseSBmb3IgdGhlIHVzZSBvZiB0aGUgaW5kaXZpZHVh bCB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZC4NCj4gQW55IHZpZXdzIG9yIG9waW5pb25zIGV4cHJl c3NlZCBhcmUgc29sZWx5IHRob3NlIG9mIHRoZSBhdXRob3IgYW5kIGRvDQo+IG5vdCBuZWNlc3Nh cmlseSByZXByZXNlbnQgdGhvc2Ugb2YgU2hhcGUgQmx1ZSBMdGQgb3IgcmVsYXRlZA0KPiBjb21w YW5pZXMuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQgb2YgdGhpcyBlbWFp bCwgeW91DQo+IG11c3QgbmVpdGhlciB0YWtlIGFueSBhY3Rpb24gYmFzZWQgdXBvbiBpdHMgY29u dGVudHMsIG5vciBjb3B5IG9yIHNob3cNCj4gaXQgdG8gYW55b25lLiBQbGVhc2UgY29udGFjdCB0 aGUgc2VuZGVyIGlmIHlvdSBiZWxpZXZlIHlvdSBoYXZlDQo+IHJlY2VpdmVkIHRoaXMgZW1haWwg aW4gZXJyb3IuIFNoYXBlIEJsdWUgTHRkIGlzIGEgY29tcGFueSBpbmNvcnBvcmF0ZWQNCj4gaW4g RW5nbGFuZCAmIFdhbGVzLiBTaGFwZUJsdWUgU2VydmljZXMgSW5kaWEgTExQIGlzIGEgY29tcGFu eQ0KPiBpbmNvcnBvcmF0ZWQgaW4gSW5kaWEgYW5kIGlzIG9wZXJhdGVkIHVuZGVyIGxpY2Vuc2Ug ZnJvbSBTaGFwZSBCbHVlDQo+IEx0ZC4gU2hhcGUgQmx1ZSBCcmFzaWwgQ29uc3VsdG9yaWEgTHRk YSBpcyBhIGNvbXBhbnkgaW5jb3Jwb3JhdGVkIGluDQo+IEJyYXNpbCBhbmQgaXMgb3BlcmF0ZWQg dW5kZXIgbGljZW5zZSBmcm9tIFNoYXBlIEJsdWUgTHRkLiBTaGFwZUJsdWUgU0ENCj4gUHR5IEx0 ZCBpcyBhIGNvbXBhbnkgcmVnaXN0ZXJlZCBieSBUaGUgUmVwdWJsaWMgb2YgU291dGggQWZyaWNh IGFuZCBpcyB0cmFkZWQgdW5kZXIgbGljZW5zZSBmcm9tIFNoYXBlIEJsdWUgTHRkLiBTaGFwZUJs dWUgaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyay4NCj4NCkZpbmQgb3V0IG1vcmUgYWJvdXQgU2hh cGVCbHVlIGFuZCBvdXIgcmFuZ2Ugb2YgQ2xvdWRTdGFjayByZWxhdGVkIHNlcnZpY2VzDQoNCklh YVMgQ2xvdWQgRGVzaWduICYgQnVpbGQ8aHR0cDovL3NoYXBlYmx1ZS5jb20vaWFhcy1jbG91ZC1k ZXNpZ24tYW5kLWJ1aWxkLy8+DQpDU0ZvcmdlIOKAkyByYXBpZCBJYWFTIGRlcGxveW1lbnQgZnJh bWV3b3JrPGh0dHA6Ly9zaGFwZWJsdWUuY29tL2NzZm9yZ2UvPg0KQ2xvdWRTdGFjayBDb25zdWx0 aW5nPGh0dHA6Ly9zaGFwZWJsdWUuY29tL2Nsb3Vkc3RhY2stY29uc3VsdGFuY3kvPg0KQ2xvdWRT dGFjayBJbmZyYXN0cnVjdHVyZSBTdXBwb3J0PGh0dHA6Ly9zaGFwZWJsdWUuY29tL2Nsb3Vkc3Rh Y2staW5mcmFzdHJ1Y3R1cmUtc3VwcG9ydC8+DQpDbG91ZFN0YWNrIEJvb3RjYW1wIFRyYWluaW5n IENvdXJzZXM8aHR0cDovL3NoYXBlYmx1ZS5jb20vY2xvdWRzdGFjay10cmFpbmluZy8+DQoNClRo aXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyB0byBpdCBtYXkgYmUgY29uZmlkZW50aWFsIGFu ZCBhcmUgaW50ZW5kZWQgc29sZWx5IGZvciB0aGUgdXNlIG9mIHRoZSBpbmRpdmlkdWFsIHRvIHdo b20gaXQgaXMgYWRkcmVzc2VkLiBBbnkgdmlld3Mgb3Igb3BpbmlvbnMgZXhwcmVzc2VkIGFyZSBz b2xlbHkgdGhvc2Ugb2YgdGhlIGF1dGhvciBhbmQgZG8gbm90IG5lY2Vzc2FyaWx5IHJlcHJlc2Vu dCB0aG9zZSBvZiBTaGFwZSBCbHVlIEx0ZCBvciByZWxhdGVkIGNvbXBhbmllcy4gSWYgeW91IGFy ZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGVtYWlsLCB5b3UgbXVzdCBuZWl0 aGVyIHRha2UgYW55IGFjdGlvbiBiYXNlZCB1cG9uIGl0cyBjb250ZW50cywgbm9yIGNvcHkgb3Ig c2hvdyBpdCB0byBhbnlvbmUuIFBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgaWYgeW91IGJlbGll dmUgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlbWFpbCBpbiBlcnJvci4gU2hhcGUgQmx1ZSBMdGQg aXMgYSBjb21wYW55IGluY29ycG9yYXRlZCBpbiBFbmdsYW5kICYgV2FsZXMuIFNoYXBlQmx1ZSBT ZXJ2aWNlcyBJbmRpYSBMTFAgaXMgYSBjb21wYW55IGluY29ycG9yYXRlZCBpbiBJbmRpYSBhbmQg aXMgb3BlcmF0ZWQgdW5kZXIgbGljZW5zZSBmcm9tIFNoYXBlIEJsdWUgTHRkLiBTaGFwZSBCbHVl IEJyYXNpbCBDb25zdWx0b3JpYSBMdGRhIGlzIGEgY29tcGFueSBpbmNvcnBvcmF0ZWQgaW4gQnJh c2lsIGFuZCBpcyBvcGVyYXRlZCB1bmRlciBsaWNlbnNlIGZyb20gU2hhcGUgQmx1ZSBMdGQuIFNo YXBlQmx1ZSBTQSBQdHkgTHRkIGlzIGEgY29tcGFueSByZWdpc3RlcmVkIGJ5IFRoZSBSZXB1Ymxp YyBvZiBTb3V0aCBBZnJpY2EgYW5kIGlzIHRyYWRlZCB1bmRlciBsaWNlbnNlIGZyb20gU2hhcGUg Qmx1ZSBMdGQuIFNoYXBlQmx1ZSBpcyBhIHJlZ2lzdGVyZWQgdHJhZGVtYXJrLg0K