SGkgSmVyZW15LA0KDQpzb3JyeSwgSSBkaWRuJ3QgYWRkIGFueSBhY3R1YWwgZGV0YWlscy4uLg0K DQpZZXMsIEknbSB1c2luZyBQUl9DT01NQU5EX1NFVERBVEEgYXMgdGhlIHdoYXQgZmllbGQsIHRo ZW4gc2VuZGluZyBpdCB3aXRoIHRoZSBzZW5kT3V0Z29pbmdNZXNzYWdlIG1ldGhvZCBvZiB0aGUg TWVzc2FnZVRyYW5zY2VpdmVyLiBBbm90aGVyIHByb2Nlc3MsIHdoaWNoIHJ1bnMgaW4gYSBzY2hl ZHVsZWQgZmFzaGlvbiwgbXVzdCBkZWxldGUgYWxsIG1lc3NhZ2VzIG9sZGVyIHRoYW4gb25lIHdl ZWsuIEknbSB1c2luZyBQUl9DT01NQU5EX1JFTU9WRURBVEEuIFRoZSBwcm9ibGVtIGlzLCBJJ3Zl IHRyaWVkIGxvdHMgb2YgY29tYmluYXRpb25zIGZvciB0aGUgdmFsdWUgb2YgUFJfTkFNRV9LRVlT IHNvIEkgZGVsZXRlIHRoZSBtZXNzYWdlcyBmcm9tIHRoZSBkYXRhYmFzZSwgYnV0IG5vbmUgaGFz IHdvcmtlZCBzbyBmYXIuDQoNCkkgaGF2ZSBhbHNvIHRyaWVkIHRvIGRlbGV0ZSB0aGUgbWVzc2Fn ZXMgZnJvbSB0aGUgb3JpZ2luYXRpbmcgY2xpZW50LCB3aXRoIHRoZSBzYW1lIHJlc3VsdHMuIA0K DQpJIF9rbm93XyBJJ20gZG9pbmcgc29tZXRoaW5nIHdyb25nLiBNYXliZSB0aGUgd2F5IEknbSBz ZW5kaW5nIHRoZW0/DQoNClJlZ2FyZHMsDQoNCkRhcmlvDQoNCg0KDQotLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KRnJvbTogbXVzY2xlLWJvdW5jZUBmcmVlbGlzdHMub3JnIFttYWlsdG86bXVz Y2xlLWJvdW5jZUBmcmVlbGlzdHMub3JnXU9uDQpCZWhhbGYgT2YgSmVyZW15IEZyaWVzbmVyDQpT ZW50OiBKdWV2ZXMsIDA3IGRlIE9jdHVicmUgZGUgMjAwNCAwMToyMSBwLm0uDQpUbzogbXVzY2xl QGZyZWVsaXN0cy5vcmcNClN1YmplY3Q6IFttdXNjbGVdIFJlOiBIb3cgdG8gZGVsZXRlIG1lc3Nh Z2VzIHdpdGggdGhlIGphdmEgQVBJPw0KDQoNCkhpIERhcmlvLA0KDQpDYW4geW91IGNsYXJpZnkg eW91ciBxdWVzdGlvbiBmb3IgbWU/ICBJJ20gbm90IHN1cmUgaWYgYnkgImRlbGV0ZSBhIE1lc3Nh Z2UiLCANCnlvdSBtZWFuDQoNCkEpIFlvdSBoYXZlIHNldCBhIE1lc3NhZ2Ugbm9kZSB0byB0aGUg c2VydmVyLXNpZGUgZGF0YWJhc2UgdXNpbmcNCiAgICAgYSBQUl9DT01NQU5EX1NFVERBVEEgTWVz c2FnZSwgYW5kIG5vdyB5b3Ugd2FudCB0byByZW1vdmUNCiAgICAgdGhhdCBub2RlIGZyb20gdGhl IGRhdGFiYXNlLg0KDQpCKSBZb3UgaGF2ZSBwdXQgYSBNZXNzYWdlIGludG8geW91ciBjbGllbnQn cyB1cGxvYWQtcXVldWUgd2l0aA0KICAgICBzZW5kT3V0Z29pbmdNZXNzYWdlKCksIHNvIHRoYXQg aXQgaXMgc2NoZWR1bGVkIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlciwNCiAgICAgYnV0IHNvb24g YWZ0ZXJ3YXJkcyAoaS5lLiBiZWZvcmUgdGhlIGFjdHVhbCBieXRlcyB3ZXJlIHRyYW5zbWl0dGVk KSANCiAgICAgeW91ciBwcm9ncmFtIGRlY2lkZWQgdGhhdCB5b3UgZGlkbid0IHdhbnQgdG8gc2Vu ZCB0aGUgTWVzc2FnZSBhZnRlciBhbGwsDQogICAgIGFuZCB5b3Ugd2FudCB0byBrbm93IGhvdyB5 b3UgY2FuIHJlbW92ZSB0aGF0IE1lc3NhZ2UgZnJvbSB0aGUgcXVldWUgc28NCiAgICAgdGhhdCBp dCBkb2Vzbid0IGdldCBzZW50Lg0KDQpDKSAgU29tZXRoaW5nIGVsc2U/DQoNCihJZiB0aGUgYW5z d2VyIGlzIEEsIHRoZW4gdGhlIFBSX0NPTU1BTkRfUkVNT1ZFREFUQSBNZXNzYWdlDQppcyB0aGUg b25lIHlvdSB3YW50IHRvIHVzZS4uLiBzZWUgdGhlIGRvY3MgZm9yIGRldGFpbHMuICBJZiB5b3Ug bWVhbnQgQiwgdGhhdCANCmlzbid0IGRpcmVjdGx5IHN1cHBvcnRlZCBieSB0aGUgSmF2YSBpbXBs ZW1lbnRhdGlvbiwgYnV0IGl0IGlzIHBvc3NpYmxlIHRvIGRvIA0KLS0gbGV0IG1lIGtub3cgYW5k IEkgY2FuIGV4cGxhaW4gZnVydGhlcikNCg0KT24gVGh1cnNkYXkgMDcgT2N0b2JlciAyMDA0IDEw OjU4LCBWYXNjb25jZWxvcyBKaW1lbmV6IERhcmlvIHdyb3RlOg0KPiBIaSBBbGwsDQo+IEkgaGF2 ZSBhIG11c2NsZWQgc2VydmVyIHRoYXQgSSdtIHVzaW5nIGFzIG1lc3NhZ2UgaHViLiBJJ3ZlIGJl ZW4gdHJ5aW5nIHRvDQo+IGRlbGV0ZSBtZXNzYWdlcyB0aGF0IEkgc2VudCwgYnV0IEkgY2FuJ3Qg c2VlbSB0byBnZXQgaXQgcmlnaHQuIEFGQUlLLCB0aGVyZQ0KPiBhcmUgbm8gcmVzdHJpY3Rpb25z IG9uIHdobyBjYW4gZGVsZXRlIGEgbWVzc2FnZSAob3Igc2hvdWxkIHRoZSBzZW5kZXIgZG8NCj4g aXQ/KSwgYW5kIHRoZSBjb2RlIHNob3VsZCBiZSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLg0KDQpJ ZiB5b3UgYXJlIHVzaW5nIFBSX0NPTU1BTkRfU0VUREFUQSB0byBwb3N0IE1lc3NhZ2Ugbm9kZXMg dG8gdGhlIGRhdGFiYXNlLCANCnRoZW46ICBlYWNoIGNsaWVudCdzIHN1YnRyZWUgaXMgd3JpdGVh YmxlIG9ubHkgYnkgdGhhdCBjbGllbnQgLS0gb3RoZXIgDQpjbGllbnRzIG1heSByZWFkIGZyb20g dGhhdCBzdWJ0cmVlLCBidXQgbm90IG1vZGlmeSBpdC4gIFNvIG9ubHkgdGhlIGNsaWVudHdobyAN CnVwbG9hZGVkIGEgbm9kZSBpcyBhYmxlIHRvIGRlbGV0ZSBpdC4NCg0KSWYgeW91IGFyZSBqdXN0 IHNlbmRpbmcgTWVzc2FnZXMgd2l0aCB0eXBlY29kZXMgb3RoZXIgdGhhbiBQUl9DT01NQU5EXyos IHRoZW4gDQp0aGVyZSBpcyBubyBuZWVkIHRvIGRlbGV0ZSB0aG9zZSBNZXNzYWdlcywgc2luY2Ug dGhleSB3b24ndCBwZXJzaXN0IG9uIHRoZSANCnNlcnZlciBhbnl3YXkgLS0gdGhleSBqdXN0IGdv IHRvIHRoZSBvdGhlciBjbGllbnRzIChpZiBhbnkpLCBhbmQgdGhlbiB0aGV5IA0KYXJlIGdvbmUu DQoNCj4gSSdtIGFjdHVhbGx5IHVzaW5nIHRoZQ0KPiBUZXN0Q2xpZW50IHRoYXQgY29tZXMgd2l0 aCB0aGUgamF2YSBBUEksIGJ1dCBJIGRvbid0IGtub3cgaWYgdGhhdCBjb2RlDQo+IHdvcmtzIChz ZW5kaW5nIG1lc3NhZ2VzIGZyb20gaXQgZG9lc24ndCBzZWVtIHRvIHdvcmspIG9yIGlmIEkgc2hv dWxkIGRvIGFueQ0KPiBjaGFuZ2VzLiBBbnlvbmUgaGFzIGEgd29ya2luZyBleGFtcGxlIG9mIHRo aXM/IEl0IGRvZXNuJ3QgbWF0dGVyIGlmIGl0J3MNCj4gd3JpdHRlbiBpbiBDKysuLi4NCg0KVGVz dENsaWVudCBvdWdodCB0byB3b3JrIChhbHRob3VnaCBJIGRvbid0IGhhdmUgYSBKYXZhIGVudmly b25tZW50IHNldCB1cCANCmFueW1vcmUsIHNvIEkgaGF2ZW4ndCB0ZXN0ZWQgaXQgZm9yIGEgd2hp bGUpLi4uLiAgdHJ5IHJ1bm5pbmcgaXQgYW5kIHR5cGluZw0KDQpQIA0KDQooaS5lLiBjYXBpdGFs LVAsIHJldHVybikgYXMgYSBjb21tYW5kIHRvIHNlbmQuLi4gdGhhdCBzaG91bGQgY2F1c2UgdGhl IHNlcnZlciANCnRvIHJlc3BvbmQgd2l0aCBhIE1lc3NhZ2UgY29udGFpbmluZyBzb21lIHNlcnZl ciBzdGF0aXN0aWNzIGluZm9ybWF0aW9uLiAgSWYNCnRoYXQgd29ya3MsIHRoZW4gVGVzdENsaWVu dCBpcyB3b3JraW5nIC0tIGlmIG5vdCwgc29tZXRoaW5nIGlzIHdyb25nLg0KDQotSmVyZW15DQoN Cg==