From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.12582.1573232311412570729 for ; Fri, 08 Nov 2019 08:58:31 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2019 08:58:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,282,1569308400"; d="scan'208";a="206044063" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by orsmga003.jf.intel.com with ESMTP; 08 Nov 2019 08:58:30 -0800 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.28]) by ORSMSX103.amr.corp.intel.com ([169.254.5.9]) with mapi id 14.03.0439.000; Fri, 8 Nov 2019 08:58:30 -0800 From: "Michael D Kinney" To: Laszlo Ersek , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Sean Brogan , Andrew Fish , Leif Lindholm Subject: Re: [Patch v4 03/22] requirements.txt: Add python pip requirements file Thread-Topic: [Patch v4 03/22] requirements.txt: Add python pip requirements file Thread-Index: AQHVlVerC4kaWsrzLUOvENQdArTuMKd/8EzwgAHXgQD//7jIQA== Date: Fri, 8 Nov 2019 16:58:30 +0000 Message-ID: References: <20191107011349.16524-1-michael.d.kinney@intel.com> <20191107011349.16524-4-michael.d.kinney@intel.com> <019f8e7f-388e-839b-d723-3d78027752fb@redhat.com> <4044a11c-221b-14c0-af8b-b91d021917d8@redhat.com> In-Reply-To: <4044a11c-221b-14c0-af8b-b91d021917d8@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KDQpUaGFuayB5b3UgZm9yIHRoZSBleHRyYSBlZmZvcnQgb24gdGhpcyBldmFsdWF0 aW9uLg0KDQpJIHdpbGwgY2hhbmdlIHRvIHBpcC1yZXF1aXJlbWVudHMudHh0DQoNCk1pa2UNCg0K PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiBTZW50OiBGcmlkYXksIE5vdmVtYmVyIDgsIDIwMTkgNToxMyBBTQ0K PiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4g ZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IFNlYW4gQnJvZ2FuIDxzZWFuLmJyb2dhbkBtaWNy b3NvZnQuY29tPjsgQW5kcmV3IEZpc2gNCj4gPGFmaXNoQGFwcGxlLmNvbT47IExlaWYgTGluZGhv bG0NCj4gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj4gU3ViamVjdDogUmU6IFtQYXRjaCB2 NCAwMy8yMl0gcmVxdWlyZW1lbnRzLnR4dDogQWRkDQo+IHB5dGhvbiBwaXAgcmVxdWlyZW1lbnRz IGZpbGUNCj4gDQo+IEhpIE1pa2UsDQo+IA0KPiBPbiAxMS8wNy8xOSAxODo0NCwgS2lubmV5LCBN aWNoYWVsIEQgd3JvdGU6DQo+ID4gSGkgTGFzemxvLA0KPiA+DQo+ID4gcmVxdWlyZW1lbnRzLnR4 dCBpcyBub3Qgb25seSBmb3IgQ0kuDQo+ID4NCj4gPiBJZiBhIGRldmVsb3BlciB3YW50cyB0byBy dW4gdGhlIHNhbWUgdGVzdHMgdGhhdCBDSQ0KPiBydW5zIGxvY2FsbHkgdGhhdA0KPiA+IGFsc28g bmVlZCB0byBpbnN0YWxsIHVzaW5nIHBpcCBhbmQgbmVlZCAgdGhpcyBmaWxlLg0KPiA+DQo+ID4g U2VhbiByZXNwb25kZWQgdG8gdGhpcyBmZWVkYmFjayBlYXJsaWVyIGFuZCBwb2ludGVkIHRvDQo+ IHNvbWUgZmVhdHVyZXMNCj4gPiB0aGF0IG1heSBkZXBlbmQgb24gdGhpcyBzcGVjaWZpYyBmaWxl bmFtZSBvciBhDQo+IHNwZWNpZmljIGZpbGVuYW1lDQo+ID4gcGF0dGVybi4NCj4gPg0KPiA+IGh0 dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzQ5NjIwDQo+ID4NCj4gPiBJIGFn cmVlIHRoYXQgdGhlIHBpcCBjb21tYW5kIHN1cHBvcnRzIHVzaW5nIGENCj4gZGlmZmVyZW50IGZp bGVuYW1lLiAgSQ0KPiA+IGNvbnNpZGVyZWQgc2V2ZXJhbCBvcHRpb25zOg0KPiA+DQo+ID4gMSkg S2VlcCBjdXJyZW50IHJlcXVpcmVtZW50cy50eHQgaW4gcm9vdA0KPiA+IDIpIENoYW5nZSB0byBw aXBfcmVxdWlyZW1lbnRzLnR4dCBpbiByb290DQo+ID4gMykgQ2hhbmdlIHRvIHJlcXVpcmVtZW50 cy50eHQgaW4gdGhlIC5weXRvb2wgZGlyZWN0b3J5DQo+ID4NCj4gPiBJIHNldCAoMykgYXNpZGUg YmVjYXVzZSB0aGUgdXNlIG9mIHRoZSBweXRob24NCj4gZXh0ZW5zaW9ucyBpbnN0YWxsZWQNCj4g PiB1c2luZyBwaXAgYXJlIG5vdCBsaW1pdGVkIHRvIGNvbnRlbnQgaW4gdGhlIC5weXRvb2wNCj4g ZGlyZWN0b3J5LiAgVGhlcmUNCj4gPiBpcyBuZXcgY29udGVudCBpbiBCYXNlVG9vbHMgYXMgd2Vs bCB0aGF0IGRlcGVuZHMgb24NCj4gdGhlIHBpcCBpbnN0YWxsDQo+ID4gY29tcG9uZW50cy4gIFRo ZSAgcm9vdCBkaXJlY3RvcnkgaXMgdGhlIG9ubHkgY29tbW9uDQo+IHBhcmVudCBkaXJlY3Rvcnku DQo+ID4NCj4gPiBHaXZlbiB0aGUgZmVlZGJhY2sgdGhhdCB0aGVyZSBtYXkgYmUgc29tZSBzZXJ2 aWNlcw0KPiB0aGF0IGxvb2sgZm9yDQo+ID4gcmVxdWlyZW1lbnRzLnR4dCwgSSB0aG91Z2h0IGl0 IHdvdWxkIGJlIGJldHRlciB0bw0KPiBsZWF2ZSB0aGUgZmlsZW5hbWUNCj4gPiBhbG9uZSBhbmQg YWRkIHRoZSBmaWxlIGhlYWRlciBjb21tZW50IGJsb2NrIHdpdGggYQ0KPiBjbGVhciBkZXNjcmlw dGlvbg0KPiA+IG9mIHRoZSBmaWxlLg0KPiA+DQo+ID4gV2l0aCB0aGlzIGFkZGl0aW9uYWwgY29u dGV4dCwgaWYgdGhlcmUgaXMgc3RpbGwNCj4gZmVlZGJhY2sgdGhhdCB0aGUNCj4gPiBmaWxlbmFt ZSBtdXN0IGJlIGNoYW5nZWQsIHRoZW4gSSB3b3VsZCByZWNvbW1lbmQgYQ0KPiBmaWxlbmFtZSBj aGFuZ2UNCj4gPiB0aGF0IGFsc28gZm9sbG93cyBjYW1lbCBjYXNlIGluIHRoZSByb290Lg0KPiA+ DQo+ID4gICAgIFBpcFJlcXVpcmVtZW50cy50eHQNCj4gDQo+IFRoYW5rcyBmb3IgYWxsIHRoaXMg aW5mb3JtYXRpb24uDQo+IA0KPiBJdCBsb29rcyBsaWtlICJyZXF1aXJlbWVudHMudHh0IiBpcyBh ICpnaXRodWIuY29tKg0KPiBmZWF0dXJlLiBJdCBpcyBzb21ldGhpbmcgdGhhdCB0aGUgKGNsb3Nl ZCBzb3VyY2UsDQo+IHNlcnZlci1zaWRlKSA8Z2l0aHViLmNvbT4gc29mdHdhcmUgbG9va3MgYXQs IHRvDQo+IGVzdGFibGlzaCBpbnRlci1yZXBvIChpbnRlci1wcm9qZWN0KSBkZXBlbmRlbmNpZXMu IFdpdGgNCj4gdGhlc2UgZGVwZW5kZW5jaWVzIHBhcnNlZCBhdXRvbWF0aWNhbGx5LCA8Z2l0aHVi LmNvbT4NCj4gY2FuIG9mZmVyIHZhcmlvdXMgZmVhdHVyZXMuIFN1Y2ggYXM6DQo+IA0KPiAgIFsx XSBodHRwczovL2dpdGh1Yi5ibG9nLzIwMTgtMDctMTItc2VjdXJpdHktDQo+IHZ1bG5lcmFiaWxp dHktYWxlcnRzLWZvci1weXRob24vDQo+ICAgWzJdIGh0dHBzOi8vaGVscC5naXRodWIuY29tL2Vu L2dpdGh1Yi92aXN1YWxpemluZy0NCj4gcmVwb3NpdG9yeS1kYXRhLXdpdGgtZ3JhcGhzL2xpc3Rp bmctdGhlLXBhY2thZ2VzLXRoYXQtYS0NCj4gcmVwb3NpdG9yeS1kZXBlbmRzLW9uDQo+IA0KPiAo VGhpcyBpcyBhdCBsZWFzdCB3aGF0IEkgZ2F0aGVyIGZyb20gdGhlIGxpbmtzIGluc2lkZQ0KPiBT ZWFuJ3MgbWVzc2FnZSB0aGF0IHlvdSByZWZlcmVuY2UgYWJvdmUuKQ0KPiANCj4gVGhlcmVmb3Jl LCBpbiBteSBvcGluaW9uLCB3ZSBzaG91bGQgbG9vayBmb3IgYSBzb2x1dGlvbg0KPiAoZmlsZW5h bWUpIHRoYXQgc2F0aXNmaWVzIGJvdGggZ29hbHMgYmVsb3c6DQo+IA0KPiAtIGtlZXAgdGhlIGdp dGh1Yi5jb20gaW50ZWdyYXRpb24gaGFwcHkgYW5kIGZ1bmN0aW9uYWwNCj4gKHdpdGggcmVnYXJk IHRvDQo+ICAgdGhlIGFib3ZlLWxpbmtlZCBmZWF0dXJlcyksDQo+IA0KPiAtIHVzZSBhIGZpbGVu YW1lIHRoYXQgZG9lcyBub3QgaW1wbHkgInJlcXVpcmVtZW50cyIgZm9yDQo+IHRoZSBzdHJpY3Rs eQ0KPiAgIGRlZmluZWQgZWRrMiBwcm9qZWN0IGl0c2VsZi4NCj4gDQo+IFdoaWxlIEkgYWdyZWUg IlBpcFJlcXVpcmVtZW50cy50eHQiIGxvb2tzIG5hdGl2ZSB0bw0KPiBlZGsyLCBJIHRoaW5rIHRo YXQgd291bGQgYnJlYWsgdGhlIGZpcnN0IGdvYWwgLS0NCj4gZ2l0aHViLmNvbSB3b3VsZCBsaWtl bHkgbm90IHJlY29nbml6ZSBpdC4NCj4gDQo+IEhvd2V2ZXIsIHRoZXJlIGFyZSBzaWducyB0aGF0 ICJwaXAtcmVxdWlyZW1lbnRzLnR4dCIgaXMNCj4gcmVjb2duaXplZCBieSBnaXRodWIuIFdlIGNh biB0ZXN0IHRoaXMgdGhlb3J5IGFzDQo+IGZvbGxvd3M6DQo+IA0KPiAtIHdpdGggZ29vZ2xlIG9y IGFub3RoZXIgc2VhcmNoIGVuZ2luZSwgbG9vayBmb3Igc29tZQ0KPiByZXBvc2l0b3JpZXMgLS0N Cj4gICBhbnkgcmVwb3NpdG9yaWVzIHJlYWxseSAtLSBvbiA8Z2l0aHViLmNvbT4gdGhhdCB1c2UN Cj4gICAicGlwLXJlcXVpcmVtZW50cy50eHQiIHJhdGhlciB0aGFuICJyZXF1aXJlbWVudHMudHh0 IiwNCj4gDQo+IC0gY2hlY2sgd2hldGhlciB0aGUgPGdpdGh1Yi5jb20+IGZlYXR1cmUgbWFya2Vk IHdpdGggWzJdDQo+IGFib3ZlICp3b3JrcyoNCj4gICBmb3IgdGhvc2UgcHJvamVjdHMuDQo+IA0K PiBOb3csIGhlcmUgYXJlIHRocmVlIC0tIGJhc2ljYWxseSByYW5kb21seSBjaG9zZW4gLS0NCj4g cmVwb3NpdG9yaWVzIG9uIDxnaXRodWIuY29tPiB0aGF0IGNvbnRhaW4gInBpcC0NCj4gcmVxdWly ZW1lbnRzLnR4dCIgYW5kICpubyoNCj4gInJlcXVpcmVtZW50cy50eHQiOg0KPiANCj4gLSBodHRw czovL2dpdGh1Yi5jb20vZGF0YWdvdnVrL2NrYW5leHQtZGd1ICAgICAgICBADQo+IGNiMTdiOWUN Cj4gLSBodHRwczovL2dpdGh1Yi5jb20vQ2xlYXJpbmdIb3VzZS9jbGVhcmluZ2hvdXNlZCBADQo+ IGY4NTg4MWYNCj4gLSBodHRwczovL2dpdGh1Yi5jb20vamFsYWp0aGFuYWtpL05MUHl0aG9uICAg ICAgICBADQo+IDQ3ZTY4NjENCj4gDQo+IEluIG9yZGVyIHRvIHN1YmplY3QgdGhlbSB0byB0aGUN Cj4gDQo+ICAgZG9lcyA8Z2l0aHViLmNvbT4gcmVjb2duaXplICJwaXAtcmVxdWlyZW1lbnRzLnR4 dCI/DQo+IA0KPiB0ZXN0LCB3ZSBzaG91bGQgc3Vic3RpdHV0ZSB0aGVpciBvcmdhbml6YXRpb24g bmFtZXMgYW5kDQo+IHByb2plY3QgbmFtZXMgaW4gdGhlIGZvbGxvd2luZyBVUkwgcGF0dGVybiwg dGFrZW4gZnJvbQ0KPiBTZWFuJ3MgZW1haWw6DQo+IA0KPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS90 aWFub2NvcmUvZWRrMi1weXRvb2wtDQo+IGV4dGVuc2lvbnMvbmV0d29yay9kZXBlbmRlbmNpZXMN Cj4gICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXl5eIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl4N Cj4gICAgICAgICAgICAgICAgICAgICAgT1JHX05BTUUgIFBST0pFQ1RfTkFNRQ0KPiANCj4gVGhh dCBtYWtlcyBmb3I6DQo+IA0KPiAtIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhZ292dWsvY2thbmV4 dC0NCj4gZGd1L25ldHdvcmsvZGVwZW5kZW5jaWVzDQo+IC0NCj4gaHR0cHM6Ly9naXRodWIuY29t L0NsZWFyaW5nSG91c2UvY2xlYXJpbmdob3VzZWQvbmV0d29yay8NCj4gZGVwZW5kZW5jaWVzDQo+ IC0NCj4gaHR0cHM6Ly9naXRodWIuY29tL2phbGFqdGhhbmFraS9OTFB5dGhvbi9uZXR3b3JrL2Rl cGVuZGUNCj4gbmNpZXMNCj4gDQo+IEFsbCB0aHJlZSBsaW5rcyB3b3JrOyBhbmQgaW4gZWFjaCBw YWdlLCB0aGVyZSBpcyBhDQo+IHNlY3Rpb24gY2FsbGVkDQo+IA0KPiAgIERlcGVuZGVuY2llcyBk ZWZpbmVkIGluIHBpcC1yZXF1aXJlbWVudHMudHh0DQo+IA0KPiBUaGVyZWZvcmUsIEkgY2xhaW0g dGhhdCA8Z2l0aHViLmNvbT4gcmVjb2duaXplcyAicGlwLQ0KPiByZXF1aXJlbWVudHMudHh0Ig0K PiB0b28sIG5vdCBqdXN0ICJyZXF1aXJlbWVudHMudHh0Ii4NCj4gDQo+IC0tLS0qLS0tLQ0KPiAN Cj4gU28gaG93IGRvZXMgdGhhdCBhcHBseSB0byB1cz8gSXQgc2VlbXMgbGlrZSB0aGUNCj4gImRl cGVuZGVuY2llcyIgaW5zaWdodCwgdXNpbmcgdGhlIFVSTCBmb3JtYXQNCj4gDQo+IA0KPiBodHRw czovL2dpdGh1Yi5jb20vT1JHX05BTUUvUFJPSkVDVF9OQU1FL25ldHdvcmsvZGVwZW5kZQ0KPiBu Y2llcw0KPiANCj4gKm9ubHkqIGNvbnNpZGVycyB0aGUgbWFzdGVyIGJyYW5jaCAobW9yZSBwcmVj aXNlbHksIHRoZQ0KPiAiZGVmYXVsdCINCj4gYnJhbmNoKSBvZiBhIHJlcG9zaXRvcnkuDQo+IA0K PiBUaGVyZWZvcmUsIGluIG9yZGVyIHRvIHRlc3QgdGhlIHZpYWJpbGl0eSBvZiAicGlwLQ0KPiBy ZXF1aXJlbWVudHMudHh0IjoNCj4gDQo+IC0gV2UgbmVlZCB0byBjcmVhdGUgdHdvIG5ldyBmb3Jr cyBvZiB0aGUgZWRrMi1zdGFnaW5nDQo+IHByb2plY3Qgb24NCj4gICA8Z2l0aHViLmNvbT4uDQo+ IA0KPiAtIEluIG9uZSBvZiB0aGUgZm9ya3MgKGxldCdzIGNhbGwgaXQgRjEpLCB3ZSBuZWVkIHRv DQo+IHB1c2ggdGhlIGN1cnJlbnQNCj4gICAiZWRrMi1zdGFnaW5nL2VkazItY2kiIGJyYW5jaCBh cyBGMSdzICJtYXN0ZXIiIChvcg0KPiBtYXliZSAiYWJvdXQiKQ0KPiAgIGJyYW5jaCwgY29udGFp bmluZyAicmVxdWlyZW1lbnRzLnR4dCIuDQo+IA0KPiAtIEluIHRoZSBvdGhlciBmb3JrIChsZXQn cyBjYWxsIGl0IEYyKSwgd2UgbmVlZCB0byBwdXNoDQo+IHRoZSBjdXJyZW50DQo+ICAgImVkazIt c3RhZ2luZy9lZGsyLWNpIiBicmFuY2ggYXMgRjIncyAibWFzdGVyIiAob3INCj4gcGVyaGFwcyAi YWJvdXQiKQ0KPiAgIGJyYW5jaCwgY29udGFpbmluZyAicGlwLXJlcXVpcmVtZW50cy50eHQiLg0K PiANCj4gLSBGaW5hbGx5LCB3ZSBtdXN0IGNvbXBhcmUgKHZpc3VhbGx5KSB0aGUgZm9sbG93aW5n IHR3bw0KPiBsaW5rczoNCj4gDQo+ICAgaHR0cHM6Ly9naXRodWIuY29tL09SR19OQU1FL0YxL25l dHdvcmsvZGVwZW5kZW5jaWVzDQo+ICAgaHR0cHM6Ly9naXRodWIuY29tL09SR19OQU1FL0YyL25l dHdvcmsvZGVwZW5kZW5jaWVzDQo+IA0KPiBhbmQgYXNjZXJ0YWluIHRoZSBkZXBlbmRlbmNpZXMg dGhhdCBhcmUgcGFyc2VkIChmcm9tDQo+ICJyZXF1aXJlbWVudHMudHh0Ig0KPiB2cy4gInBpcC1y ZXF1aXJlbWVudHMudHh0IikgYXJlIGlkZW50aWNhbC4NCj4gDQo+IE5vdy4uLiBPYnZpb3VzbHks IEkgd2FudGVkIHRvIHBlcmZvcm0gdGhpcyB0ZXN0IG15c2VsZi4NCj4gRm9yIGNyZWF0aW5nICJG MSIgYW5kICJGMiIsIEkgd2FudGVkIHRvIGZvcmsgZWRrMi0NCj4gc3RhZ2luZyB0d2ljZSBtb3Jl LCB1bmRlciBteSBhY2NvdW50Lg0KPiANCj4gVW5mb3J0dW5hdGVseSwgaW4gaXRzICppbmZpbml0 ZSB3aXNkb20qLCA8Z2l0aHViLmNvbT4NCj4gZG9lcyBub3QgYWxsb3cgbWUgdG8gZm9yayB0aGUg ZWRrMi1zdGFnaW5nIHByb2plY3QgYXQNCj4gYWxsLCBhdCB0aGlzIHBvaW50IChub3QgZXZlbiB1 bmRlciBkaWZmZXJlbnQgbmFtZXMpLA0KPiBiZWNhdXNlIEkgYWxyZWFkeSBoYXZlIGEgZm9yayBv ZiBlZGsyLXN0YWdpbmcuIFNpZ2guDQo+IA0KPiBTbyBoZXJlJ3Mgd2hhdCBJIG1hbmFnZWQgdG8g ZG8uIEluIG15IGN1cnJlbnQgZWRrMi0NCj4gc3RhZ2luZyBmb3JrLCBJIGZvcmNlLXB1c2hlZCB0 aGUgImVkazItY2kiIGJyYW5jaCAqYXMqDQo+IGJvdGggdGhlICJtYXN0ZXIiIGFuZCAiYWJvdXQi DQo+IGJyYW5jaGVzLCBhdCBjb21taXQgNWY5MDFkM2Y5NmU1ICgiUmVhZG1lLm1kOiBGaXggbGlu aw0KPiB0byBweXRvb2wgUmVhZG1lLm1kIiwgMjAxOS0xMS0wMikuIFRoZW4gSSB3ZW50IHRvDQo+ IA0KPiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9sZXJzZWsvZWRrMi0NCj4gc3RhZ2luZy9uZXR3b3Jr L2RlcGVuZGVuY2llcw0KPiANCj4gYW5kIHRvb2sgYSBzY3JlZW5zaG90Lg0KPiANCj4gVGhlbiwg SSByZW5hbWVkICJyZXF1aXJlbWVudHMudHh0IiB0byAicGlwLQ0KPiByZXF1aXJlbWVudHMudHh0 IjoNCj4gDQo+ID4gY29tbWl0IGE1NWQ1MjRhYjIwMDU5M2YyYTkwNzY2MmRjZTIyNjBkZjg2ODEw ZmEgKEhFQUQNCj4gLT4gcmVxLXR4dCkNCj4gPiBBdXRob3I6IExhc3psbyBFcnNlayA8bGVyc2Vr QHJlZGhhdC5jb20+DQo+ID4gRGF0ZTogICBGcmkgTm92IDggMTM6NTA6MjAgMjAxOSArMDEwMA0K PiA+DQo+ID4gICAgIHJlbmFtZSAicmVxdWlyZW1lbnRzLnR4dCIgdG8gInBpcC0NCj4gcmVxdWly ZW1lbnRzLnR4dCINCj4gPg0KPiA+ICAgICBTaWduZWQtb2ZmLWJ5OiBMYXN6bG8gRXJzZWsgPGxl cnNla0ByZWRoYXQuY29tPg0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3JlcXVpcmVtZW50cy50eHQg Yi9waXAtcmVxdWlyZW1lbnRzLnR4dA0KPiBzaW1pbGFyaXR5IGluZGV4DQo+ID4gMTAwJSByZW5h bWUgZnJvbSByZXF1aXJlbWVudHMudHh0IHJlbmFtZSB0byBwaXAtDQo+IHJlcXVpcmVtZW50cy50 eHQNCj4gDQo+IHB1c2hlZCB0aGUgY2hhbmdlIChhZ2FpbiB0byBib3RoIHRoZSAibWFzdGVyIiBi cmFuY2ggYW5kDQo+IHRoZSAiYWJvdXQiDQo+IGJyYW5jaCksIGFuZCB0b29rIGFub3RoZXIgc2Ny ZWVuc2hvdCwgYWZ0ZXIgcmVsb2FkaW5nDQo+IHRoZSBVUkwNCj4gDQo+ICAgaHR0cHM6Ly9naXRo dWIuY29tL2xlcnNlay9lZGsyLQ0KPiBzdGFnaW5nL25ldHdvcmsvZGVwZW5kZW5jaWVzDQo+IA0K PiBQbGVhc2UgZmluZCBib3RoIHNjcmVlbnNob3RzIGF0dGFjaGVkLg0KPiANCj4gVGhlcmVmb3Jl IEkgKGFnYWluKSBjbGFpbSB0aGF0IDxnaXRodWIuY29tPiBob25vcnMgInBpcC0NCj4gcmVxdWly ZW1lbnRzLnR4dCIgZXF1YWxseSwgYW5kIHRoZXJlZm9yZSB3ZSBzaG91bGQgdXNlDQo+IHRoZSAi cGlwLXJlcXVpcmVtZW50cy50eHQiIGZpbGVuYW1lLg0KPiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8N Cg==