|
From: <jue...@we...> - 2003-06-04 20:56:34
|
MyBtb250aHMgb2xkIGJ1dCBub3QgZm9yZ290dGVuIDotKSBJIHN0aWxsIGNvbnNpZGVyIGEgc3Ry YXRlZ3kgZm9yIG11bHRpcGFydCBzdXBwb3J0IGEgMS4wIGlzc3VlLg0KIA0KT2YgY291cnNlLCBv bmUgY2FuIGFsd2F5cyB1c2UgQ09TIG9yIENvbW1vbnMgRmlsZVVwbG9hZCBpbiBhIHN0cmFpZ2h0 Zm9yd2FyZCB3YXksIGkuZS4gd2l0aGluIGEgQ29udHJvbGxlciBpbXBsZW1lbnRhdGlvbiwgd2l0 aG91dCBhIEh0dHBTZXJ2bGV0UmVxdWVzdCB3cmFwcGVyLiBBcyB3ZSBjb21tdW5pY2F0ZSB3aXRo IG91ciB2aWV3cyB2aWEgYSBtb2RlbCBhbnl3YXksIHdlIGRvbid0IGhhdmUgdGhlIGltbWVkaWF0 ZSBuZWVkIG9mIG1ha2luZyBtdWx0aXBhcnQgZm9ybSBpdGVtcyBhdmFpbGFibGUgbGlrZSBub3Jt YWwgb25lcywgdmlhIHJlcXVlc3QuZ2V0UGFyYW1ldGVyLiBBbGwgb2YgdGhlIHNwZWNpYWwgZmls ZSBjb250ZW50IGFuZCBwYXJhbWV0ZXIgaGFuZGxpbmcgY2FuIG9jY3VyIHdpdGhpbiB0aGUgQ29u dHJvbGxlci4NCiANClN1Y2ggZGVmZXJyZWQgZXZhbHVhdGlvbiBvZiBhIG11bHRpcGFydCByZXF1 ZXN0IGV2ZW4gaGFzIGFuIGFkdmFudGFnZSBvdmVyIHRoZSBpbXBsaWNpdCByZXF1ZXN0IHdyYXBw ZXIgc3RyYXRlZ3k6IE9uZSBjYW4gc2VuZCBzb21lICJwbGVhc2Ugd2FpdCB3aGlsZSB1cGxvYWRp bmcgZmlsZXMiIG1lc3NhZ2UgdG8gdGhlIGJyb3dzZXIgYmVmb3JlIHN0YXJ0aW5nIHRoZSBldmFs dWF0aW9uLCBhZGRpbmcgYSBKYXZhU2NyaXB0IHJlZGlyZWN0IHRvIHRoZSBmaW5hbCB2aWV3IGF0 IHRoZSBlbmQuIFdlJ3ZlIHN1Y2Nlc3NmdWxseSB1c2VkIHN1Y2ggYSBtZWNoYW5pc20gZm9yIGxv bmdlciBwcm9jZXNzaW5nIHN0ZXBzIGluIHdlYiBhcHBzIC0gbm90IHdpdGggZmlsZSB1cGxvYWRz IHRob3VnaCwgYnV0IGl0IHNob3VsZCBzdGlsbCBiZSBhcHBsaWNhYmxlLg0KIA0KVGhlIHF1ZXN0 aW9uIGlzOiBJcyB0aGUgYWJvdmUgZW5vdWdoLCBvciBkbyB3ZSBuZWVkIHRvIG9mZmVyIGFuIGlt cGxlbWVudGF0aW9uLWFnbm9zdGljIG11bHRpcGFydCByZXF1ZXN0IHdyYXBwZXI/IE1pZ3JhdGlu ZyBDb250cm9sbGVyIGNvZGUgZnJvbSBDT1MgdG8gQ29tbW9ucyBGaWxlVXBsb2FkIG9yIHZpY2Ug dmVyc2Egc2hvdWxkbid0IGJlIGhhcmQgYW55d2F5LiBBbmQgY29uZmlndXJhdGlvbiBwZXIgZGVw bG95bWVudCBpc24ndCBhIHJlYWwgcmVxdWlyZW1lbnQsIGFzIHRoZSBjaG9pY2Ugd2lsbCBiZSBt YWRlIGF0IGRldmVsb3BtZW50IHRpbWUuIEl0J3MganVzdCB0aGF0IGEgcHJvamVjdCB0aGF0IHVz ZXMgQ09TIG1pZ2h0IGdldCBsYXJnZXIgaW4gdGVybXMgb2YgbnVtYmVyIG9mIGRldmVsb3BlcnMs IHNvIHRoYXQgdGhlIG51bWJlciBvZiBjb3BpZXMgb2YgSmFzb24gSHVudGVyJ3MgYm9vayBkb2Vz bid0IG1hdGNoIHRoZSByZXF1aXJlbWVudHMgb2YgaGlzIGxpY2Vuc2UgYW55bW9yZS4uLiA7LSkN CiANCkFueSBvcGluaW9ucyBvbiB0aGlzPyBFdmVuIGlmIHdlIHNldHRsZSBvbiBzdWNoIGEgc2lt cGxlIHN0cmF0ZWd5LCB3ZSBzaG91bGQgbWVudGlvbiB0aGlzIGluIHRoZSBkb2NzIHJlc3BlY3Rp dmVseSBpbiB0aGUgdHV0b3JpYWwuIExldCdzIG5vdCBmb3JnZXQgdGhhdCBib3RoIFN0cnV0cyBh bmQgV2ViV29yayBvZmZlciBkZWRpY2F0ZWQgZmlsZSB1cGxvYWQgc3VwcG9ydCwgc28gd2UnbGwg bmVlZCB0byBzdGF0ZSBvdXIgcG9zaXRpb24gb24gdGhlIGlzc3VlLg0KIA0KUmVnYXJkcywNCkp1 ZXJnZW4NCiANCiANCg0KCS0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0LS0tLS0gDQoJVm9u OiBqw7xyZ2VuIGjDtmxsZXIgW3dlcmszQVRdIA0KCUdlc2VuZGV0OiBTbyAwOS4wMy4yMDAzIDE3 OjEzIA0KCUFuOiBzcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyQGxpc3RzLnNvdXJjZWZvcmdlLm5l dCANCglDYzogDQoJQmV0cmVmZjogUmU6IFtTcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyXSBGaWxl IHVwbG9hZCBha2EgbXVsdGlwYXJ0IHJlcXVlc3QgaGFuZGxpbmcNCgkNCgkNCg0KCUhpIGZpbGUg dXBsb2FkZXJzLA0KCQ0KCUNvbmNlcm5pbmcgU3ByaW5nIG11bHRpcGFydCBoYW5kbGluZzogVGhl cmUncyBhIHNlY29uZCB3YXkgb2YgcHJvdmlkaW5nIHBsdWdnYWJsZSBtdWx0aXBhcnQgc3VwcG9y dCB0aGF0IEkgcHJlZmVyIGluIHRoZSBtZWFudGltZS4gVGhlIGdvYWwgaXMgc3RpbGwgdG8gYXV0 b21hdGljYWxseSBleGNoYW5nZSB0aGUgSHR0cFNlcnZsZXRSZXF1ZXN0IHdpdGggYSBNdWx0aXBh cnRTZXJ2bGV0UmVxdWVzdCBpbiBjYXNlIG9mICJtdWx0aXBhcnQvZm9ybS1kYXRhIi4gQnV0IGlu c3RlYWQgb2YgYWRkaW5nIGEgTXVsdGlwYXJ0UmVzb2x2ZXIgY2FwYWJpbGl0eSB0byBDb250cm9s bGVyU2VydmxldCwgd2UgY291bGQgc2ltcGx5IHVzZSBhIHNvcGhpc3RpY2F0ZWQgc2VydmxldCBm aWx0ZXIgdGhhdCBoYW5kbGVzIHRoZSByZXF1ZXN0IGV4Y2hhbmdpbmcgYmVmb3JlIGFuZCB0aGUg cmVzb3VyY2UgY2xlYW51cCBhZnRlciBjdXN0b20gcmVxdWVzdCBwcm9jZXNzaW5nLg0KCQ0KCVRo ZSBiYXNpYyBpZGVhIGlzIGluc3BpcmVkIGJ5IEphc29uIEh1bnRlcidzIE11bHRpcGFydEZpbHRl ciwgYnV0IHVzaW5nIHRoZSBnZW5lcmljIGludGVyZmFjZXMgdGhhdCBJJ3ZlIHByb3Bvc2VkLCBh bmQgaW5jbHVkaW5nIHJlc291cmNlIGNsZWFudXAuIEFuIEFic3RyYWN0TXVsdGlwYXJ0RmlsdGVy IGltcGxlbWVudHMgYWxsIHRoZSBwcm9jZXNzaW5nIGFuZCBjbGVhbnVwLCB1c2luZyBhIHNpbXBs ZSB0ZW1wbGF0ZSBtZXRob2QgIk11bHRpcGFydFNlcnZsZXRSZXF1ZXN0IGNyZWF0ZU11bHRpcGFy dFJlcXVlc3QoSHR0cFNlcnZsZXRSZXF1ZXN0KSIuIENvbmNyZXRlIHN1YmNsYXNzZXMgbGlrZSBD b3NNdWx0aXBhcnRGaWx0ZXIgYW5kIEpha2FydGFNdWx0aXBhcnRGaWx0ZXIgc2ltcGx5IGltcGxl bWVudCB0aGlzIHRlbXBsYXRlIG1ldGhvZCwgaS5lLiByZXR1cm4gdGhlaXIgaW1wbGVtZW50YXRp b24gb2YgdGhlIE11bHRpcGFydFNlcnZsZXRSZXF1ZXN0IGludGVyZmFjZSAoYXNzdW1hYmx5IGEg c3ViY2xhc3Mgb2YgYSBwcm92aWRlZCBBYnN0cmFjdE11bHRpcGFydFNlcnZsZXRSZXF1ZXN0IHRo YXQgaW1wbGVtZW50cyB0aGUgY29udmVuaWVuY2Ugc3R1ZmYpLg0KCQ0KCVRoZSBtYWpvciBhZHZh bnRhZ2Ugb2YgdGhlIGZpbHRlciBhcHByb2FjaCBpcyB0aGF0IGl0IGlzIGNvbXBsZXRlbHkgaW5k ZXBlbmRlbnQgb2YgdGhlIHJlc3Qgb2YgU3ByaW5nLiBJbiBmYWN0IGl0IGNvdWxkIGJlIGEgc2Vw YXJhdGUgc21hbGwgbGlicmFyeSwgYnV0IGl0IGRvZXNuJ3QgbmVlZCB0byBiZSAtIGZpbmUtZ3Jh bnVsYXIgcmV1c2FiaWxpdHkgZXZlbiBpbiBhIGxhcmdlciBsaWJyYXJ5IGlzIG1vcmUgaW1wb3J0 YW50IHRoYW4gYSBsb3Qgb2Ygc21hbGwgZnJhY3R1cmVkIEpBUnMsIElNSE8uIEFueXdheSwgYSBt dWx0aXBhcnQgZmlsdGVyIGNvdWxkIGJlIHVzZWQgaW4gYW55IHdlYiBhcHBsaWNhdGlvbiwgbm8g bWF0dGVyIHdoYXQgb3RoZXIgU3ByaW5nIHBhcnRzIGFyZSB1c2VkIGluIHRoYXQgYXBwLiBBbmQg SSBkb24ndCBzZWUgYSBkcmF3YmFjayBjb21wYXJlZCB0byBkaXJlY3Qgc3VwcG9ydCB3aXRoaW4g Q29udHJvbGxlclNlcnZsZXQsIGFzIGZpbHRlciBtYXBwaW5ncyBhbGxvdyBmb3IgZmxleGlibGUg Y29uZmlndXJhdGlvbiwgZXZlbiBwZXIgc3BlY2lmaWMgY29udHJvbGxlciBpZiBkZXNpcmVkLg0K CQ0KCUFwcm9wb3MgY29uZmlndXJhdGlvbjogU3VjaCBhIGZpbHRlciB3b3VsZCBoYXZlIHRvIGJl IGNvbmZpZ3VyZWQgaW4gd2ViLnhtbCBpbnN0ZWFkIG9mIGluIGEgU3ByaW5nIGFwcGxpY2F0aW9u IGNvbnRleHQuIEJ1dCB0aGF0IHNob3VsZG4ndCBtYXR0ZXIsIGFzIG5vIG90aGVyIGJlYW5zIG5l ZWQgdG8ga25vdyBvciB1c2UgbXVsdGlwYXJ0IGhhbmRsZXJzLiBGb3IgZWFzZSBvZiBwYXJhbWV0 ZXIgcGFyc2luZywgQWJzdHJhY3RNdWx0aXBhcnRGaWx0ZXIgc2hvdWxkIGV4dGVuZCBGaWx0ZXJC ZWFuLCBhIG5ldyBTcHJpbmcgZmlsdGVyIGJhc2UgY2xhc3MgdGhhdCBiaW5kcyBpdHMgY29uZmln IHBhcmFtZXRlcnMgdG8gYmVhbiBwcm9wZXJ0aWVzLCBhbmFsb2dvdXMgdG8gSHR0cFNlcnZsZXRC ZWFuLg0KCQ0KCUlNTywgdGhlcmUncyBzaWduaWZpY2FudCBhZGRlZCB2YWx1ZSBpbiBzdWNoIGEg bXVsdGlwYXJ0IGZpbHRlci4gQ09TIHByb3ZpZGVzIGEgcmF0aGVyIHByaW1pdGl2ZSBmaWx0ZXIg d2l0aG91dCByZXNvdXJjZSBjbGVhbnVwIC0gdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlciBoYXMg dG8gY2FyZSBhYm91dCB0ZW1wb3JhcnkgZmlsZSBjbGVhbnVwLCBldmVuIGluIGNhc2UgYSBTZXJ2 bGV0RXhjZXB0aW9uIGJlaW5nIHRocm93biAtLCBhbmQgbm8gc3VwcG9ydCBmb3IgaW4tbWVtb3J5 IHN0b3JhZ2UuIEpha2FydGEgQ29tbW9ucyBGaWxlVXBsb2FkIHByb3ZpZGVzIHRoZSBsYXR0ZXIg YnV0IG5vIGZpbHRlciBvciBIdHRwU2VydmxldFJlcXVlc3Qgd3JhcHBlciwgYXMgaXQgY3VycmVu dGx5IGp1c3Qgc2VydmVzIGFzIGxvdy1sZXZlbCBtdWx0aXBhcnQgcHJvdG9jb2wgaGFuZGxlciBm b3IgU3RydXRzLiBJbXBsZW1lbnRpbmcgdGhlIHByb3Bvc2VkIGFwcHJvYWNoIGZvciBib3RoIHNo b3VsZCBiZSBzdHJhaWdodGZvcndhcmQgYW5kIHJlc3VsdCBpbiBhIHZlcnkgdGhpbiBsYXllciBv biB0b3AuDQoJDQoJV2hhdCBkbyB5b3UgdGhpbms/DQoJDQoJSnVlcmdlbg0KCQ0KCQ0KCQ0KCSAg ICAgICAgLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQ0KCSAgICAgICAgVm9uOiBK w7xyZ2VuIEjDtmxsZXIgW21haWx0bzpqdWVyZ2VuLmhvZWxsZXJAbGl3ZXN0LmF0XQ0KCSAgICAg ICAgR2VzZW5kZXQ6IE1vIDI0LjAyLjIwMDMgMTY6MjQNCgkgICAgICAgIEFuOiBzcHJpbmdmcmFt ZXdvcmstZGV2ZWxvcGVyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCSAgICAgICAgQ2M6DQoJICAg ICAgICBCZXRyZWZmOiBbU3ByaW5nZnJhbWV3b3JrLWRldmVsb3Blcl0gRmlsZSB1cGxvYWQgYWth IG11bHRpcGFydCByZXF1ZXN0IGhhbmRsaW5nDQoJICAgICAgIA0KCSAgICAgICANCgkNCgkgICAg ICAgIEhpIGV2ZXJ5Ym9keSwNCgkgICAgICAgDQoJICAgICAgICBJJ2QgbGlrZSB0byBjb21tdW5p Y2F0ZSBhbiBpZGVhIHRoYXQgSSd2ZSBiZWVuIHRoaW5raW5nIGFib3V0IGZvciBxdWl0ZSBhDQoJ ICAgICAgICB3aGlsZS4gQ3VycmVudGx5IGhhbmdpbmcgYXJvdW5kIGF0IGhvbWUgYmVpbmcgYSBi aXQgc2ljaywgdGhpcyBpcyBhIGdvb2Qgd2F5DQoJICAgICAgICB0byB1c2UgdGhlIHRpbWUuLi4g Oy0pIEFueXdheSwgSSd2ZSBhbHJlYWR5IHJhaXNlZCB0aGUgdG9waWMgb2YgdXRpbGl0eQ0KCSAg ICAgICAgbGlicmFyaWVzIG9uIHRoZSBXcm94IGZvcnVtIHNvbWUgdGltZSBhZ28sIGFuZCBJJ3Zl IGRvbmUgc29tZSByZXNlYXJjaA0KCSAgICAgICAgc2luY2UuIFRoZSBtYWluIGlzc3VlIGlzIGZp bGUgdXBsb2FkIGFrYSBtdWx0aXBhcnQgcmVxdWVzdCBoYW5kbGluZy4NCgkgICAgICAgDQoJICAg ICAgICBUaGVyZSBhcmUgY3VycmVudGx5IDIgbm90ZXdvcnRoeSByZXVzYWJsZSB1cGxvYWQgbGli cmFyaWVzOg0KCSAgICAgICAgLSBKYXNvbiBIdW50ZXIncyBDT1MgKGNvbS5vcmVpbGx5LnNlcnZs ZXQpOiB0aGUgY2xhc3NpYywgdW5kZXIgSmFzb24ncyAiYnV5DQoJICAgICAgICBteSBib29rIiBs aWNlbnNlOw0KCSAgICAgICAgLSBKYWthcnRhJ3MgQ29tbW9ucyBGaWxlVXBsb2FkIChjdXJyZW50 bHkgMS4wIGJldGEpOiBhIG5ldyBhbHRlcm5hdGl2ZSwNCgkgICAgICAgIHVuZGVyIHRoZSBBcGFj aGUgbGljZW5zZS4NCgkgICAgICAgDQoJICAgICAgICBUaGUgbGF0dGVyIGlzIG5vdyB0aGUgZGVm YXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBTdHJ1dHMgMS4xJ3MNCgkgICAgICAgIE11bHRpcGFydFJl cXVlc3RIYW5kbGVyIChhbHRlcm5hdGl2ZWx5LCBTdHJ1dHMgc3RpbGwgaGFzIHRoZSBvbGQgMS4w DQoJICAgICAgICBpbXBsZW1lbnRhdGlvbiwgdGhlIHNpbXBsZSBEaXNrTXVsdGlwYXJ0UmVxdWVz dEhhbmRsZXIpLiBDT1MgbWF5IGJlIG9sZGVyDQoJICAgICAgICBhbmQgYmV0dGVyIHRlc3RlZCwg YnV0IENvbW1vbnMgRmlsZVVwbG9hZCBpcyBtb3JlIHNvcGhpc3RpY2F0ZWQ6IEZvcg0KCSAgICAg ICAgZXhhbXBsZSwgaXQgY2FuIGtlZXAgdXBsb2FkZWQgZmlsZXMgc21hbGxlciB0aGFuIGEgc3Bl Y2lmaWVkIHRocmVzaG9sZCBpbg0KCSAgICAgICAgbWVtb3J5IGluc3RlYWQgb2Ygd3JpdGluZyBl dmVyeXRoaW5nIHRlbXBvcmFyaWx5IHRvIGRpc2suDQoJICAgICAgIA0KCSAgICAgICAgTXkgZ29h bCBpcyB0byBzdXBwb3J0IGZpbGUgdXBsb2FkIHdpdGhpbiBTcHJpbmcncyB3ZWIgcGFja2FnZSwg aW4gYQ0KCSAgICAgICAgc3RyYWlnaHRmb3J3YXJkIGFuZCBwbHVnZ2FibGUgd2F5LiBUaGUgb2J2 aW91cyB3YXkgd291bGQgYmUgc29tZSBtdWx0aXBhcnQNCgkgICAgICAgIGNoZWNrIGluIENvbnRy b2xsZXJTZXJ2bGV0J3MgZG9TZXJ2aWNlIG1ldGhvZCB0aGF0IGV4Y2hhbmdlcyB0aGUgc3RhbmRh cmQNCgkgICAgICAgIEh0dHBTZXJ2bGV0UmVxdWVzdCB3aXRoIGEgd3JhcHBpbmcgTXVsdGlwYXJ0 U2VydmxldFJlcXVlc3QgKGFuIGludGVyZmFjZQ0KCSAgICAgICAgZGVyaXZlZCBmcm9tIEh0dHBT ZXJ2bGV0UmVxdWVzdCkgaWYgaXQgZGV0ZWN0cyBhIG11bHRpcGFydCByZXF1ZXN0Lg0KCSAgICAg ICAgQ29udHJvbGxlciBpbXBsZW1lbnRhdGlvbnMgY2FuIGNoZWNrIGZvciBhIG11bHRpcGFydCBy ZXF1ZXN0IHZpYSAicmVxdWVzdA0KCSAgICAgICAgaW5zdGFuY2VvZiBNdWx0aXBhcnRTZXJ2bGV0 UmVxdWVzdCIsIG9yIHNpbXBseSBjYXN0IHRvIHRoZSBjbGFzcyBpZiB0aGV5DQoJICAgICAgICBl eHBlY3Qgb25lLg0KCSAgICAgICANCgkgICAgICAgIFRoZSBmb2xsb3dpbmcgcHJvcG9zYWwgZm9y IFNwcmluZydzIG11bHRpcGFydCBoYW5kbGVyIGludGVyZmFjZXMgaXMNCgkgICAgICAgIG9idmlv dXNseSBpbnNwaXJlZCBieSBib3RoIENPUycgTXVsdGlwYXJ0UmVxdWVzdCBhbmQgQ29tbW9ucyBG aWxlVXBsb2FkJ3MNCgkgICAgICAgIEZpbGVJdGVtIGNsYXNzZXMsIHNvIGRvbid0IGJsYW1lIG1l ISA7LSkgSXQgc2hvdWxkIGJlIGVhc3kgdG8gd3JpdGUNCgkgICAgICAgIGltcGxlbWVudGF0aW9u cyBmb3IgQ09TIGFuZCBDb21tb25zIEZpbGVVcGxvYWQgdGhhdCB3ZSBjb3VsZCBpbmNsdWRlIG91 dCBvZg0KCSAgICAgICAgdGhlIGJveC4gT2YgY291cnNlLCB3ZSBhcmUgb25seSBhbGxvd2VkIHRv IGluY2x1ZGUgQ29tbW9ucyBGaWxlVXBsb2FkIGluIGENCgkgICAgICAgIFNwcmluZyBkaXN0cmli dXRpb24sIGluIHRlcm1zIG9mIGxpY2Vuc2UuIFdob2V2ZXIgd2FudHMgdG8gdXNlIENPUyBjb3Vs ZA0KCSAgICAgICAgc2ltcGx5IGRvd25sb2FkIGl0LCBhZGQgaXQgdG8gaGlzIHdlYiBhcHAgbGli cmFyaWVzLCBhbmQgY29uZmlndXJlIGFmZmVjdGVkDQoJICAgICAgICBTcHJpbmcgY29udHJvbGxl ciBzZXJ2bGV0cyBhY2NvcmRpbmdseS4NCgkgICAgICAgDQoJICAgICAgICBUaGUgTXVsdGlwYXJ0 U2VydmxldFJlcXVlc3QgaW50ZXJmYWNlIG5lZWRzIHRvIHN1cHBvcnQgZ2V0UGFyYW1ldGVyIGFu ZA0KCSAgICAgICAgYXNzb2NpYXRlZCBtZXRob2RzLCB0byBiZSBhYmxlIHRvIGhhbmRsZSBzaW1w bGUgcGFyYW1ldGVycyBpbiBhIG11bHRpcGFydA0KCSAgICAgICAgcmVxdWVzdCB0cmFuc3BhcmVu dGx5LCBqdXN0IGxpa2Ugd2hlbiBkZWFsaW5nIHdpdGggYSBub3JtYWwgcmVxdWVzdC4gRm9yDQoJ ICAgICAgICBmaWxlIGhhbmRsaW5nLCBJIHByb3Bvc2UgdG8gYWRkIHRoZSBmb2xsb3dpbmcgbWV0 aG9kcyBiZXlvbmQNCgkgICAgICAgIEh0dHBTZXJ2bGV0UmVxdWVzdCwgYW5hbG9nb3VzIHRvIHBh cmFtZXRlciBoYW5kbGluZzoNCgkgICAgICAgIC0gTXVsdGlwYXJ0RmlsZSBnZXRGaWxlKFN0cmlu ZyBuYW1lKS4uLiByZXR1cm5pbmcgYSBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZQ0KCSAgICAgICAg c3BlY2lmaWVkIGZpbGUsIG9yIG51bGwNCgkgICAgICAgIC0gTWFwIGdldEZpbGVNYXAoKS4uLiBy ZXR1cm5pbmcgYSBNYXAgd2l0aCBmaWxlIG5hbWVzIGFzIGtleXMgYW5kDQoJICAgICAgICBNdWx0 aXBhcnRGaWxlIGluc3RhbmNlcyBhcyB2YWx1ZXMNCgkgICAgICAgIC0gY2xlYXJGaWxlUmVzb3Vy Y2VzKCkuLi4gY2xlYXJpbmcgYWxsIHRlbXBvcmFyeSBmaWxlIHJlc291cmNlcw0KCSAgICAgICAg KGF1dG9tYXRpY2FsbHkgY2FsbGVkIGJ5IENvbnRyb2xsZXJTZXJ2bGV0IGFmdGVyIENvbnRyb2xs ZXIgcHJvY2Vzc2luZykNCgkgICAgICAgDQoJICAgICAgICBNdWx0aXBhcnRGaWxlIGlzIGFuIGlu dGVyZmFjZSB3aXRoIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoNCgkgICAgICAgIC0gSW5wdXRTdHJl YW0gZ2V0SW5wdXRTdHJlYW0oKS4uLiByZXR1cm5pbmcgYW4gaW5wdXQgc3RyZWFtIHdpdGggdGhl DQoJICAgICAgICBjb250ZW50cyBvZiB0aGUgZmlsZQ0KCSAgICAgICAgLSBTdHJpbmcgZ2V0Rmls ZU5hbWUoKS4uLiByZXR1cm5pbmcgdGhlIG9yaWdpbmFsIGZpbGUgbmFtZSBnaXZlbiBieSB0aGUN CgkgICAgICAgIGNsaWVudA0KCSAgICAgICAgLSBTdHJpbmcgZ2V0Q29udGVudFR5cGUoKS4uLiBy ZXR1cm5pbmcgdGhlIGNvbnRlbnQgdHlwZSBnaXZlbiBieSB0aGUgY2xpZW50DQoJICAgICAgIA0K CSAgICAgICAgVGhlc2Ugc2hvdWxkIGFsbG93IGZvciBib3RoIHNpbXBsZSBpbXBsZW1lbnRhdGlv bnMgYW5kIHNpbXBsZSB1c2FnZSBieQ0KCSAgICAgICAgY3VzdG9tIGNvbnRyb2xsZXIgaW1wbGVt ZW50YXRpb25zLiBUaGUgaW50ZXJmYWNlcyBjb3VsZCBldmVuIGJlIHVzZWQgYnkNCgkgICAgICAg IEpTUHMsIGFzIHRoZSB3cmFwcGVkIHJlcXVlc3Qgd2lsbCBhbHNvIGJlIHVzZWQgd2hlbiBmb3J3 YXJkaW5nLCBhbHRob3VnaA0KCSAgICAgICAgdGhhdCBpcyBub3QgcmVjb21tZW5kZWQgcHJhY3Rp Y2UuIE5vcm1hbGx5LCBhIGN1c3RvbSB1cGxvYWQgY29udHJvbGxlciB3aWxsDQoJICAgICAgICBl dmFsdWF0ZSB0aGUgdXBsb2FkZWQgZmlsZXMgYW5kIHBhcmFtZXRlcnMsIGFuZCB0cmFuc2ZlciB0 aGVtIHRvIHNvbWUNCgkgICAgICAgIGFwcGxpY2F0aW9uLXNwZWNpZmljIHN0b3JhZ2UgbG9jYXRp b24gdGhhdCBjb3VsZCBiZSBhIGZpbGVzeXN0ZW0gb3IgYQ0KCSAgICAgICAgZGF0YWJhc2UuIEZv ciBhcHBsaWNhdGlvbiBwcm9ncmFtbWVycywgaXQgaXMgbm90IGltcG9ydGFudCB3aGVyZSB0aGUg ZmlsZXMNCgkgICAgICAgIGFyZSBzdG9yZWQgdGVtcG9yYXJpbHkgb3IgaWYgdGhleSBhcmUgc3Rv cmVkIG9uIGRpc2sgYXQgYWxsLCB0aGVyZWZvcmUgdGhlDQoJICAgICAgICBpbnRlcmZhY2VzIGRv IG5vdCBjb3ZlciBzdWNoIGFzcGVjdHMuIEVzc2VudGlhbGx5LCBtdWx0aXBhcnQgaGFuZGxpbmcg c2hvdWxkDQoJICAgICAgICBiZSBhcyBlYXN5IGFuZCB0cmFuc3BhcmVudCBhcyBwb3NzaWJsZS4N CgkgICAgICAgDQoJICAgICAgICBGaW5hbGx5LCBob3cgd2lsbCBhIENvbnRyb2xsZXJTZXJ2bGV0 IHJldHJpZXZlIGEgTXVsdGlwYXJ0U2VydmxldFJlcXVlc3QNCgkgICAgICAgIGluc3RhbmNlLCB1 c2luZyB0aGUgdG9vbGtpdCBvZiB0aGUgYXBwbGljYXRpb24ncyBjaG9pY2U/IEEgc3RyYWlnaHRm b3J3YXJkDQoJICAgICAgICBTcHJpbmcgd2F5IHdvdWxkIGJlIHRvIGRlZmluZSBhIHN0YW5kYXJk IGJlYW4gbmFtZSAibXVsdGlwYXJ0UmVzb2x2ZXIiDQoJICAgICAgICAoYW5hbG9nb3VzIHRvICJ2 aWV3UmVzb2x2ZXIiIGFuZCAibG9jYWxlUmVzb2x2ZXIiKSB0aGF0IG5lZWRzIHRvIGltcGxlbWVu dA0KCSAgICAgICAgdGhlIGludGVyZmFjZSBNdWx0aXBhcnRSZXNvbHZlcjoNCgkgICAgICAgIC0g TXVsdGlwYXJ0U2VydmxldFJlcXVlc3QgY3JlYXRlTXVsdGlwYXJ0UmVxdWVzdChIdHRwU2Vydmxl dFJlcXVlc3QNCgkgICAgICAgIHJlcXVlc3QpLi4uIGNyZWF0aW5nIGEgd3JhcHBlcg0KCSAgICAg ICAgLSBib29sZWFuIGhhc011bHRpcGFydENvbnRlbnQoSHR0cFNlcnZsZXRSZXF1ZXN0IHJlcXVl c3QpLi4uIGNoZWNraW5nIHRoZQ0KCSAgICAgICAgY29udGVudCB0eXBlDQoJICAgICAgIA0KCSAg ICAgICAgT2YgY291cnNlLCBDb250cm9sbGVyU2VydmxldCBzaG91bGQgc2ltcGx5IGlnbm9yZSBt dWx0aXBhcnQgaGFuZGxpbmcgd2hlbg0KCSAgICAgICAgdGhlcmUncyBubyAibXVsdGlwYXJ0UmVz b2x2ZXIiIGJlYW4sIG1heWJlIGxvZyBhIHdhcm5pbmcgb24gaW5pdGlhbGl6YXRpb24uDQoJICAg ICAgIA0KCSAgICAgICAgV2hhdCBkbyB5b3UgdGhpbms/IElmIHdlIHNldHRsZSBvbiB0aGUgcHJv cG9zYWwsIEkgY291bGQgaW1wbGVtZW50IGl0DQoJICAgICAgICBwcm9tcHRseSAocmlnaHQgYWZ0 ZXIgbG9jYWxlIHJlc29sdXRpb24pLiBJIGRlZmluaXRlbHkgY29uc2lkZXIgZmlsZSB1cGxvYWQN CgkgICAgICAgIGEgMS4wIGlzc3VlLCBhcyBib3RoIFN0cnV0cyBhbmQgV2ViV29yayBoYXZlIGJ1 aWx0LWluIHN1cHBvcnQgZm9yIGl0Lg0KCSAgICAgICANCgkgICAgICAgIEp1ZXJnZW4NCgkNCglO GEhZWHV7Tlg4dQd+ansXdW54L3F5yot5ICAgICAgICB12KJOWMaFyot3ayBqKW5XZiF2dBpq165r KH4ge3JHaikgICDUril+ew0KCXpaetuieRvPlivKrceiK35HIA0KDQo= |