Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 0623C200D6C for ; Wed, 29 Nov 2017 02:38:58 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 04DE7160BE7; Wed, 29 Nov 2017 01:38:58 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0CBDF160C15 for ; Wed, 29 Nov 2017 02:38:56 +0100 (CET) Received: (qmail 58221 invoked by uid 500); 29 Nov 2017 01:38:56 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 58200 invoked by uid 99); 29 Nov 2017 01:38:55 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Nov 2017 01:38:55 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id EB49E18078B; Wed, 29 Nov 2017 01:38:54 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.302 X-Spam-Level: X-Spam-Status: No, score=-2.302 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id SFkJq7d4I-5i; Wed, 29 Nov 2017 01:38:50 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 4C37C5F177; Wed, 29 Nov 2017 01:38:50 +0000 (UTC) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2017 17:38:43 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,470,1505804400"; d="scan'208";a="1249710823" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga002.fm.intel.com with ESMTP; 28 Nov 2017 17:38:41 -0800 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 28 Nov 2017 17:38:39 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 28 Nov 2017 17:38:39 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Wed, 29 Nov 2017 09:38:35 +0800 From: "Li, Jiajia" To: "kerby@directory.apache.org" , "coheigea@apache.org" CC: Apache Directory Developers List Subject: RE: [DISCUSS] Merge HAS to Apache Kerby Thread-Topic: [DISCUSS] Merge HAS to Apache Kerby Thread-Index: AdNk0zvnn+wxzNXITnyeM4thxWjcBACV7RIAAC7/CbAACB7gAAAqk1ww Date: Wed, 29 Nov 2017 01:38:35 +0000 Message-ID: <9037BCED616A964EB486B12FCA9DCFCF3BD80D77@shsmsx102.ccr.corp.intel.com> References: <9037BCED616A964EB486B12FCA9DCFCF3BD7DF5E@shsmsx102.ccr.corp.intel.com> <9037BCED616A964EB486B12FCA9DCFCF3BD7FD87@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjZjMWNlNjAtZjA4My00ZTQ5LWE1Y2YtMDBkNDNmMjllYzFjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IjBpbkN3VlBMVVEwb0FPNHJWVjd0WFZ6ZWxHNVZrQU05RkxMR0VoczZHa0E9In0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 archived-at: Wed, 29 Nov 2017 01:38:58 -0000 VGhhbmtzIENvbG0gZm9yIHRha2luZyB0aW1lIHRvIHJldmlldy4NCg0KPiBUaGVyZSBhcmUgbm8g SGFzQ2xpZW50UGx1Z2luIGltcGxlbWVudGF0aW9ucyBpbiB0aGUgY29tbWl0ICh1bmxlc3MgSSBt aXNzZWQgdGhlbSkuIElzIHRoZSBwbGFuIHRvIHByb3ZpZGUgc29tZSBsYXRlciBvbiwgb3IgaXMg dGhlIHVzZXIgc3VwcG9zZWQgdG8gaW1wbGVtZW50IHRoZWlyIG93bj8NCg0KVXNlcnMgc2hvdWxk IGltcGxlbWVudCB0aGVpciBvd24gcGx1Z2lucywgdGhleSBjb3VsZCBjdXN0b21pemUgdGhlaXIg b3duIHBsdWdpbnMsIGFuZCB3ZSBwbGFuIHRvIHByb3ZpZGUgdGhlIGRlZmF1bHQgaW1wbGVtZW50 YXRpb24gYXMgYW4gZXhhbXBsZSBpbiB0aGUgZnV0dXJlIHdvcmsuIA0KDQoNCj4gSWYgd2Ugd2Fu dCB0byBnZXQgS2VyYnkgdG8gaXNzdWUgYSBUR1QgdXNpbmcgYW4gQXV0aFRva2VuIGN1cnJlbnRs eSwgd2UgaGF2ZSB0byB1c2UgYSB0b2tlbiBhcm1vciBjYWNoZS4gSW4gSEFTLCB3aGVuIGl0IHF1 ZXJpZXMgS2VyYnkgdG8gZ2V0IGEgVEdUIHVzaW5nIHRoZSB2ZXJpZmllZCBBdXRoVG9rZW4sIGlz IHRoaXMganVzdCBhbiAiaW50ZXJuYWwiIGNhbGwgc28gd2UgY2FuIGF2b2lkIHRoaXMgc3RlcD8N Cg0KWW91IGFyZSByaWdodCwgaW4gSEFTLCBBdXRoVG9rZW4gYW5kIFRHVCBhcmUgdHJhbnNmZXJl ZCBieSBIVFRQUyBiZXR3ZWVuIGNsaWVudCBhbmQgc2VydmVyLCBzbyB3ZSBza2lwIHRoZSBzdGVw IHVzaW5nIHRoZSBhcm1vciBjYWNoZS4NCg0KDQo+IEknbSBub3Qgc3VyZSB3aHkgd2UgbmVlZCB0 byB2ZXJpZnkgdGhlIHVzZXIgaW5mb3JtYXRpb24gaW4gdGhlIFNRTCBiYWNrZW5kLg0KPiBJZiB0 aGUgcmVjZWl2ZWQgQXV0aFRva2VuIGlzIHNpZ25lZCBieSBhIHRydXN0ZWQgSWRQLCBjYW4gd2Ug bm90IGp1c3QgYWNjZXB0IHRoZSBpZGVudGl0eSBvZiB0aGUgdXNlciAiYXMgaXMiIGFuZCBza2lw IHRoaXMgc3RlcD8NCg0KVGhlIE15U1FMIGluIGRlc2lnbiBpcyBub3QgdXNlZCBhcyB0aGUgYmFj a2VuZCwgaXQncyBhbiBleGFtcGxlIG9mIGV4aXN0aW5nIHVzZXIgYXV0aGVudGljYXRpb24gc3lz dGVtLg0KDQoNCj4gS2luaXRUb29sIGFuZCBLaW5pdE9wdGlvbiBpbiBoYXMtY2xpZW50LXRvb2wg ZHVwbGljYXRlIHRoZSBLZXJieSB2ZXJzaW9ucyB3aXRoIGp1c3QgYSBmZXcgY2hhbmdlcy4gQ2Fu IHRoZSBjaGFuZ2VzIGJlIHJvbGxlZCBpbnRvIEtlcmJ5IHRvIHByZXZlbnQgY29kZSBkdXBsaWNh dGlvbj8NCg0KU3VyZSwgd2Ugd2lsbCBtZXJnZSB0aGVzZSB0b29scy4NCg0KVGhhbmtzLA0KSmlh amlhDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBDb2xtIE8gaEVpZ2VhcnRh aWdoIFttYWlsdG86Y29oZWlnZWFAYXBhY2hlLm9yZ10gDQpTZW50OiBUdWVzZGF5LCBOb3ZlbWJl ciAyOCwgMjAxNyA5OjEyIFBNDQpUbzogTGksIEppYWppYSA8amlhamlhLmxpQGludGVsLmNvbT4N CkNjOiBrZXJieUBkaXJlY3RvcnkuYXBhY2hlLm9yZzsgQXBhY2hlIERpcmVjdG9yeSBEZXZlbG9w ZXJzIExpc3QgPGRldkBkaXJlY3RvcnkuYXBhY2hlLm9yZz4NClN1YmplY3Q6IFJlOiBbRElTQ1VT U10gTWVyZ2UgSEFTIHRvIEFwYWNoZSBLZXJieQ0KDQpUaGFua3MgSmlhamlhLCB0aGF0IHdhcyB2 ZXJ5IGhlbHBmdWwuIEkgaGF2ZSBzb21lIHF1ZXN0aW9uczoNCg0KVGhlcmUgYXJlIG5vIEhhc0Ns aWVudFBsdWdpbiBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIGNvbW1pdCAodW5sZXNzIEkgbWlzc2Vk IHRoZW0pLiBJcyB0aGUgcGxhbiB0byBwcm92aWRlIHNvbWUgbGF0ZXIgb24sIG9yIGlzIHRoZSB1 c2VyIHN1cHBvc2VkIHRvIGltcGxlbWVudCB0aGVpciBvd24/DQoNCklmIHdlIHdhbnQgdG8gZ2V0 IEtlcmJ5IHRvIGlzc3VlIGEgVEdUIHVzaW5nIGFuIEF1dGhUb2tlbiBjdXJyZW50bHksIHdlIGhh dmUgdG8gdXNlIGEgdG9rZW4gYXJtb3IgY2FjaGUuIEluIEhBUywgd2hlbiBpdCBxdWVyaWVzIEtl cmJ5IHRvIGdldCBhIFRHVCB1c2luZyB0aGUgdmVyaWZpZWQgQXV0aFRva2VuLCBpcyB0aGlzIGp1 c3QgYW4gImludGVybmFsIiBjYWxsIHNvIHdlIGNhbiBhdm9pZCB0aGlzIHN0ZXA/DQoNCkknbSBu b3Qgc3VyZSB3aHkgd2UgbmVlZCB0byB2ZXJpZnkgdGhlIHVzZXIgaW5mb3JtYXRpb24gaW4gdGhl IFNRTCBiYWNrZW5kLg0KSWYgdGhlIHJlY2VpdmVkIEF1dGhUb2tlbiBpcyBzaWduZWQgYnkgYSB0 cnVzdGVkIElkUCwgY2FuIHdlIG5vdCBqdXN0IGFjY2VwdCB0aGUgaWRlbnRpdHkgb2YgdGhlIHVz ZXIgImFzIGlzIiBhbmQgc2tpcCB0aGlzIHN0ZXA/DQoNCktpbml0VG9vbCBhbmQgS2luaXRPcHRp b24gaW4gaGFzLWNsaWVudC10b29sIGR1cGxpY2F0ZSB0aGUgS2VyYnkgdmVyc2lvbnMgd2l0aCBq dXN0IGEgZmV3IGNoYW5nZXMuIENhbiB0aGUgY2hhbmdlcyBiZSByb2xsZWQgaW50byBLZXJieSB0 byBwcmV2ZW50IGNvZGUgZHVwbGljYXRpb24/DQoNCkNvbG0uDQoNCk9uIFR1ZSwgTm92IDI4LCAy MDE3IGF0IDI6MTYgQU0sIExpLCBKaWFqaWEgPGppYWppYS5saUBpbnRlbC5jb20+IHdyb3RlOg0K DQo+IFRoYW5rcyBDb2xtLg0KPg0KPiA+IEl0IHNvdW5kcyBsaWtlIGEgcmVhbGx5IGludGVyZXN0 aW5nIHByb2plY3QuDQo+IEknbSBnbGFkIHRvIGhlcmUgdGhhdC4NCj4NCj4gPiBIYXZlIHlvdSBn b3QgYW55IGZlZWRiYWNrIGZyb20gdGhlIEhhZG9vcCBwcm9qZWN0IGFib3V0IGl0Pw0KPiBXZSBo YXZlbid0IHByb3Bvc2VkIHRoaXMgc29sdXRpb24gaW4gdGhlIGhhZG9vcCBjb21tdW5pdHkuDQo+ DQo+ID4gSSdtIGZpbmRpbmcgaXQgaGFyZCB0byB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IGl0IHdv cmtzIHRob3VnaCBiYXNlZCANCj4gPiBvbg0KPiB0aGUgUkVBRE1FLiBDb3VsZCB5b3UgZGVzY3Jp YmUgaG93IGl0IHdvcmtzIGZyb20gYSByZWFsbHkgYmFzaWMgcG9pbnQgDQo+IG9mIHZpZXcgZm9y IHNheSBhIHNpbXBsZSBIYWRvb3AgY2xpZW50PyBOb3JtYWxseSBJIGp1c3QgaGF2ZSB0byB1c2Ug DQo+ICJraW5pdCIgdG8gZ2V0IGEga2VyYmVyb3MgdGlja2V0IGFuZCB0aGVuIEkgYW0gYXV0aGVu dGljYXRlZCB0byBpbnZva2UgDQo+IG9uIEhERlMuIEhvdyBkb2VzIEhBUyB3b3JrIGRpZmZlcmVu dGx5PyBXaGVyZSBkb2VzIHRoZSB0b2tlbiBwcmUtYXV0aCBzdHVmZiBmaXQgaW4/DQo+DQo+IEZv bGxvd2luZyBhcmUgdGhlIHN0ZXBzIG9mIHVzZXIgYWNjZXNzaW5nIEhERlMgc2VydmljZSwgdGFr aW5nIHRoZSBjbWQgDQo+ICJoYWRvb3AgZnMgLWxzIC8iIGFzIGFuIGV4YW1wbGU6DQo+IDEuIHVz ZXIgcnVucyB0aGUgY29tbWFuZCAiaGFkb29wIGZzIC1scyAvIg0KPiAyLiBIYWRvb3AgY2xpZW50 IHdpbGwgY2FsbCB0aGUgIkhhc0xvZ2luTW9kdWxlIiwNCj4gaHR0cHM6Ly9naXRodWIuY29tL2Fw YWNoZS9kaXJlY3Rvcnkta2VyYnkvYmxvYi9oYXMtDQo+IHByb2plY3QvaGFzL2hhcy1jbGllbnQv c3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2hhZG9vcC8NCj4gaGFzL2NsaWVudC9IYXNMb2dpbk1v ZHVsZS5qYXZhDQo+IDMuICJIYXNMb2dpbk1vZHVsZSIgd2lsbCBjYWxsIHRoZSAiSGFzQ2xpZW50 IiwgDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvIA0KPiBkaXJlY3Rvcnkta2VyYnkvYmxv Yi80Mzg5MDRmN2U1NTdhMDg1YzhjMzM2ZWZkMmQyYmUNCj4gMzA0MjkxZDI0Ni9oYXMvaGFzLWNs aWVudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvaGFkb29wLw0KPiBoYXMvY2xpZW50L0hhc0xv Z2luTW9kdWxlLmphdmEjTDIzNw0KPiA0LiAiSGFzQ2xpZW50IiB3aWxsIGdldCB0aGUgcGx1Z2lu IHR5cGUgZnJvbSBjb25maWcsIHRoZW4gY2hvb3NlIHRoZSANCj4gcmlnaHQgY2xpZW50IHBsdWdp biwgdGhlIGNsaWVudCBwbHVnaW4gd2lsbCBjb2xsZWN0IGFuZCBhZGQgc29tZSB1c2VyIA0KPiBp bmZvIHRvICJBdXRoVG9rZW4iLCB0aGUgZm9sbG93aW5nIGlzIHRoZSBjbGllbnQgcGx1Z2luIGlu dGVyZmFjZToNCj4NCj4gLy8gR2V0IHRoZSBsb2dpbiBtb2R1bGUgdHlwZSBJRCwgdXNlZCB0byBk aXN0aW5ndWlzaCB0aGlzIG1vZHVsZSBmcm9tIA0KPiBvdGhlcnMuDQo+IC8vIFNob3VsZCBjb3Jy ZXNwb25kIHRvIHRoZSBzZXJ2ZXIgc2lkZSBtb2R1bGUuDQo+IFN0cmluZyBnZXRMb2dpblR5cGUo KQ0KPg0KPiAvLyBQZXJmb3JtIGFsbCB0aGUgY2xpZW50IHNpZGUgbG9naW4gbG9naWNzLCB0aGUg cmVzdWx0cyB3cmFwcGVkIGluIGFuIA0KPiBBdXRoVG9rZW4sIC8vIHdpbGwgYmUgdmFsaWRhdGVk IGJ5IEhBUyBzZXJ2ZXIuDQo+IEF1dGhUb2tlbiBsb2dpbihDb25mIGxvZ2luQ29uZikgdGhyb3dz IEhhc0xvZ2luRXhjZXB0aW9uDQo+DQo+IDUuIFRoZW4gIkhhc0NsaWVudCIgc2VuZHMgdGhlICJB dXRoVG9rZW4iIHRvIEhBUyBTZXJ2ZXIgdGhyb3VnaCBIVFRQUzsgDQo+IDYuIEFmdGVyIEhBUyBz ZXJ2ZXIgcmVjZWl2ZXMgdGhlIG1lc3NhZ2UsIGl0IHdpbGwgY2FsbCB0aGUgc2VydmVyIA0KPiBw bHVnaW4sIHNlcnZlciBwbHVnaW4gd2lsbCB2ZXJpZnkgdGhlIHVzZXIgaW5mbyBpbiBBdXRoVG9r ZW4sIHRoZSANCj4gZm9sbG93aW5nIGlzIHRoZSBzZXJ2ZXIgcGx1Z2luIGludGVyZmFjZToNCj4N Cj4gLy8gR2V0IHRoZSBsb2dpbiBtb2R1bGUgdHlwZSBJRCwgdXNlZCB0byBkaXN0aW5ndWlzaCB0 aGlzIG1vZHVsZSBmcm9tIA0KPiBvdGhlcnMuDQo+IC8vIFNob3VsZCBjb3JyZXNwb25kIHRvIHRo ZSBjbGllbnQgc2lkZSBtb2R1bGUuDQo+IFN0cmluZyBnZXRMb2dpblR5cGUoKQ0KPg0KPiAvLyBQ ZXJmb3JtIGFsbCB0aGUgc2VydmVyIHNpZGUgYXV0aGVudGljYXRpb24gbG9naWNzLCB0aGUgcmVz dWx0cyANCj4gd3JhcHBlZCBpbiBhbiAiQXV0aFRva2VuIiwgLy8gd2lsbCBiZSB1c2VkIHRvIGV4 Y2hhbmdlIGEgS2VyYmVyb3MgDQo+IHRpY2tldC4NCj4gQXV0aFRva2VuIGF1dGhlbnRpY2F0ZShB dXRoVG9rZW4gdXNlclRva2VuKSB0aHJvd3MgSGFzQXV0aGVuRXhjZXB0aW9uDQo+DQo+IDcuIElm IHRoZSB1c2VyIGluZm8gaXMgdmVyaWZpZWQgaW4gZXhpc3RpbmcgdXNlciBhdXRoZW50aWNhdGlv biANCj4gc3lzdGVtLCBzZXJ2ZXIgcGx1Z2luIHdpbGwgcmV0dXJuIHRoZSB2ZXJpZmllZCAiQXV0 aFRva2VuIiB0byBLZXJieSANCj4gS0RDIDguIEtlcmJ5IEtEQyB3aWxsIGlzc3VlIHRoZSBUR1Qg dGlja2V0IHVzaW5nIHRoZSBUb2tlblByZWF1dGgsIA0KPiB0aGVuIHNlbmQgdGhlIFRHVCB0byBI YXNDbGllbnQgdGhyb3VnaCBIVFRQUyA5LiBOb3cgdXNlciBsb2dpbiANCj4gc3VjY2Vzc2Z1bCwg Y291bGQgY29udGludWUgdGhlIG90aGVycyBzdGVwcywgc3VjaCBhczoNCj4gZ2V0dGluZyBTR1Qg dGlja2V0Lg0KPg0KPiBXZSByZXBsYWNlIHRoZSBzdGVwIHRocm91Z2ggImtpbml0IiB0byBnZXQg S2VyYmVyb3MgVGlja2V0LiBUaGVyZSBhcmUgDQo+IHR3byBpbXBvcnRhbnQgYmVuZWZpdHM6DQo+ IDEuIFRoZSB1c2VyJ3MgcHJpbmNpcGFsIG1heSBub3QgYmUgaW4gdGhlIGJhY2tlbmQsIHNlY3Vy aXR5IGFkbWlucyANCj4gd29uJ3QgaGF2ZSB0byBtaWdyYXRlIGFuZCBzeW5jIHVwIHRoZWlyIHVz ZXIgYWNjb3VudHMgdG8gS2VyYmVyb3MgYmFjayBhbmQgZm9ydGguDQo+IDIuIE11bHRpcGxlIHVz ZXJzIGNvdWxkIHJ1biB0aGUgam9iIGF0IHRoZSBzYW1lIHRpbWUgYW5kIGluIHRoZSBzYW1lIA0K PiBtYWNoaW5lLCB0aHJvdWdoIGNvbGxlY3RpbmcgdXNlciBpbmZvIGZyb20gZW52aXJvbm1lbnQg dmFyaWFibGVzIGluIHN0ZXA0Lg0KPg0KPg0KPiBUaGFua3MsDQo+IEppYWppYQ0KPg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBDb2xtIE8gaEVpZ2VhcnRhaWdoIFttYWls dG86Y29oZWlnZWFAYXBhY2hlLm9yZ10NCj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAyNywgMjAx NyA2OjU0IFBNDQo+IFRvOiBrZXJieUBkaXJlY3RvcnkuYXBhY2hlLm9yZw0KPiBDYzogQXBhY2hl IERpcmVjdG9yeSBEZXZlbG9wZXJzIExpc3QgPGRldkBkaXJlY3RvcnkuYXBhY2hlLm9yZz4NCj4g U3ViamVjdDogUmU6IFtESVNDVVNTXSBNZXJnZSBIQVMgdG8gQXBhY2hlIEtlcmJ5DQo+DQo+IEhp IEppYWppYSwNCj4NCj4gSXQgc291bmRzIGxpa2UgYSByZWFsbHkgaW50ZXJlc3RpbmcgcHJvamVj dC4gSGF2ZSB5b3UgZ290IGFueSBmZWVkYmFjayANCj4gZnJvbSB0aGUgSGFkb29wIHByb2plY3Qg YWJvdXQgaXQ/DQo+DQo+IEknbSBmaW5kaW5nIGl0IGhhcmQgdG8gdW5kZXJzdGFuZCBleGFjdGx5 IGhvdyBpdCB3b3JrcyB0aG91Z2ggYmFzZWQgb24gDQo+IHRoZSBSRUFETUUuIENvdWxkIHlvdSBk ZXNjcmliZSBob3cgaXQgd29ya3MgZnJvbSBhIHJlYWxseSBiYXNpYyBwb2ludCANCj4gb2Ygdmll dyBmb3Igc2F5IGEgc2ltcGxlIEhhZG9vcCBjbGllbnQ/IE5vcm1hbGx5IEkganVzdCBoYXZlIHRv IHVzZSANCj4gImtpbml0IiB0byBnZXQgYSBrZXJiZXJvcyB0aWNrZXQgYW5kIHRoZW4gSSBhbSBh dXRoZW50aWNhdGVkIHRvIGludm9rZSANCj4gb24gSERGUy4gSG93IGRvZXMgSEFTIHdvcmsgZGlm ZmVyZW50bHk/IFdoZXJlIGRvZXMgdGhlIHRva2VuIHByZS1hdXRoIHN0dWZmIGZpdCBpbj8NCj4N Cj4gQ29sbS4NCj4NCj4NCj4gT24gRnJpLCBOb3YgMjQsIDIwMTcgYXQgMzozMCBBTSwgTGksIEpp YWppYSA8amlhamlhLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+DQo+ID4gSGkgYWxsLA0KPiA+DQo+ ID4gSSB3b3VsZCBsaWtlIHRvIHBvc3QgYSBwcm9wb3NhbCBhYm91dCBtZXJnaW5nIGEgbmV3IHBy b2plY3QgSEFTIA0KPiA+IChIYWRvb3AgQXV0aGVudGljYXRpb24gU2VydmljZSkgdG8gQXBhY2hl IEtlcmJ5LiBIQVMgaXMgbGVkIGJ5IEludGVsIA0KPiA+IGFuZCBBbGliYWJhLCBpdCBpcyBhIHNv bHV0aW9uIHRvIHN1cHBvcnQgdGhlIGF1dGhlbnRpY2F0aW9uIG9mIG9wZW4gDQo+ID4gc291cmNl IGJpZyBkYXRhIGVjb3N5c3RlbSBpbiBjbG91ZCBjb21wdXRpbmcgcGxhdGZvcm1zLiBJJ3ZlIGNy ZWF0ZWQgDQo+ID4gYSBuZXcgYnJhbmNoICJoYXMtcHJvamVjdCIgaW4gS2VyYnksIEhBUyBpcyB1 bmRlciAiaGFzIiBmb2xkZXIuIA0KPiA+IFBsZWFzZSBsb29rIGF0IA0KPiA+IGh0dHBzOi8vZ2l0 aHViLmNvbS9hcGFjaGUvZGlyZWN0b3J5LWtlcmJ5L3RyZWUvaGFzLXByb2plY3QvaGFzDQo+ID4g Zm9yIGRldGFpbHMuDQo+ID4NCj4gPiBCYWNrZ3JvdW5kIGFuZCBtb3RpdmF0aW9uOg0KPiA+IEF0 IHByZXNlbnQsIHRoZSBvcGVuIHNvdXJjZSBiaWcgZGF0YSBlY29zeXN0ZW1zIChIYWRvb3AvU3Bh cmspIG9ubHkgDQo+ID4gaGFzIHRoZSBidWlsdC1pbiBLZXJiZXJvcyBzdXBwb3J0IG9uIHRoZSBz ZWN1cml0eSBhdXRoZW50aWNhdGlvbi4gDQo+ID4gSEFTIGFpbXMgdG8gYnVpbGQgYSBzdGFuZGFs b25lIGF1dGhlbnRpY2F0aW9uIHNlcnZpY2UgZm9yIHRoZSBiaWcgDQo+ID4gZGF0YSBlY29zeXN0 ZW0gdGhhdCBzaW1wbGlmaWVzIHRoZSBzdXBwb3J0IG9mIEtlcmJlcm9zIGFuZCBhbGxvd3MgdG8g DQo+ID4gdXNlIG1vcmUgYXV0aGVudGljYXRpb24gbWV0aG9kcy4NCj4gPg0KPiA+IFRhcmdldHMg dXNlcnM6DQo+ID4gSEFTIHN1cHBvcnRzIHZhcmlvdXMgYXV0aGVudGljYXRpb24gbWVjaGFuaXNt cyBvdGhlciB0aGFuIGp1c3QgDQo+ID4gS2VyYmVyb3MsIGFuZCBpdCBwcm92aWRlcyBhIG5ldyBh dXRoZW50aWNhdGlvbiBtZWNoYW5pc20gY2FuIGJlIGVhc3kgDQo+ID4gY3VzdG9taXplZCBhbmQg cGx1Z2luIHdpdGggZXhpc3RpbmcgdXNlciBhdXRoZW50aWNhdGlvbiBhbmQgDQo+ID4gYXV0aG9y aXphdGlvbiBzeXN0ZW0sIGFuZCBzZWN1cml0eSBhZG1pbnMgd29uJ3QgaGF2ZSB0byBtaWdyYXRl IGFuZCANCj4gPiBzeW5jIHVwIHRoZWlyIHVzZXIgYWNjb3VudHMgdG8gS2VyYmVyb3MgYmFjayBh bmQgZm9ydGguDQo+ID4NCj4gPiBBcmNoaXRlY3R1cmUgJiBEZXNpZ246DQo+ID4gSEFTIHByb3Zp ZGVzIGEgbmV3IGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlzbSAoIktlcmJlcm9zLWJhc2VkIHRva2Vu IA0KPiA+IGF1dGhlbnRpY2F0aW9uIiksIGRlcGVuZGluZyBvbiB0aGUgIlRva2VuUHJlYXV0aCIg cHJvdmlkZWQgYnkgQXBhY2hlDQo+IEtlcmJ5Lg0KPiA+IFBsZWFzZSBsb29rIGF0DQo+ID4gaHR0 cHM6Ly9naXRodWIuY29tL2FwYWNoZS9kaXJlY3Rvcnkta2VyYnkvYmxvYi9oYXMtcHJvamVjdC8N Cj4gPiBoYXMvUkVBRE1FLm1kIGZvciBkZXRhaWxzLg0KPiA+DQo+ID4gRmVhdHVyZXM6DQo+ID4g MS4gICAgICBQcm92aWRlcyBuZXcgYXV0aGVudGljYXRpb24gbWVjaGFuaXNtIHBsdWdpbiBBUElz IHRvIGN1c3RvbWl6ZQ0KPiBhbmQNCj4gPiBwbHVnaW4gd2l0aCBleGlzdGluZyB1c2VyIGF1dGhl bnRpY2F0aW9uIGFuZCBhdXRob3JpemF0aW9uIHN5c3RlbS4NCj4gPiBQbGVhc2UgbG9vayBhdA0K PiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvZGlyZWN0b3J5LWtlcmJ5L2Jsb2IvaGFzLXBy b2plY3QvDQo+ID4gaGFzL1JFQURNRS5tZCBmb3IgZGV0YWlscy4NCj4gPiAyLiAgICAgIFByb3Zp ZGVzIGxvdHMgb2YgUkVTVCBBUElzIGFuZCBmYWNpbGl0eSB0b29scyB0byBzaW1wbGlmeSB0aGUN Cj4gPiBzdXBwb3J0IG9mIEtlcmJlcm9zLiBLZXJiZXJvcyBpcyBlc3NlbnRpYWxseSBhIHByb3Rv Y29sLCBvciBzZWN1cmUgDQo+ID4gY2hhbm5lbCwgZG9lc24ndCBoYXZlIHRvIGJlIHRoYXQgY29t cGxleCB0byB1c2Vycy4gUGxlYXNlIGxvb2sgYXQgDQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL2Fw YWNoZS9kaXJlY3Rvcnkta2VyYnkvYmxvYi9oYXMtcHJvamVjdC8NCj4gPiBoYXMvZG9jL3Jlc3Qt YXBpLm1kIGZvciBkZXRhaWxzLg0KPiA+IDMuICAgICAgUHJvdmlkZXMgTXlTUUwgYmFja2VuZCBm b3IgSGlnaCBBdmFpbGFiaWxpdHkuIFBsZWFzZSBsb29rIGF0DQo+ID4gaHR0cHM6Ly9naXRodWIu Y29tL2FwYWNoZS9kaXJlY3Rvcnkta2VyYnkvYmxvYi9oYXMtcHJvamVjdC8NCj4gPiBoYXMvZG9j L215c3FsLWJhY2tlbmQubWQgZm9yIGRldGFpbHMuDQo+ID4gNC4gICAgICBOZXcgYXV0aGVudGlj YXRpb24gbWVjaGFuaXNtIG5vdyBzdXBwb3J0cyBtb3N0IG9mIHRoZSBjb21wb25lbnRzDQo+ID4g b2Ygb3BlbiBzb3VyY2UgYmlnIGRhdGEgZWNvc3lzdGVtIHdpdGggbGl0dGxlIG9yIG5vIGNoYW5n ZXMgdG8gDQo+ID4gY29tcG9uZW50cywgaW5jbHVkaW5nIEhERlMsIEhCYXNlLCBab29rZWVwZXIs IEhpdmUsIFNwYXJrLi4uLiBQbGVhc2UgDQo+ID4gbG9vayBhdCANCj4gPiBodHRwczovL2dpdGh1 Yi5jb20vYXBhY2hlL2RpcmVjdG9yeS1rZXJieS90cmVlL2hhcy1wcm9qZWN0L2hhcy9zdXBwbw0K PiA+IHJ0DQo+ID4gcw0KPiA+IGZvciBkZXRhaWxzLg0KPiA+DQo+ID4gUHJhY3RpY2UNCj4gPiBU aGlzIHNvbHV0aW9uIGhhcyBiZWVuIGRlcGxveWVkIGluIEFsaWJhYmEgQ2xvdWQgRS1NYXBSZWR1 Y2UgcHJvZHVjdGlvbi4NCj4gPg0KPiA+IFdoeSB0byBtZXJnZT8NCj4gPiBIQVMgcHJvdmlkZXMg YSBjb21wbGV0ZSBIYWRvb3AvU3BhcmsgYXV0aGVudGljYXRpb24gZnJhbWV3b3JrIGFuZCANCj4g PiBzb2x1dGlvbiBiYXNlZCBvbiBLZXJiZXJvcywgSEFTIGNhbiBoZWxwIHRvIHVwZ3JhZGUgS2Vy YnkgS0RDLCBtYWtlIA0KPiA+IGl0IG1vcmUgc29saWQgYW5kIHN0cm9uZ2VyLiBBbmQgaWYgSEFT IGNhbiBiZSBtZXJnZWQgdG8gQXBhY2hlIA0KPiA+IEtlcmJ5LCBjb21tdW5pdHkgd2lsbCBoZWxw IEhBUyBncm93IGZhc3RlciBhbmQgdXNlcnMgY2FuIG1vcmUgZWFzaWx5IA0KPiA+IHVzaW5nIHRo aXMgc29sdXRpb24gaW4gdGhlaXIgb3duIHByb2R1Y3Rpb24uIFdlIGhhdmUgdHdvIHN1Z2dlc3Rp b25zIA0KPiA+IGFib3V0IGhvdw0KPiB0byBtZXJnZToNCj4gPiAtIE9wdGlvbjE6DQo+ID4gQ3Jl YXRlIGEgc3RhbmRhbG9uZSBtb2R1bGUgImtlcmJ5LWhhcyIsIHB1dHRpbmcgSEFTIHByb2plY3Qg dW5kZXIgDQo+ID4gdGhpcyBtb2R1bGUuDQo+ID4gLSBPcHRpb24yOg0KPiA+IFN1Z2dlc3QgcmVw bGFjaW5nIGtlcmJ5LWtkYyBtb2R1bGUgd2l0aCBIQVMsIHVwZ3JhZGUgdGhlIEtlcmJ5IEtEQy4N Cj4gPg0KPiA+IENvbnRyaWJ1dG9yczoNCj4gPiBKaWFqaWEsIExpIChJbnRlbCkNCj4gPiBMaW4s IFplbmcgKEludGVsKQ0KPiA+IFpoaXFpYW5nLCBaaGFuZyAoSW50ZWwpDQo+ID4gS2FpLCBaaGVu ZyAoSW50ZWwpDQo+ID4gV2VpLCBXdSAoQWxpYmFiYSkNCj4gPiBKdW4sIFNvbmcgKEFsaWJhYmEp DQo+ID4gTG9uZywgQ2FvIChBbGliYWJhKQ0KPiA+IFpoZW55dWFuLCBXZWkgKEFsaWJhYmEpDQo+ ID4NCj4gPiBZb3VyIHJldmlldyBlZmZvcnRzIGFyZSB0cnVseSBhcHByZWNpYXRlZCwgcGxlYXNl IGZlZWwgZnJlZSB0byANCj4gPiBwcm92aWRlIHVzIHlvdXIgZmVlZGJhY2suDQo+ID4NCj4gPiBS ZWdhcmRzLA0KPiA+IEppYWppYQ0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+DQo+DQo+IC0tDQo+IENv bG0gTyBoRWlnZWFydGFpZ2gNCj4NCj4gVGFsZW5kIENvbW11bml0eSBDb2Rlcg0KPiBodHRwOi8v Y29kZXJzLnRhbGVuZC5jb20NCj4NCg0KDQoNCi0tDQpDb2xtIE8gaEVpZ2VhcnRhaWdoDQoNClRh bGVuZCBDb21tdW5pdHkgQ29kZXINCmh0dHA6Ly9jb2RlcnMudGFsZW5kLmNvbQ0K