From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 82EC32B9C for ; Mon, 25 Sep 2017 14:30:04 +0200 (CEST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Sep 2017 05:30:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,436,1500966000"; d="scan'208";a="153017155" Received: from irsmsx107.ger.corp.intel.com ([163.33.3.99]) by orsmga005.jf.intel.com with ESMTP; 25 Sep 2017 05:30:02 -0700 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.167]) by IRSMSX107.ger.corp.intel.com ([169.254.10.65]) with mapi id 14.03.0319.002; Mon, 25 Sep 2017 13:30:01 +0100 From: "De Lara Guarch, Pablo" To: "Wang, Yipeng1" , "dev@dpdk.org" CC: "Tai, Charlie" , "Gobriel, Sameh" , "Wang, Ren" , "Wang, Yipeng1" , "Mcnamara, John" Thread-Topic: [dpdk-dev] [PATCH v3 7/7] doc: add membership documentation Thread-Index: AQHTJqNyQEt7LDpvnkyMmFHe5gdocqLFaP4g Date: Mon, 25 Sep 2017 12:30:00 +0000 Message-ID: References: <1504315481-12854-1-git-send-email-yipeng1.wang@intel.com> <1504655989-1518-1-git-send-email-yipeng1.wang@intel.com> <1504655989-1518-8-git-send-email-yipeng1.wang@intel.com> In-Reply-To: <1504655989-1518-8-git-send-email-yipeng1.wang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTNiY2ZlYWUtM2VkNy00MTVkLTg5NWYtZmFmMDA0ODRiM2Y4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6ImZxSnRxRG85M3JqUmRkRmRmSERuaVpyWGhBSDhmNnU1RFArWlFKdkZ5Z009In0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v3 7/7] doc: add membership documentation 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: , X-List-Received-Date: Mon, 25 Sep 2017 12:30:06 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IFttYWlsdG86ZGV2 LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBZaXBlbmcgV2FuZw0KPiBTZW50OiBXZWRu ZXNkYXksIFNlcHRlbWJlciA2LCAyMDE3IDE6MDAgQU0NCj4gVG86IGRldkBkcGRrLm9yZw0KPiBD YzogVGFpLCBDaGFybGllIDxjaGFybGllLnRhaUBpbnRlbC5jb20+OyBHb2JyaWVsLCBTYW1laA0K PiA8c2FtZWguZ29icmllbEBpbnRlbC5jb20+OyBXYW5nLCBSZW4gPHJlbi53YW5nQGludGVsLmNv bT47IFdhbmcsDQo+IFlpcGVuZzEgPHlpcGVuZzEud2FuZ0BpbnRlbC5jb20+OyBNY25hbWFyYSwg Sm9obg0KPiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtkcGRrLWRldl0g W1BBVENIIHYzIDcvN10gZG9jOiBhZGQgbWVtYmVyc2hpcCBkb2N1bWVudGF0aW9uDQo+IA0KPiBU aGlzIHBhdGNoIGFkZHMgdGhlIGRvY3VtZW50YXRpb24gZm9yIG1lbWJlcnNoaXAgbGlicmFyeS4N Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IFlpcGVuZyBXYW5nIDx5aXBlbmcxLndhbmdAaW50ZWwuY29t Pg0KPiBSZXZpZXdlZC1ieTogSm9obiBNY05hbWFyYSA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+ DQoNCi4uLg0KDQo+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvbWVtYmVyX2xp Yi5yc3QNCj4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvbWVtYmVyX2xpYi5yc3QNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uMmIzMjUzNQ0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9tZW1iZXJfbGliLnJzdA0KDQoNCj4gK01l bWJlcnNoaXAgTGlicmFyeQ0KPiArPT09PT09PT09PT09PT09PT09DQo+ICsNCj4gK0ludHJvZHVj dGlvbg0KPiArLS0tLS0tLS0tLS0tDQo+ICsNCj4gK1RoZSBEUERLIE1lbWJlcnNoaXAgTGlicmFy eSBwcm92aWRlcyBhbiBBUEkgZm9yIERQREsgYXBwbGljYXRpb25zIHRvDQo+IGluc2VydCBhDQo+ ICtuZXcgbWVtYmVyLCBkZWxldGUgYW4gZXhpc3RpbmcgbWVtYmVyLCBvciBxdWVyeSB0aGUgZXhp c3RlbmNlIG9mIGENCj4gbWVtYmVyIGluIGENCj4gK2dpdmVuIHNldCwgb3IgYSBncm91cCBvZiBz ZXRzLiBGb3IgdGhlIGNhc2Ugb2YgYSBncm91cCBvZiBzZXRzIHRoZSBsaWJyYXJ5DQoNCiJncm91 cCBvZiBzZXRzLCB0aGUgbGlicmFyeSIuDQoNCi4uLg0KDQo+ICtXZSBhcmUgaW5jbHVkaW5nIGEg Y29uZmlndXJhYmxlIE1lbWJlcnNoaXAgTGlicmFyeSBpbiBEUERLIHRvIGNvdmVyIHNldA0KDQpU aGlzIGxvb2tzIGxpa2UgbW9yZSBsaWtlIGEgY292ZXIgbGV0dGVyIHRoYW4gcGFydCBvZiBwcm9n cmFtbWVyJ3MgZ3VpZGUuDQpSZXdvcmQgdGhpcyBsb2tlICJUaGlzIE1lbWJlcnNoaXAgTGlicmFy eSBjb3ZlcnMgc2V0IG1lbWJlcnNoaXAuLi4iLA0KYW5kIGF2b2lkICJpbmNsdWRlLi4uIGluIERQ REsiLCBhcyBpdCBpcyBpbXBsaWNpdC4NCg0KPiArbWVtYmVyc2hpcCBmdW5jdGlvbmFsaXR5IGZv ciBib3RoIGEgc2luZ2xlIHNldCBhbmQgbXVsdGktc2V0IHNjZW5hcmlvcy4NCj4gVGhlDQo+ICts aWJyYXJ5IGlzIG9wdGltaXplZCB0byBzdXBwb3J0IHRoZSBjdXN0b21lciBuZXR3b3JrIGFwcGxp Y2F0aW9ucyB3aGljaA0KPiByZXF1aXJlDQo+ICttZW1iZXJzaGlwIGNoZWNraW5nIGZ1bmN0aW9u YWxpdHkuIEluIHRoaXMgZ3VpZGUsIHdlIHdpbGwgY292ZXIgdHdvIHNldC0NCj4gc3VtbWFyeQ0K PiArc2NoZW1lcyBpbmNsdWRpbmcgYSB2ZWN0b3Igb2YgQmxvb20gRmlsdGVycyBhbmQgSGFzaC1U YWJsZSBiYXNlZA0KPiArc2V0LXN1bW1hcnkgc2NoZW1lcyB3aXRoIGFuZCB3aXRob3V0IGZhbHNl IG5lZ2F0aXZlIHByb2JhYmlsaXR5LA0KPiBmb2xsb3dlZCBieQ0KPiArYSBicmllZiBkaXNjdXNz aW9uIG9mIHRoZSBNZW1iZXJzaGlwIExpYnJhcnkgQVBJLg0KPiArDQo+ICtWZWN0b3Igb2YgQmxv b20gRmlsdGVycw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArQmxvb20gRmls dGVyIChCRikgW01lbWJlci1ibG9vbV0gaXMgYSB3ZWxsLWtub3duIHNwYWNlLWVmZmljaWVudA0K PiArcHJvYmFiaWxpc3RpYyBkYXRhIHN0cnVjdHVyZSB0aGF0IGFuc3dlcnMgc2V0IG1lbWJlcnNo aXAgcXVlcmllcyAodGVzdA0KPiB3aGV0aGVyDQo+ICthbiBlbGVtZW50IGlzIGEgbWVtYmVyIG9m IGEgc2V0KSB3aXRoIHNvbWUgcHJvYmFiaWxpdHkgb2YgZmFsc2UgcG9zaXRpdmVzDQo+IGFuZA0K PiAremVybyBmYWxzZSBuZWdhdGl2ZXM7IGEgcXVlcnkgZm9yIGFuIGVsZW1lbnQgcmV0dXJucyBl aXRoZXIgaXQgaXMgInBvc3NpYmx5IGluDQo+ICthIHNldCIgKHdpdGggdmVyeSBoaWdoIHByb2Jh YmlsaXR5KSBvciAiZGVmaW5pdGVseSBub3QgaW4gYSBzZXQiLg0KPiArDQo+ICtUaGUgQkYgaXMg YSBtZXRob2QgZm9yIHJlcHJlc2VudGluZyBhIHNldCBvZiBgYG5gYCBlbGVtZW50cyAoZm9yIGV4 YW1wbGUNCj4gZmxvdyBrZXlzDQo+ICtpbiBuZXR3b3JrIGFwcGxpY2F0aW9ucyBkb21haW4pIHRv IHN1cHBvcnQgbWVtYmVyc2hpcCBxdWVyaWVzLiBUaGUgaWRlYQ0KPiBvZiBCRiBpcw0KPiArdG8g YWxsb2NhdGUgYSBiaXQtdmVjdG9yIGBgdmBgIHdpdGggYGBtYGAgYml0cywgd2hpY2ggYXJlIGlu aXRpYWxseSBhbGwgc2V0IHRvIDAuDQo+IFRoZW4NCj4gK2l0IGNob29zZXMgYGBrYGAgaW5kZXBl bmRlbnQgaGFzaCBmdW5jdGlvbnMgYGBoMWBgLCBgYGgyYGAsIC4uLiBgYGhrYGAgd2l0aA0KPiBo YXNoIHZhbHVlcyByYW5nZSBmcm9tDQo+ICtgYDFgYCB0byBgYG1gYCB0byBwZXJmb3JtIGhhc2hp bmcgY2FsY3VsYXRpb25zIG9uIGVhY2ggZWxlbWVudC4gDQoNCkZyb20gIjAiIHRvICJtLTEiPw0K DQouLi4NCg0KPiArDQo+ICsgIFZlY3RvciBCbG9vbSBGaWx0ZXIgKHZCRikgT3ZlcnZpZXcNCj4g Kw0KPiArVG8gc3VwcG9ydCBtZW1iZXJzaGlwIHRlc3QgZm9yIGJvdGggbXVsdGlwbGUgc2V0cyBh bmQgYSBzaW5nbGUgc2V0LA0KPiArdGhlIGxpYnJhcnkgaW1wbGVtZW50cyBhIFZlY3RvciBCbG9v bSBGaWx0ZXIgKHZCRikgc2NoZW1lLg0KPiArdkJGIGJhc2ljYWxseSBjb21wb3NlcyBtdWx0aXBs ZSBibG9vbSBmaWx0ZXJzIGludG8gYSB2ZWN0b3Igb2YgYmxvb20gZmlsZXJzLg0KPiArVGhlIG1l bWJlcnNoaXAgdGVzdCBpcyBjb25kdWN0ZWQgb24gYWxsIG9mIHRoZQ0KPiArYmxvb20gZmlsdGVy cyBjb25jdXJyZW50bHkgdG8gZGV0ZXJtaW5lIHdoaWNoIHNldChzKSBpdCBiZWxvbmdzIHRvIG9y IG5vbmUNCj4gb2YNCj4gK3RoZW0uIFRoZSBiYXNpYyBpZGVhIG9mIHZCRiBpcyBzaG93biBpbiB0 aGUgYWJvdmUgZmlndXJlIHdoZXJlIGFuIGVsZW1lbnQNCj4gaXMNCj4gK3VzZWQgdG8gYWRkcmVz cyBtdWx0aXBsZSBibG9vbSBmaWx0ZXJzIGNvbmN1cnJlbnRseSBhbmQgdGhlIGJsb29tIGZpbHRl cg0KPiAraW5kZXgoZXMpIHdpdGggYSBoaXQgaXMgcmV0dXJuZWQuDQo+ICsNCj4gKy4uIF9maWd1 cmVfbWVtYmVyc2hpcDU6DQo+ICsuLiBmaWd1cmU6OiBpbWcvbWVtYmVyX2k1LioNCj4gKw0KPiAr ICB2QkYgZm9yIEZsb3cgU2NoZWR1bGluZyB0byBXb3JrZXIgVGhyZWFkDQo+ICsNCj4gK0FzIHBy ZXZpb3VzbHkgbWVudGlvbmVkLCB0aGVyZSBhcmUgbWFueSB1c2FnZXMgb2Ygc3VjaCBzdHJ1Y3R1 cmVzLiB2QkYgaXMNCj4gdXNlZA0KPiArZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWRzIHRvIGNo ZWNrIG1lbWJlcnNoaXAgYWdhaW5zdCBtdWx0aXBsZSBzZXRzDQo+ICtzaW11bHRhbmVvdXNseS4g DQoNCiJuZWVkcyIgLT4gIm5lZWQiLg0KDQouLi4NCg0KPiArVGhlIG1ham9yIHVzYWdlIG9mIEhU U1Mgd2l0aCBmYWxzZSBuZWdhdGl2ZSBpcyB0byB1c2UgaXQgYXMgYSBjYWNoZSBmb3INCj4gK2Rp c3RyaWJ1dGluZyBlbGVtZW50cyB0byBkaWZmZXJlbnQgdGFyZ2V0IHNldHMuIEJ5IGFsbG93aW5n IEhUU1MgdG8gZXZpY3Qgb2xkDQo+ICtlbGVtZW50cywgdGhlIHNldC1zdW1tYXJ5IGNhbiBrZWVw IHRyYWNrIG9mIHRoZSBtb3N0IHJlY2VudCBlbGVtZW50cw0KPiArKGkuZS4gYWN0aXZlKSBhcyBh IGNhY2hlIHR5cGljYWxseSBkb2VzLiBPbGQgaW5hY3RpdmUgZWxlbWVudHMgKGluZnJlcXVlbnRs eQ0KPiArdXNlZCBlbGVtZW50cykgd2lsbCBhdXRvbWF0aWNhbGx5IGFuZCBldmVudHVhbGx5IGdl dCBldmljdGVkIGZyb20gdGhlDQo+ICtzZXQtc3VtbWFyeS4gSXQgd29ydGggbm90aW5nIHRoYXQg dGhlIHNldC1zdW1tYXJ5IHN0aWxsIGhhcyBmYWxzZSBwb3NpdGl2ZQ0KDQoiSXQgaXMgd29ydGgi Lg0KDQouLi4NCg0KPiArV2UgYWxzbyBwYXNzIHR3byBzZWVkczogYGBwcmltX2hhc2hfc2VlZGBg IGFuZA0KPiArYGBzZWNfaGFzaF9zZWVkYGAgZm9yIHRoZSBwcmltYXJ5IGFuZCBzZWNvbmRhcnkg aGFzaCBmdW5jdGlvbnMgdG8NCj4gY2FsY3VsYXRlIHR3byBpbmRlcGVuZGVudCBoYXNoIHZhbHVl cy4NCj4gK2Bgc29ja2V0X2lkYGAgcGFyYW1ldGVyIGlzIHRoZSBOVU1BIHNvY2tldCBJRCBmb3Ig dGhlIG1lbW9yeSB1c2VkIHRvDQo+IGNyZWF0ZSB0aGUNCj4gK3NldC1zdW1tYXJ5LiBGb3IgSFRT UywgYW5vdGhlciBwYXJhbWV0ZXIgYGBpc2NhY2hlYGAgaXMgdXNlZCB0byBpbmRpY2F0ZQ0KDQpJ biBvcmRlciB0byBrZWVwIGNvbnNpc3RlbmN5LCBJIHdvdWxkIHVzZSAiaXNfY2FjaGUiLg0KDQo+ ICtpZiB0aGlzIHNldC1zdW1tYXJ5IGlzIGEgY2FjaGUgKGkuZS4gd2l0aCBmYWxzZSBuZWdhdGl2 ZSBwcm9iYWJpbGl0eSkgb3Igbm90Lg0KPiArRm9yIHZCRiwgZXh0cmEgcGFyYW1ldGVycyBhcmUg bmVlZGVkLiBGb3IgZXhhbXBsZSwgYGBudW1fc2V0YGAgaXMgdGhlDQo+IG51bWJlciBvZg0KPiAr c2V0cyBuZWVkZWQgdG8gaW5pdGlhbGl6ZSB0aGUgdmVjdG9yIGJsb29tIGZpbHRlcnMuIFRoaXMg bnVtYmVyIGlzIGVxdWFsIHRvDQo+IHRoZQ0KPiArbnVtYmVyIG9mIGJsb29tIGZpbHRlcnMgd2ls bCBiZSBjcmVhdGVkLg0KPiArYGBmYWxzZV9wb3NfcmF0ZWBgIGlzIHRoZSBmYWxzZSBwb3NpdGl2 ZSByYXRlLiBudW1fa2V5cyBhbmQgZmFsc2VfcG9zX3JhdGUNCj4gd2lsbCBiZSB1c2VkIHRvIGRl dGVybWluZQ0KPiArdGhlIG51bWJlciBvZiBoYXNoIGZ1bmN0aW9ucyBhbmQgdGhlIGJsb29tIGZp bHRlciBzaXplLg0KPiArDQo+ICsNCj4gK1NldC1zdW1tYXJ5IEVsZW1lbnQgSW5zZXJ0aW9uDQo+ ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiArDQo+ICtUaGUgYGBydGVfbWVtYmVy X2FkZCgpYGAgZnVuY3Rpb24gaXMgdXNlIHRvIGluc2VydCBhbiBlbGVtZW50L2tleSBpbnRvIGEN Cj4gc2V0LXN1bW1hcnkgc3RydWN0dXJlLiBJZiBpdCBmYWlscyBhbg0KPiArZXJyb3IgaXMgcmV0 dXJuZWQuIEZvciBzdWNjZXNzIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyBkcGVuZGVkbnQgb24gdGhl DQo+ICtzZXQtc3VtbWFyeSBtb2RlIHRvIHByb3ZpZGUgZXh0cmEgaW5mb3JtYXRpb24gZm9yIHRo ZSB1c2Vycy4gRm9yIHZCRg0KPiArbW9kZSwgYSByZXR1cm4gdmFsdWUgb2YgMCBtZWFucyBhIHN1 Y2Nlc3NmdWwgaW5zZXJ0LiBGb3IgSFRTUyBtb2RlDQo+IHdpdGhvdXQgZmFsc2UgbmVnYXRpdmUs IHRoZSBpbnNlcnQNCj4gK2NvdWxkIGZhaWwgd2l0aCBgYC1FTk9TUENgYCBpZiB0aGUgdGFibGUg aXMgZnVsbC4gV2l0aCBmYWxzZSBuZWdhdGl2ZSAoaS5lLiBjYWNoZQ0KPiBtb2RlKSwNCj4gK2Zv ciBpbnNlcnQgdGhhdCBkb2VzIG5vdCBjYXVzZSBhbnkgZXZpY3Rpb24gKGkuZS4gbm8gb3Zlcndy aXRpbmcgaGFwcGVucyB0bw0KPiBhbg0KPiArZXhpc3RpbmcgZW50cnkpIHRoZSByZXR1cm4gdmFs dWUgaXMgMC4gRm9yIGluc2VydGlvbiB0aGF0IGNhdXNlcyBldmljdGlvbiwgdGhlDQo+IHJldHVy bg0KPiArdmFsdWUgaXMgMSB0byBpbmRpY2F0ZSBzdWNoIHNpdHVhdGlvbiwgYnV0IGl0IGlzIG5v dCBhbiBlcnJvci4NCj4gKw0KPiArVGhlIGlucHV0IGFyZ3VtZW50cyBmb3IgdGhlIGZ1bmN0aW9u IHNob3VsZCBpbmNsdWRlIHRoZSBgYGtleWBgIHdoaWNoIGlzIGENCj4gcG9pbnRlciB0byB0aGUg ZWxlbWVudC9rZXkgdGhhdCBuZWVkcyB0bw0KPiArYmUgYWRkZWQgdG8gdGhlIHNldC1zdW1tYXJ5 LCBhbmQgYGBzZXRfaWRgYCB3aGljaCBpcyB0aGUgc2V0IGlkIGFzc29jaWF0ZWQNCj4gK3dpdGgg dGhlIGtleSB0aGF0IG5lZWRzIHRvIGJlIGFkZGVkLg0KPiArDQo+ICsNCj4gK1NldC1zdW1tYXJ5 IEVsZW1lbnQgTG9va3VwDQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCg0KUmVt b3ZlIHVubmVlZGVkIGxhc3QgIn4iIChJIHNlZSA0IGV4dHJhIGF0IHRoZSBlbmQpLg0KDQo+ICsN Cj4gK1RoZSBgYHJ0ZV9tZW1iZXJfbG9va3VwKClgYCBmdW5jdGlvbiBsb29rcyB1cCBhIHNpbmds ZSBrZXkvZWxlbWVudCBpbg0KPiB0aGUgc2V0LXN1bW1hcnkgc3RydWN0dXJlLiBJdA0KPiArcmV0 dXJucyBhcyBzb29uIGFzIHRoZSBmaXJzdCBtYXRjaCBpcyBmb3VuZC4gVGhlIHJldHVybiB2YWx1 ZSBpcyAxIGlmIGENCj4gK21hdGNoIGlzIGZvdW5kIGFuZCAwIG90aGVyd2lzZS4gVGhlIGFyZ3Vt ZW50cyBmb3IgdGhlIGZ1bmN0aW9uIGluY2x1ZGUNCj4gYGBrZXlgYCB3aGljaCBpcyBhIHBvaW50 ZXIgdG8gdGhlDQo+ICtlbGVtZW50L2tleSB0aGF0IG5lZWRzIHRvIGJlIGxvb2tlZCB1cCwgYW5k IGBgc2V0X2lkYGAgd2hpY2ggaXMgdXNlZCB0bw0KPiByZXR1cm4gdGhlDQo+ICtmaXJzdCB0YXJn ZXQgc2V0IGlkIHdoZXJlIHRoZSBrZXkgaGFzIG1hdGNoZWQsIGlmIGFueS4NCj4gKw0KPiArVGhl IGBgcnRlX21lbWJlcl9sb29rdXBfYnVsaygpYGAgZnVuY3Rpb24gaXMgdXNlZCB0byBsb29rIHVw IGEgYnVsayBvZg0KPiBrZXlzL2VsZW1lbnRzIGluIHRoZQ0KPiArc2V0LXN1bW1hcnkgc3RydWN0 dXJlIGZvciB0aGVpciBmaXJzdCBtYXRjaC4gRWFjaCBrZXkgbG9va3VwIHJldHVybnMgYXMNCj4g c29vbiBhcyB0aGUgZmlyc3QgbWF0Y2ggaXMgZm91bmQuIFRoZQ0KPiArcmV0dXJuIHZhbHVlIGlz IHRoZSBudW1iZXIgb2Yga2V5cyB0aGF0IGZpbmQgYSBtYXRjaC4gVGhlIGFyZ3VtZW50cyBvZiB0 aGUNCj4gK2Z1bmN0aW9uIGluY2x1ZGUgYGBrZXlzYGAgd2hpY2ggaXMgYSBwb2ludGVyIHRvIGEg YnVsayBvZiBrZXlzIHRoYXQgYXJlIHRvIGJlDQo+IGxvb2tlZCB1cCwNCj4gK2BgbnVtX2tleXNg YCBpcyB0aGUgbnVtYmVyDQo+ICtvZiBrZXlzIHRoYXQgd2lsbCBiZSBsb29rZWQgdXAsIGFuZCBg YHNldF9pZHNgYCBhcmUgdGhlIHJldHVybiB0YXJnZXQgc2V0DQo+ICtpZHMgZm9yIHRoZSBmaXJz dCBtYXRjaCBmb3VuZCBmb3IgZWFjaCBvZiB0aGUgaW5wdXQga2V5cy4gYGBzZXRfaWRzYGAgaXMg YW4NCj4gYXJyYXkNCj4gK25lZWRzIHRvIGJlIHNpemVkIGFjY29yZGluZyB0byB0aGUgYGBudW1f a2V5c2BgLiBJZiB0aGVyZSBpcyBubyBtYXRjaCwgdGhlDQo+IHNldCBpZA0KPiArZm9yIHRoYXQg a2V5IHdpbGwgYmUgc2V0IHRvIFJURV9NRU1CRVJfTk9fTUFUQ0guDQo+ICsNCj4gK1RoZSBgYHJ0 ZV9tZW1iZXJfbG9va3VwX211bHRpKClgYCBmdW5jdGlvbiBsb29rcyB1cCBhIHNpbmdsZQ0KPiBr ZXkvZWxlbWVudCBpbiB0aGUNCj4gK3NldC1zdW1tYXJ5IHN0cnVjdHVyZSBmb3IgbXVsdGlwbGUg bWF0Y2hlcy4gSXQNCj4gK3JldHVybnMgQUxMIHRoZSBtYXRjaGVzIChwb3NzaWJseSBtb3JlIHRo YW4gb25lKSBmb3VuZCBmb3IgdGhpcyBrZXkgd2hlbg0KPiBpdA0KPiAraXMgbWF0Y2hlZCBhZ2Fp bnN0IGFsbCB0YXJnZXQgc2V0cyAoaXQgd29ydGggbm90aW5nIHRoYXQgZm9yIGNhY2hlIG1vZGUN Cj4gSFRTUywNCg0KIml0IGlzIHdvcnRoIg0KDQo+ICt0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlv biBtYXRjaGVzIGF0IG1vc3Qgb25lIHRhcmdldCBzZXQpLiBUaGUgcmV0dXJuDQo+IHZhbHVlIGlz DQo+ICt0aGUgbnVtYmVyIG9mIG1hdGNoZXMNCj4gK3RoYXQgd2FzIGZvdW5kIGZvciB0aGlzIGtl eSAoZm9yIGNhY2hlIG1vZGUgSFRTUyB0aGUgcmV0dXJuIHZhbHVlDQo+ICtzaG91bGQgYmUgYXQg bW9zdCAxKS4gVGhlIGFyZ3VtZW50cyBmb3IgdGhlIGZ1bmN0aW9uIGluY2x1ZGUgYGBrZXlgYCB3 aGljaA0KPiBpcyBhIHBvaW50ZXIgdG8gdGhlDQo+ICtlbGVtZW50L2tleSB0aGF0IG5lZWRzIHRv IGJlIGxvb2tlZCB1cCwgYGBtYXRjaF9wZXJfa2V5YGAgd2hpY2ggaXMgdG8NCg0KQmV0dGVyIHRv IHVzZSAibWF4X21hdGNoX3Blcl9rZXkiLiBXaWxsIGNvbW1lbnQgbW9yZSBpbiBvdGhlciBwYXRj aGVzLg0KDQo+IGluZGljYXRlIG1heGltdW0gbnVtYmVyIG9mIG1hdGNoZXMNCj4gK3RoZSB1c2Vy IGV4cGVjdCB0byBmaW5kIGZvciBlYWNoIGtleSwgYW5kIGBgc2V0X2lkYGAgd2hpY2ggaXMgdXNl ZCB0byByZXR1cm4NCj4gYWxsDQoNCiJ1c2VyIGV4cGVjdHMgdG8iLg0KDQo+ICt0YXJnZXQgc2V0 IGlkcyB3aGVyZSB0aGUga2V5IGhhcyBtYXRjaGVkLCBpZiBhbnkuIFRoZSBgYHNldF9pZGBgIGFy cmF5DQo+IHNob3VsZCBiZSBzaXplZA0KPiArYWNjb3JkaW5nIHRvIGBgbWF0Y2hfcGVyX2tleWBg LiBGb3IgdkJGLCBtYXhpbXVtIG51bWJlciBvZiBtYXRjaGVzDQo+IHBlciBrZXkgaXMgZXF1YWwN Cg0KIkZvciB2QkYsIHRoZSBtYXhpbXVtIG51bWJlciIuDQoNCj4gK3RvIHRoZSBudW1iZXIgb2Yg c2V0cy4gRm9yIEhUU1MsIG1heGltdW0gbnVtYmVyIG9mIG1hdGNoZXMgcGVyIGtleSBpcw0KPiBl cXVhbCB0byB0d28gdGltZXMNCj4gK2VudHJ5IGNvdW50IHBlciBidWNrZXQuIGBgbWF0Y2hfcGVy X2tleWBgIHNob3VsZCBiZSBlcXVhbCBvciBzbWFsbGVyIHRoYW4NCg0KInR3byB0aW1lIHRoZSBl bnRyeSBjb3VudCIuDQoNCj4gbWF4aW11bSBudW1iZXIgb2YNCj4gK3Bvc3NpYmxlIG1hdGNoZXMu DQo+ICsNCj4gK1RoZSBgYHJ0ZV9tZW1iZXJzaGlwX2xvb2t1cF9tdWx0aV9idWxrKClgYCBmdW5j dGlvbiBsb29rcyB1cCBhIGJ1bGsgb2YNCj4ga2V5cy9lbGVtZW50cyBlbGVtZW50cyBpbiB0aGUN Cj4gK3NldC1zdW1tYXJ5IHN0cnVjdHVyZSBmb3IgbXVsdGlwbGUgbWF0Y2hlcywgZWFjaCBrZXkg bG9va3VwIHJldHVybnMgQUxMDQo+IHRoZSBtYXRjaGVzIChwb3NzaWJseSBtb3JlDQo+ICt0aGFu IG9uZSkgZm91bmQgZm9yIHRoaXMga2V5IHdoZW4gaXQgaXMgbWF0Y2hlZCBhZ2FpbnN0IGFsbCB0 YXJnZXQgc2V0cw0KPiAoY2FjaGUgbW9kZSBIVFNTDQo+ICttYXRjaGVzIGF0IG1vc3Qgb25lIHRh cmdldCBzZXQpLiBUaGUNCj4gK3JldHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGtleXMgdGhh dCBmaW5kIG9uZSBvciBtb3JlIG1hdGNoZXMgaW4gdGhlDQo+ICtzZXQtc3VtbWFyeSBzdHJ1Y3R1 cmUuIFRoZSBhcmd1bWVudHMgb2YgdGhlDQo+ICtmdW5jdGlvbiBpbmNsdWRlIGBga2V5c2BgIHdo aWNoIGlzDQo+ICthIHBvaW50ZXIgdG8gYSBidWxrIG9mIGtleXMgdGhhdCBhcmUgdG8gYmUgbG9v a2VkIHVwLCBgYG51bV9rZXlzYGAgaXMgdGhlDQo+IG51bWJlcg0KPiArb2Yga2V5cyB0aGF0IHdp bGwgYmUgbG9va2VkIHVwLCBgYG1hdGNoX3Blcl9rZXlgYCBpcyB0aGUgcG9zc2libGUNCj4gK21h eCBudW1iZXIgb2YgbWF0Y2hlcyBmb3IgZWFjaCBrZXksIGBgbWF0Y2hfY291bnRgYCB3aGljaCBp cyB0aGUNCg0KVXNlICJtYXhpbXVtIG51bWJlciIsIG5vIG5lZWQgdG8gYWJicmV2aWF0ZSBoZXJl Lg0KDQo+IHJldHVybmVkIG51bWJlcg0KPiArb2YgbWF0Y2hlcyBmb3IgZWFjaCBrZXksIGFuZCBg YHNldF9pZHNgYCBhcmUgdGhlIHJldHVybmVkIHRhcmdldCBzZXQNCj4gK2lkcyBmb3IgYWxsIG1h dGNoZXMgZm91bmQgZm9yIGVhY2gga2V5cy4gYGBzZXRfaWRzYGAgaXMgMi1EIGFycmF5DQo+ICt0 aGF0IGZvciBlYWNoIGtleSwgYSAxLUQgYXJyYXkgc2hvdWxkIGJlIHNpemVkIGFjY29yZGluZyB0 bw0KPiBgYG1hdGNoX3Blcl9rZXlgYC4NCg0KSSB3b3VsZCByZXdvcmQgaXQgYSBiaXQsIHRvIGlt cHJvdmUgcmVhZGFiaWxpdHkuIEZvciBpbnN0YW5jZTogDQoic2V0X2lkcyIgaXMgYSAyLUQgYXJy YXksIGNvbnRhaW5pbmcgYSAxLUQgYXJyYXkgcGVyIGtleSwNCndoaWNoIHNob3VsZCBiZSBzaXpl ZCBhY2NvcmRpbmcgdG8gIm1hdGNoX3Blcl9rZXkiLg0KDQo+ICtgYG1hdGNoX3Blcl9rZXlgYCBz aG91bGQgYmUgZXF1YWwgb3Igc21hbGxlciB0aGFuIG1heGltdW0gbnVtYmVyIG9mDQo+ICtwb3Nz aWJsZSBtYXRjaGVzLCBzaW1pbGFyIHRvIGBgcnRlX21lbWJlcl9sb29rdXBfbXVsdGlgYC4NCj4g Kw0KPiArDQo+ICtTZXQtc3VtbWFyeSBFbGVtZW50IERlbGV0ZQ0KPiArfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4NCj4gKw0KPiArVGhlIGBgcnRlX21lbWJlcnNoaXBfZGVsZXRlKClgYCBmdW5j dGlvbiBkZWxldGVzIGFuIGVsZW1lbnQva2V5IGZyb20gYQ0KPiBzZXQtc3VtbWFyeSBzdHJ1Y3R1 cmUsIGlmIGl0IGZhaWxzDQo+ICthbiBlcnJvciBpcyByZXR1cm5lZC4gVGhlIGlucHV0IGFyZ3Vt ZW50cyBzaG91bGQgaW5jbHVkZSBgYGtleWBgIHdoaWNoIGlzIGENCj4gcG9pbnRlciB0byB0aGUN Cj4gK2VsZW1lbnQva2V5IHRoYXQgbmVlZHMgdG8gYmUgZGVsZXRlZCBmcm9tIHRoZSBzZXQtc3Vt bWFyeSwgYW5kDQo+IGBgc2V0X2lkYGANCj4gK3doaWNoIGlzIHRoZSBzZXQgaWQgYXNzb2NpYXRl ZCB3aXRoIHRoZSBrZXkgdG8gZGVsZXRlLiBJdCB3b3J0aCBub3RpbmcgdGhhdA0KPiBjdXJyZW50 DQoNCiJJdCBpcyB3b3J0aCIuDQoNCj4gK2ltcGxlbWVudGF0aW9uIG9mIHZCRiBkb2VzIG5vdCBz dXBwb3J0IGRlbGV0aW9uIFsxXV8uIEFuIGVycm9yIGNvZGUgYGAtDQo+IEVJTlZBTGBgIHdpbGwg YmUgcmV0dXJuZWQuDQoNCg==