Return-Path: From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm: non-volatile memory devices for 4.2 Date: Fri, 26 Jun 2015 21:46:26 +0000 Message-ID: <1435355182.18090.64.camel@intel.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <742108056C3A7A4ABEF7F37AAE8FF96C@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org To: "torvalds@linux-foundation.org" Cc: "toshi.kani@hp.com" , "mingo@kernel.org" , "linux-kernel@vger.kernel.org" , "nicholas.w.moulin@linux.intel.com" , "Rudoff, Andy" , "jmoyer@redhat.com" , "tglx@linutronix.de" , "hch@lst.de" , "axboe@kernel.dk" , "Moore, Robert" , "Wysocki, Rafael J" , "hpa@zytor.com" , "linux-nvdimm@lists.01.org" , "axboe@fb.com" , "willy@linux.intel.com" , "bp@alien8.de" , "ross.zwisler@linux.intel.com" , "Verma, Vishal L" , "gregkh@linuxfoundation.org" , "luto@amacapital.net" , "linux-acpi@vger.kernel.org" , "akpm@linux-foundation.org" List-ID: SGkgTGludXMsIHBsZWFzZSBwdWxsIGZyb206DQoNCmdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9z Y20vbGludXgva2VybmVsL2dpdC9kamJ3L252ZGltbSB0YWdzL2xpYm52ZGltbS1mb3ItNC4yDQoN Ci4uLnRvIHJlY2VpdmUgdGhlIG5ldyBsaWJudmRpbW0gc3ViLXN5c3RlbSwgcmVsYXRlZCBkcml2 ZXJzLCBhbmQgeDg2DQplbmFibGluZy4NCg0KLS0tDQoNCkVhcmxpZXIgdGhpcyB3ZWVrLCBpbiB0 aGUgQUNQSUNBIHVwZGF0ZSwgeW91IG1lcmdlZCB0aGUgZGVmaW5pdGlvbiBvZg0KdGhlIG5ldyBB Q1BJIDYuMCB0YWJsZSBkZXNjcmliaW5nIHBsYXRmb3JtIG5vbi12b2xhdGlsZSBtZW1vcnkNCnJl c291cmNlcywgTkZJVCAoTlZESU1NIEZpcm13YXJlIEludGVyZmFjZSBUYWJsZSkuICBUaGUgc3Bl Y2lmaWNhdGlvbg0KZm9yIHRoaXMgdGFibGUgZ3VpZGVkIGRldmVsb3BtZW50IG9mIGxpYm52ZGlt bSwgYSBnZW5lcmljIGtlcm5lbA0Kc3ViLXN5c3RlbSBpbiBzdXBwb3J0IG9mIE5WRElNTSBkZXZp Y2VzLiAgVGhlIG5ldyBBQ1BJX05GSVQgZHJpdmVyIGlzDQp0aGUgcHJpbWFyeSBjb25zdW1lciBv ZiB0aGlzIGxpYnJhcnksIGFuZCBpdCBhbHNvIHN1cHBvcnRzIHRoZSBleGlzdGluZw0KWDg2X1BN RU1fTEVHQUNZIGRlZmluaXRpb24gbWVyZ2VkIGluIHY0LjEuDQoNClRoZSBpbXBsZW1lbnRhdGlv biBoYXMgYmVlbiBvdXQgZm9yIHJldmlldyBzaW5jZSBBQ1BJIDYuMCB3YXMgcmVsZWFzZWQNCndo aWNoIGNvaW5jaWRlZCB3aXRoIHY0LjEtcmMxLiAgV2UgaGF2ZSBpdGVyYXRlZCB0aHJvdWdoIGEg c3RlYWR5IHN0cmVhbQ0Kb2YgdG91Z2gsIGJ1dCB1bHRpbWF0ZWx5IGZvciB0aGUgYmV0dGVybWVu dCBvZiB0aGUgY29kZSBiYXNlLCByZXZpZXcNCmZlZWRiYWNrLiAgVGhlIGNvZGUgaXMgbWVyZ2Ug cmVhZHkgYXMgd2UgaGF2ZSB3b3JrZWQgdGhyb3VnaCBhbGwgdGhlDQpjb2Fyc2UgYXNwZWN0cyBv ZiB0aGUgYXJjaGl0ZWN0dXJlLCBwcmltYXJpbHkgd2l0aCBDaHJpc3RvcGgsIGFuZCBoYXZlDQpk ZW1vbnN0cmF0ZWQgYSB3aWxsaW5nbmVzcyBhbmQgYWJpbGl0eSB0byBxdWlja2x5IHNwaW4gdGhl DQppbXBsZW1lbnRhdGlvbiBpbiByZXNwb25zZSB0byByZXZpZXcuDQoNCkl0IG11c3QgYmUgbm90 ZWQgdGhhdCB0aGUgb25lIGFzcGVjdCBvZiB0aGlzIHB1bGwgcmVxdWVzdCB0aGF0IENocmlzdG9w aA0Kc3RpbGwgaGFzIGNvbmNlcm5zLCB0aGUgZXh0ZXJuYWwgdW5pdCB0ZXN0IGluZnJhc3RydWN0 dXJlIGluDQp0b29scy90ZXN0aW5nL252ZGltbS8sIGlzIHRoZSBwcmltYXJ5IHJlYXNvbiB3ZSBo YXZlIGJlZW4gYWJsZSB0byBzcGluDQp0aGUgaW1wbGVtZW50YXRpb24gd2l0aCBzcGVlZCBhbmQg Y29uZmlkZW5jZS4gIFRoZSBjaGFuZ2Vsb2cgZm9yIGNvbW1pdA0KNmJjNzU2MTkzZmY2ICJ0b29s cy90ZXN0aW5nL252ZGltbTogbGlibnZkaW1tIHVuaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSINCmdv ZXMgaW50byBtb3JlIGRldGFpbHMgb2YgdGhlIHJhdGlvbmFsZSB0byBpbmNsdWRlIGl0LiAgU3Vm ZmljZSB0byBzYXkNCnRoZSBwb3RlbnRpYWwgbWFpbnRlbmFuY2UgYnVyZGVuIG9mIGNhcnJ5aW5n IGRyaXZlciB0ZXN0IGluZnJhc3RydWN0dXJlDQppbi10cmVlIGlzIG92ZXJzaGFkb3dlZCBieSB0 aGUgYmVuZWZpdHMgb2YgZGVtb25zdHJhdGluZyB0aGUNCmltcGxlbWVudGF0aW9uIGluIHRoZSBh YnNlbmNlIG9mIGhhcmR3YXJlLCBjYXRjaGluZyBidWdzICh0aGUgbWFqb3JpdHkNCm9mIHRoZW0p LCBhbmQgaWRlbnRpZnlpbmcgaW5jb21wbGV0ZSBlbmFibGluZy4NCg0KTm90YWJseSBtaXNzaW5n IGZyb20gdGhpcyBtZXJnZSByZXF1ZXN0IGFyZSBzb21lIG9mIHRoZSB3aWRlciBhcmNoDQpjbGVh bnVwcyAoZ2VuZXJpYyBpb3JlbWFwX2NhY2hlKCkpIGFuZCBjb3JlIGtlcm5lbCBlbmFibGluZyAo X19wZm5fdCwNCmttYXBfYXRvbWljX3Bmbl90KCksIG1lbXJlbWFwKCksIGV0Yy4uLikgdXBkYXRl cyB0aGF0IHdlcmUgaWRlbnRpZmllZCBpbg0KdGhlIGNvdXJzZSBvZiBkZXZlbG9wbWVudC4gIFRo b3NlIHdpbGwgbmVlZCB0byB3YWl0IGZvciA0LjMuICBJbiB0aGUNCm1lYW50aW1lIHRoaXMgZG9l cyBpbmNsdWRlIHRoZSBuZXcgcG1lbSBhcGkgd2hpY2ggaG9va3MgdXAgdGhlICJwY29tbWl0Ig0K aW5zdHJ1Y3Rpb24gdGhhdCB3YXMgcHJldmlvdXNseSBtZXJnZWQgaW4gdjQuMSBhbmQgb3V0bGlu ZXMgd2hhdCBhbg0KYXJjaGl0ZWN0dXJlIG1heSBuZWVkIHRvIGltcGxlbWVudCB0byByZWxpYWJs eSBzdXBwb3J0IHBtZW0uDQoNClBsZWFzZSBwdWxsLCBmdWxsIGNvbW1pdCBsb2cgYmVsb3cgc28g eW91IGNhbiBzZWUgd2hhdCBoYXMgYmVlbg0KZXhwbGljaXRseSBhY2tlZC4NCg0KVGhhbmsgeW91 IQ0KDQotLS0NCg0KVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHNpbmNlIGNvbW1pdCBmM2I2Y2VkMjM2 MjU5YTg3ODI5YjgyOWU4ZTU0MmZmNTNiZmI5YTRmOg0KDQogIEFDUElDQTogRml4IGZvciBpbGwt Zm9ybWVkIEdVSUQgc3RyaW5ncyBmb3IgTkZJVCB0YWJsZXMuICgyMDE1LTA1LTI1IDIzOjQyOjM0 ICswMjAwKQ0KDQphcmUgYXZhaWxhYmxlIGluIHRoZSBnaXQgcmVwb3NpdG9yeSBhdDoNCg0KICBn aXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvZGpidy9udmRpbW0g dGFncy9saWJudmRpbW0tZm9yLTQuMg0KDQpmb3IgeW91IHRvIGZldGNoIGNoYW5nZXMgdXAgdG8g NjEwMzE5NTJmNGM4OWRiYTEwNjVmN2E1Yjk0MTliYWRiMTEyNTU0YzoNCg0KICBhcmNoLCB4ODY6 IHBtZW0gYXBpIGZvciBlbnN1cmluZyBkdXJhYmlsaXR5IG9mIHBlcnNpc3RlbnQgbWVtb3J5IHVw ZGF0ZXMgKDIwMTUtMDYtMjYgMTE6MjM6MzggLTA0MDApDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClRoZSBsaWJudmRp bW0gc3ViLXN5c3RlbSBpbnRyb2R1Y2VzLCBpbiBhZGRpdGlvbiB0byB0aGUgbGlibnZkaW1tLWNv cmUsDQo0IGRyaXZlcnMgLyBlbmFibGluZyBtb2R1bGVzOg0KDQpORklUOg0KSW5zdGFudGlhdGVz IGFuICJudmRpbW0gYnVzIiB3aXRoIHRoZSBjb3JlIGFuZCByZWdpc3RlcnMgbWVtb3J5IGRldmlj ZXMNCihOVkRJTU1zKSBlbnVtZXJhdGVkIGJ5IHRoZSBBQ1BJIDYuMCBORklUIChOVkRJTU0gRmly bXdhcmUgSW50ZXJmYWNlDQp0YWJsZSkuICBBZnRlciByZWdpc3RlcmluZyBOVkRJTU1zIHRoZSBO RklUIGRyaXZlciB0aGVuIHJlZ2lzdGVycw0KInJlZ2lvbiIgZGV2aWNlcy4gIEEgbGlibnZkaW1t LXJlZ2lvbiBkZWZpbmVzIGFuIGFjY2VzcyBtb2RlIGFuZCB0aGUNCmJvdW5kYXJpZXMgb2YgcGVy c2lzdGVudCBtZW1vcnkgbWVkaWEuICBBIHJlZ2lvbiBtYXkgc3BhbiBtdWx0aXBsZQ0KTlZESU1N cyB0aGF0IGFyZSBpbnRlcmxlYXZlZCBieSB0aGUgaGFyZHdhcmUgbWVtb3J5IGNvbnRyb2xsZXIu ICBJbg0KdHVybiwgYSBsaWJudmRpbW0tcmVnaW9uIGNhbiBiZSBjYXJ2ZWQgaW50byBhICJuYW1l c3BhY2UiIGRldmljZSBhbmQNCmJvdW5kIHRvIHRoZSBQTUVNIG9yIEJMSyBkcml2ZXIgd2hpY2gg d2lsbCBhdHRhY2ggYSBMaW51eCBibG9jayBkZXZpY2UNCihkaXNrKSBpbnRlcmZhY2UgdG8gdGhl IG1lbW9yeS4NCg0KUE1FTToNCkluaXRpYWxseSBtZXJnZWQgaW4gdjQuMSB0aGlzIGRyaXZlciBm b3IgY29udGlndW91cyBzcGFucyBvZiBwZXJzaXN0ZW50DQptZW1vcnkgYWRkcmVzcyByYW5nZXMg aXMgcmUtd29ya2VkIHRvIGRyaXZlIFBNRU0tbmFtZXNwYWNlcyBlbWl0dGVkIGJ5DQp0aGUgbGli bnZkaW1tLWNvcmUuICBJbiB0aGlzIHVwZGF0ZSB0aGUgUE1FTSBkcml2ZXIsIG9uIHg4NiwgZ2Fp bnMgdGhlDQphYmlsaXR5IHRvIGFzc2VydCB0aGF0IHdyaXRlcyB0byBwZXJzaXN0ZW50IG1lbW9y eSBoYXZlIGJlZW4gZmx1c2hlZCBhbGwNCnRoZSB3YXkgdGhyb3VnaCB0aGUgY2FjaGVzIGFuZCBi dWZmZXJzIGluIHRoZSBwbGF0Zm9ybSB0byBwZXJzaXN0ZW50DQptZWRpYS4gIFNlZSBtZW1jcHlf dG9fcG1lbSgpIGFuZCB3bWJfcG1lbSgpLg0KDQpCTEs6DQpUaGlzIG5ldyBkcml2ZXIgZW5hYmxl cyBhY2Nlc3MgdG8gcGVyc2lzdGVudCBtZW1vcnkgbWVkaWEgdGhyb3VnaCAiQmxvY2sNCkRhdGEg V2luZG93cyIgYXMgZGVmaW5lZCBieSB0aGUgTkZJVC4gIFRoZSBwcmltYXJ5IGRpZmZlcmVuY2Ug b2YgdGhpcw0KZHJpdmVyIHRvIFBNRU0gaXMgdGhhdCBvbmx5IGEgc21hbGwgd2luZG93IG9mIHBl cnNpc3RlbnQgbWVtb3J5IGlzDQptYXBwZWQgaW50byBzeXN0ZW0gYWRkcmVzcyBzcGFjZSBhdCBh bnkgZ2l2ZW4gcG9pbnQgaW4gdGltZS4gIFBlci1OVkRJTU0NCndpbmRvd3MgYXJlIHJlcHJvZ3Jh bW1lZCBhdCBydW4gdGltZSwgcGVyLUkvTywgdG8gYWNjZXNzIGRpZmZlcmVudA0KcG9ydGlvbnMg b2YgdGhlIG1lZGlhLiAgQkxLLW1vZGUsIGJ5IGRlZmluaXRpb24sIGRvZXMgbm90IHN1cHBvcnQg REFYLg0KDQpCVFQ6DQpUaGlzIGlzIGEgbGlicmFyeSwgb3B0aW9uYWxseSBjb25zdW1lZCBieSBl aXRoZXIgUE1FTSBvciBCTEssIHRoYXQNCmNvbnZlcnRzIGEgYnl0ZS1hY2Nlc3NpYmxlIG5hbWVz cGFjZSBpbnRvIGEgZGlzayB3aXRoIGF0b21pYyBzZWN0b3INCnVwZGF0ZSBzZW1hbnRpY3MgKHBy ZXZlbnRzIHNlY3RvciB0ZWFyaW5nIG9uIGNyYXNoIG9yIHBvd2VyIGxvc3MpLiAgVGhlDQpzaW5p c3RlciBhc3BlY3Qgb2Ygc2VjdG9yIHRlYXJpbmcgaXMgdGhhdCBtb3N0IGFwcGxpY2F0aW9ucyBk byBub3Qga25vdw0KdGhleSBoYXZlIGEgYXRvbWljIHNlY3RvciBkZXBlbmRlbmN5LiAgQXQgbGVh c3QgdG9kYXkncyBkaXNrcyByYXJlbHkNCmV2ZXIgdGVhciBzZWN0b3JzIGFuZCBpZiB0aGV5IGRv IG9uZSBhbG1vc3QgY2VydGFpbmx5IGdldHMgYSBDUkMgZXJyb3INCm9uIGFjY2Vzcy4gIE5WRElN TXMgd2lsbCBhbHdheXMgdGVhciBhbmQgYWx3YXlzIHNpbGVudGx5LiAgVW50aWwgYW4NCmFwcGxp Y2F0aW9uIGlzIGF1ZGl0ZWQgdG8gYmUgcm9idXN0IGluIHRoZSBwcmVzZW5jZSBvZiBzZWN0b3It dGVhcmluZw0KdGhlIHVzYWdlIG9mIEJUVCBpcyByZWNvbW1lbmRlZC4NCg0KVGhhbmtzIHRvOiBS b3NzIFp3aXNsZXIsIEplZmYgTW95ZXIsIFZpc2hhbCBWZXJtYSwgQ2hyaXN0b3BoIEhlbGx3aWcs DQpJbmdvIE1vbG5hciwgTmVpbCBCcm93biwgQm9heiBIYXJyb3NoLCBSb2JlcnQgRWxsaW90dCwg TWF0dGhldyBXaWxjb3gsDQpBbmR5IFJ1ZG9mZiwgTGluZGEgS25pcHBlcnMsIFRvc2hpIEthbmks IE5pY2hvbGFzIE1vdWxpbiwgUmFmYWVsDQpXeXNvY2tpLCBhbmQgQm9iIE1vb3JlLg0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQpEYW4gV2lsbGlhbXMgKDI0KToNCiAgICAgIGU4MjAsIGVmaTogYWRkIEFDUEkgNi4wIHBl cnNpc3RlbnQgbWVtb3J5IHR5cGVzDQogICAgICBsaWJudmRpbW0sIG5maXQ6IGluaXRpYWwgbGli bnZkaW1tIGluZnJhc3RydWN0dXJlIGFuZCBORklUIHN1cHBvcnQNCiAgICAgIGxpYm52ZGltbTog Y29udHJvbCBjaGFyYWN0ZXIgZGV2aWNlIGFuZCBudmRpbW1fYnVzIHN5c2ZzIGF0dHJpYnV0ZXMN CiAgICAgIGxpYm52ZGltbSwgbmZpdDogZGltbS9tZW1vcnktZGV2aWNlcw0KICAgICAgbGlibnZk aW1tOiBjb250cm9sIChpb2N0bCkgbWVzc2FnZXMgZm9yIG52ZGltbV9idXMgYW5kIG52ZGltbSBk ZXZpY2VzDQogICAgICBsaWJudmRpbW0sIG52ZGltbTogZGltbSBkcml2ZXIgYW5kIGJhc2UgbGli bnZkaW1tIGRldmljZS1kcml2ZXIgaW5mcmFzdHJ1Y3R1cmUNCiAgICAgIGxpYm52ZGltbSwgbmZp dDogcmVnaW9ucyAoYmxvY2stZGF0YS13aW5kb3csIHBlcnNpc3RlbnQgbWVtb3J5LCB2b2xhdGls ZSBtZW1vcnkpDQogICAgICBsaWJudmRpbW06IHN1cHBvcnQgZm9yIGxlZ2FjeSAobm9uLWFsaWFz aW5nKSBudmRpbW1zDQogICAgICBsaWJudmRpbW0sIHBtZW06IG1vdmUgcG1lbSB0byBkcml2ZXJz L252ZGltbS8NCiAgICAgIGxpYm52ZGltbSwgcG1lbTogYWRkIGxpYm52ZGltbSBzdXBwb3J0IHRv IHRoZSBwbWVtIGRyaXZlcg0KICAgICAgbGlibnZkaW1tLCBuZml0OiBhZGQgaW50ZXJsZWF2ZS1z ZXQgc3RhdGUtdHJhY2tpbmcgaW5mcmFzdHJ1Y3R1cmUNCiAgICAgIGxpYm52ZGltbTogbmFtZXNw YWNlIGluZGljZXM6IHJlYWQgYW5kIHZhbGlkYXRlDQogICAgICBsaWJudmRpbW06IHBtZW0gbGFi ZWwgc2V0cyBhbmQgbmFtZXNwYWNlIGluc3RhbnRpYXRpb24uDQogICAgICBsaWJudmRpbW06IGJs ayBsYWJlbHMgYW5kIG5hbWVzcGFjZSBpbnN0YW50aWF0aW9uDQogICAgICBsaWJudmRpbW06IHdy aXRlIHBtZW0gbGFiZWwgc2V0DQogICAgICBsaWJudmRpbW06IHdyaXRlIGJsayBsYWJlbCBzZXQN CiAgICAgIGxpYm52ZGltbTogaW5mcmFzdHJ1Y3R1cmUgZm9yIGJ0dCBkZXZpY2VzDQogICAgICB0 b29scy90ZXN0aW5nL252ZGltbTogbGlibnZkaW1tIHVuaXQgdGVzdCBpbmZyYXN0cnVjdHVyZQ0K ICAgICAgbGlibnZkaW1tOiBOb24tVm9sYXRpbGUgRGV2aWNlcw0KICAgICAgbGlibnZkaW1tLCBw bWVtOiBmaXggdXAgbWF4X2h3X3NlY3RvcnMNCiAgICAgIHBtZW06IG1ha2VfcmVxdWVzdCBjbGVh bnVwcw0KICAgICAgbGlibnZkaW1tOiBlbmFibGUgaW9zdGF0DQogICAgICBwbWVtOiBmbGFnIHBt ZW0gYmxvY2sgZGV2aWNlcyBhcyBub24tcm90YXRpb25hbA0KICAgICAgbGlibnZkaW1tLCBuZml0 OiBoYW5kbGUgdW5hcm1lZCBkaW1tcywgbWFyayBuYW1lc3BhY2VzIHJlYWQtb25seQ0KDQpSb3Nz IFp3aXNsZXIgKDIpOg0KICAgICAgbGlibnZkaW1tLCBuZml0LCBuZF9ibGs6IGRyaXZlciBmb3Ig QkxLLW1vZGUgYWNjZXNzIHBlcnNpc3RlbnQgbWVtb3J5DQogICAgICBhcmNoLCB4ODY6IHBtZW0g YXBpIGZvciBlbnN1cmluZyBkdXJhYmlsaXR5IG9mIHBlcnNpc3RlbnQgbWVtb3J5IHVwZGF0ZXMN Cg0KVG9zaGkgS2FuaSAoMyk6DQogICAgICBhY3BpOiBBZGQgYWNwaV9tYXBfcHhtX3RvX29ubGlu ZV9ub2RlKCkNCiAgICAgIGxpYm52ZGltbTogU2V0IG51bWFfbm9kZSB0byBOVkRJTU0gZGV2aWNl cw0KICAgICAgbGlibnZkaW1tOiBBZGQgc3lzZnMgbnVtYV9ub2RlIHRvIE5WRElNTSBkZXZpY2Vz DQoNClZpc2hhbCBWZXJtYSAoNCk6DQogICAgICBuZF9idHQ6IGF0b21pYyBzZWN0b3IgdXBkYXRl cw0KICAgICAgZnMvYmxvY2tfZGV2LmM6IHNraXAgcndfcGFnZSBpZiBiZGV2IGhhcyBpbnRlZ3Jp dHkNCiAgICAgIGxpYm52ZGltbSwgYnR0OiBhZGQgc3VwcG9ydCBmb3IgYmxrIGludGVncml0eQ0K ICAgICAgbGlibnZkaW1tLCBibGs6IGFkZCBzdXBwb3J0IGZvciBibGsgaW50ZWdyaXR5DQoNCiBE b2N1bWVudGF0aW9uL252ZGltbS9idHQudHh0ICAgICAgICAgIHwgIDI4MyArKysrKw0KIERvY3Vt ZW50YXRpb24vbnZkaW1tL252ZGltbS50eHQgICAgICAgfCAgODA4ICsrKysrKysrKysrKysrDQog TUFJTlRBSU5FUlMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzkgKy0NCiBhcmNoL2Fy bTY0L2tlcm5lbC9lZmkuYyAgICAgICAgICAgICAgIHwgICAgMSArDQogYXJjaC9pYTY0L2tlcm5l bC9lZmkuYyAgICAgICAgICAgICAgICB8ICAgIDQgKw0KIGFyY2gveDg2L0tjb25maWcgICAgICAg ICAgICAgICAgICAgICAgfCAgICA0ICsNCiBhcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvZWJvb3Qu YyAgICAgIHwgICAgNCArDQogYXJjaC94ODYvaW5jbHVkZS9hc20vY2FjaGVmbHVzaC5oICAgICB8 ICAgNzIgKysNCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9pby5oICAgICAgICAgICAgIHwgICAgNiAr DQogYXJjaC94ODYvaW5jbHVkZS91YXBpL2FzbS9lODIwLmggICAgICB8ICAgIDEgKw0KIGFyY2gv eDg2L2tlcm5lbC9lODIwLmMgICAgICAgICAgICAgICAgfCAgIDI4ICstDQogYXJjaC94ODYva2Vy bmVsL3BtZW0uYyAgICAgICAgICAgICAgICB8ICAgOTMgKy0NCiBhcmNoL3g4Ni9wbGF0Zm9ybS9l ZmkvZWZpLmMgICAgICAgICAgIHwgICAgMyArDQogZHJpdmVycy9LY29uZmlnICAgICAgICAgICAg ICAgICAgICAgICB8ICAgIDIgKw0KIGRyaXZlcnMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAg ICAgfCAgICAxICsNCiBkcml2ZXJzL2FjcGkvS2NvbmZpZyAgICAgICAgICAgICAgICAgIHwgICAy NiArDQogZHJpdmVycy9hY3BpL01ha2VmaWxlICAgICAgICAgICAgICAgICB8ICAgIDEgKw0KIGRy aXZlcnMvYWNwaS9uZml0LmMgICAgICAgICAgICAgICAgICAgfCAxNTg3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysNCiBkcml2ZXJzL2FjcGkvbmZpdC5oICAgICAgICAgICAgICAgICAgIHwg IDE1OCArKysNCiBkcml2ZXJzL2FjcGkvbnVtYS5jICAgICAgICAgICAgICAgICAgIHwgICA1MCAr LQ0KIGRyaXZlcnMvYmxvY2svS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgIDExIC0NCiBkcml2 ZXJzL2Jsb2NrL01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICAgMSAtDQogZHJpdmVycy9udmRp bW0vS2NvbmZpZyAgICAgICAgICAgICAgICB8ICAgNjggKysNCiBkcml2ZXJzL252ZGltbS9NYWtl ZmlsZSAgICAgICAgICAgICAgIHwgICAyMCArDQogZHJpdmVycy9udmRpbW0vYmxrLmMgICAgICAg ICAgICAgICAgICB8ICAzODQgKysrKysrKw0KIGRyaXZlcnMvbnZkaW1tL2J0dC5jICAgICAgICAg ICAgICAgICAgfCAxNDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrDQogZHJpdmVycy9udmRp bW0vYnR0LmggICAgICAgICAgICAgICAgICB8ICAxODUgKysrKw0KIGRyaXZlcnMvbnZkaW1tL2J0 dF9kZXZzLmMgICAgICAgICAgICAgfCAgNDI1ICsrKysrKysrDQogZHJpdmVycy9udmRpbW0vYnVz LmMgICAgICAgICAgICAgICAgICB8ICA3MzAgKysrKysrKysrKysrKw0KIGRyaXZlcnMvbnZkaW1t L2NvcmUuYyAgICAgICAgICAgICAgICAgfCAgNDY1ICsrKysrKysrDQogZHJpdmVycy9udmRpbW0v ZGltbS5jICAgICAgICAgICAgICAgICB8ICAxMDIgKysNCiBkcml2ZXJzL252ZGltbS9kaW1tX2Rl dnMuYyAgICAgICAgICAgIHwgIDU1MSArKysrKysrKysrDQogZHJpdmVycy9udmRpbW0vbGFiZWwu YyAgICAgICAgICAgICAgICB8ICA5MjcgKysrKysrKysrKysrKysrKw0KIGRyaXZlcnMvbnZkaW1t L2xhYmVsLmggICAgICAgICAgICAgICAgfCAgMTQxICsrKw0KIGRyaXZlcnMvbnZkaW1tL25hbWVz cGFjZV9kZXZzLmMgICAgICAgfCAxODcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kw0KIGRyaXZlcnMvbnZkaW1tL25kLWNvcmUuaCAgICAgICAgICAgICAgfCAgIDgzICsrDQogZHJp dmVycy9udmRpbW0vbmQuaCAgICAgICAgICAgICAgICAgICB8ICAyMjAgKysrKw0KIGRyaXZlcnMv e2Jsb2NrID0+IG52ZGltbX0vcG1lbS5jICAgICAgfCAgMjI3ICsrLS0NCiBkcml2ZXJzL252ZGlt bS9yZWdpb24uYyAgICAgICAgICAgICAgIHwgIDExNCArKw0KIGRyaXZlcnMvbnZkaW1tL3JlZ2lv bl9kZXZzLmMgICAgICAgICAgfCAgNzg3ICsrKysrKysrKysrKysrDQogZnMvYmxvY2tfZGV2LmMg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0NCiBpbmNsdWRlL2xpbnV4L2FjcGkuaCAg ICAgICAgICAgICAgICAgIHwgICAgNSArDQogaW5jbHVkZS9saW51eC9jb21waWxlci5oICAgICAg ICAgICAgICB8ICAgIDIgKw0KIGluY2x1ZGUvbGludXgvZWZpLmggICAgICAgICAgICAgICAgICAg fCAgICAzICstDQogaW5jbHVkZS9saW51eC9saWJudmRpbW0uaCAgICAgICAgICAgICB8ICAxNTEg KysrDQogaW5jbHVkZS9saW51eC9uZC5oICAgICAgICAgICAgICAgICAgICB8ICAxNTEgKysrDQog aW5jbHVkZS9saW51eC9wbWVtLmggICAgICAgICAgICAgICAgICB8ICAxNTMgKysrDQogaW5jbHVk ZS91YXBpL2xpbnV4L0tidWlsZCAgICAgICAgICAgICB8ICAgIDEgKw0KIGluY2x1ZGUvdWFwaS9s aW51eC9uZGN0bC5oICAgICAgICAgICAgfCAgMTk3ICsrKysNCiBsaWIvS2NvbmZpZyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgMyArDQogdG9vbHMvdGVzdGluZy9udmRpbW0vS2J1aWxk ICAgICAgICAgICB8ICAgNDAgKw0KIHRvb2xzL3Rlc3RpbmcvbnZkaW1tL01ha2VmaWxlICAgICAg ICAgfCAgICA3ICsNCiB0b29scy90ZXN0aW5nL252ZGltbS9jb25maWdfY2hlY2suYyAgIHwgICAx NSArDQogdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9LYnVpbGQgICAgICB8ICAgIDggKw0KIHRv b2xzL3Rlc3RpbmcvbnZkaW1tL3Rlc3QvaW9tYXAuYyAgICAgfCAgMTUxICsrKw0KIHRvb2xzL3Rl c3RpbmcvbnZkaW1tL3Rlc3QvbmZpdC5jICAgICAgfCAxMTE2ICsrKysrKysrKysrKysrKysrKysr DQogdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0X3Rlc3QuaCB8ICAgMjkgKw0KIDU3IGZp bGVzIGNoYW5nZWQsIDEzODQzIGluc2VydGlvbnMoKyksIDE1NCBkZWxldGlvbnMoLSkNCiBjcmVh dGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9udmRpbW0vYnR0LnR4dA0KIGNyZWF0ZSBtb2Rl IDEwMDY0NCBEb2N1bWVudGF0aW9uL252ZGltbS9udmRpbW0udHh0DQogY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvYWNwaS9uZml0LmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9hY3Bp L25maXQuaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL252ZGltbS9LY29uZmlnDQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbnZkaW1tL01ha2VmaWxlDQogY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvbnZkaW1tL2Jsay5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbnZk aW1tL2J0dC5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbnZkaW1tL2J0dC5oDQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbnZkaW1tL2J0dF9kZXZzLmMNCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9udmRpbW0vYnVzLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9u dmRpbW0vY29yZS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbnZkaW1tL2RpbW0uYw0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL252ZGltbS9kaW1tX2RldnMuYw0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL252ZGltbS9sYWJlbC5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvbnZkaW1tL2xhYmVsLmgNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9udmRpbW0v bmFtZXNwYWNlX2RldnMuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL252ZGltbS9uZC1j b3JlLmgNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9udmRpbW0vbmQuaA0KIHJlbmFtZSBk cml2ZXJzL3tibG9jayA9PiBudmRpbW19L3BtZW0uYyAoNTAlKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL252ZGltbS9yZWdpb24uYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL252 ZGltbS9yZWdpb25fZGV2cy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgvbGli bnZkaW1tLmgNCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9uZC5oDQogY3JlYXRl IG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgvcG1lbS5oDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGlu Y2x1ZGUvdWFwaS9saW51eC9uZGN0bC5oDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rp bmcvbnZkaW1tL0tidWlsZA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL252ZGlt bS9NYWtlZmlsZQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL252ZGltbS9jb25m aWdfY2hlY2suYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL252ZGltbS90ZXN0 L0tidWlsZA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL252ZGltbS90ZXN0L2lv bWFwLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0 LmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0X3Rl c3QuaA0KDQoNCmNvbW1pdCBhZDVmYjg3MGM0ODZkOTMyYTE3NDlkNzg1M2RkNzBmNDM2YTdlMDNm DQpBdXRob3I6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0ZTog ICBGcmkgQXByIDMgMTI6MDU6MjggMjAxNSAtMDQwMA0KDQogICAgZTgyMCwgZWZpOiBhZGQgQUNQ SSA2LjAgcGVyc2lzdGVudCBtZW1vcnkgdHlwZXMNCiAgICANCiAgICBBQ1BJIDYuMCBmb3JtYWxp emVzIGU4MjAtdHlwZS03IGFuZCBlZmktdHlwZS0xNCBhcyBwZXJzaXN0ZW50IG1lbW9yeS4NCiAg ICBNYXJrIGl0ICJyZXNlcnZlZCIgYW5kIGFsbG93IGl0IHRvIGJlIGNsYWltZWQgYnkgYSBwZXJz aXN0ZW50IG1lbW9yeQ0KICAgIGRldmljZSBkcml2ZXIuDQogICAgDQogICAgVGhpcyBkZWZpbml0 aW9uIGlzIGluIGFkZGl0aW9uIHRvIHRoZSBMaW51eCBrZXJuZWwncyBleGlzdGluZyB0eXBlLTEy DQogICAgZGVmaW5pdGlvbiB0aGF0IHdhcyByZWNlbnRseSBhZGRlZCBpbiBzdXBwb3J0IG9mIHNo aXBwaW5nIHBsYXRmb3JtcyB3aXRoDQogICAgTlZESU1NIHN1cHBvcnQgdGhhdCBwcmVkYXRlIEFD UEkgNi4wICh3aGljaCBub3cgY2xhc3NpZmllcyB0eXBlLTEyIGFzDQogICAgT0VNIHJlc2VydmVk KS4NCiAgICANCiAgICBOb3RlLCAvcHJvYy9pb21lbSBjYW4gYmUgY29uc3VsdGVkIGZvciBkaWZm ZXJlbnRpYXRpbmcgbGVnYWN5DQogICAgIlBlcnNpc3RlbnQgTWVtb3J5IChsZWdhY3kpIiBFODIw X1BSQU0gdnMgc3RhbmRhcmQgIlBlcnNpc3RlbnQgTWVtb3J5Ig0KICAgIEU4MjBfUE1FTS4NCiAg ICANCiAgICBDYzogQm9heiBIYXJyb3NoIDxib2F6QHBsZXhpc3Rvci5jb20+DQogICAgQ2M6IElu Z28gTW9sbmFyIDxtaW5nb0BrZXJuZWwub3JnPg0KICAgIENjOiBDaHJpc3RvcGggSGVsbHdpZyA8 aGNoQGxzdC5kZT4NCiAgICBDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51eC1mb3VuZGF0aW9u Lm9yZz4NCiAgICBDYzogQm9yaXNsYXYgUGV0a292IDxicEBhbGllbjguZGU+DQogICAgQ2M6IEgu IFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPg0KICAgIENjOiBKZW5zIEF4Ym9lIDxheGJvZUBm Yi5jb20+DQogICAgQ2M6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51eC1mb3VuZGF0aW9u Lm9yZz4NCiAgICBDYzogTWF0dGhldyBXaWxjb3ggPHdpbGx5QGxpbnV4LmludGVsLmNvbT4NCiAg ICBDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+DQogICAgQWNrZWQtYnk6 IEplZmYgTW95ZXIgPGptb3llckByZWRoYXQuY29tPg0KICAgIEFja2VkLWJ5OiBBbmR5IEx1dG9t aXJza2kgPGx1dG9AYW1hY2FwaXRhbC5uZXQ+DQogICAgUmV2aWV3ZWQtYnk6IFJvc3MgWndpc2xl ciA8cm9zcy56d2lzbGVyQGxpbnV4LmludGVsLmNvbT4NCiAgICBBY2tlZC1ieTogQ2hyaXN0b3Bo IEhlbGx3aWcgPGhjaEBsc3QuZGU+DQogICAgVGVzdGVkLWJ5OiBUb3NoaSBLYW5pIDx0b3NoaS5r YW5pQGhwLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxp YW1zQGludGVsLmNvbT4NCg0KY29tbWl0IGI5NGQ1MjMwZDA2ZWI5MzBiZTgyZTY3ZmIxYTlhNTgy NzFlNzgyOTcNCkF1dGhvcjogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+ DQpEYXRlOiAgIFR1ZSBNYXkgMTkgMjI6NTQ6MzEgMjAxNSAtMDQwMA0KDQogICAgbGlibnZkaW1t LCBuZml0OiBpbml0aWFsIGxpYm52ZGltbSBpbmZyYXN0cnVjdHVyZSBhbmQgTkZJVCBzdXBwb3J0 DQogICAgDQogICAgQSBzdHJ1Y3QgbnZkaW1tX2J1cyBpcyB0aGUgYW5jaG9yIGRldmljZSBmb3Ig cmVnaXN0ZXJpbmcgbnZkaW1tDQogICAgcmVzb3VyY2VzIGFuZCBpbnRlcmZhY2VzLCBmb3IgZXhh bXBsZSwgYSBjaGFyYWN0ZXIgY29udHJvbCBkZXZpY2UsDQogICAgbnZkaW1tIGRldmljZXMsIGFu ZCBJL08gcmVnaW9uIGRldmljZXMuICBUaGUgQUNQSSBORklUIChOVkRJTU0gRmlybXdhcmUNCiAg ICBJbnRlcmZhY2UgVGFibGUpIGlzIG9uZSBwb3NzaWJsZSBwbGF0Zm9ybSBkZXNjcmlwdGlvbiBm b3Igc3VjaA0KICAgIG5vbi12b2xhdGlsZSBtZW1vcnkgcmVzb3VyY2VzIGluIGEgc3lzdGVtLiAg VGhlIG5maXQua28gZHJpdmVyIGF0dGFjaGVzDQogICAgdG8gdGhlICJBQ1BJMDAxMiIgZGV2aWNl IHRoYXQgaW5kaWNhdGVzIHRoZSBwcmVzZW5jZSBvZiB0aGUgTkZJVCBhbmQNCiAgICBwYXJzZXMg dGhlIHRhYmxlIHRvIHJlZ2lzdGVyIGEgc3RydWN0IG52ZGltbV9idXMgaW5zdGFuY2UuDQogICAg DQogICAgQ2M6IDxsaW51eC1hY3BpQHZnZXIua2VybmVsLm9yZz4NCiAgICBDYzogTHYgWmhlbmcg PGx2LnpoZW5nQGludGVsLmNvbT4NCiAgICBDYzogUm9iZXJ0IE1vb3JlIDxyb2JlcnQubW9vcmVA aW50ZWwuY29tPg0KICAgIENjOiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2NraUBp bnRlbC5jb20+DQogICAgQWNrZWQtYnk6IEplZmYgTW95ZXIgPGptb3llckByZWRoYXQuY29tPg0K ICAgIEFja2VkLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4NCiAgICBBY2tlZC1i eTogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPg0KICAgIFRl c3RlZC1ieTogVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocC5jb20+DQogICAgU2lnbmVkLW9mZi1i eTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQoNCmNvbW1pdCA0NWRl ZjIyYzFmYWI4NTc2NDY0Njc0NmNlMzhkNDViMmYzMjgxZmE1DQpBdXRob3I6IERhbiBXaWxsaWFt cyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0ZTogICBTdW4gQXByIDI2IDE5OjI2OjQ4 IDIwMTUgLTA0MDANCg0KICAgIGxpYm52ZGltbTogY29udHJvbCBjaGFyYWN0ZXIgZGV2aWNlIGFu ZCBudmRpbW1fYnVzIHN5c2ZzIGF0dHJpYnV0ZXMNCiAgICANCiAgICBUaGUgY29udHJvbCBkZXZp Y2UgZm9yIGEgbnZkaW1tX2J1cyBpcyByZWdpc3RlcmVkIGFzIGFuICJuZCIgY2xhc3MNCiAgICBk ZXZpY2UuICBUaGUgZXhwZWN0YXRpb24gaXMgdGhhdCB0aGVyZSB3aWxsIHVzdWFsbHkgb25seSBi ZSBvbmUgIm5kIiBidXMNCiAgICByZWdpc3RlcmVkIHVuZGVyIC9zeXMvY2xhc3MvbmQuICBIb3dl dmVyLCB3ZSBhbGxvdyBmb3IgdGhlIHBvc3NpYmlsaXR5DQogICAgb2YgbXVsdGlwbGUgYnVzZXMg YW5kIHRoZXkgd2lsbCBsaXN0ZWQgaW4gZGlzY292ZXJ5IG9yZGVyIGFzDQogICAgbmRjdGwwLi4u bmRjdGxOLiAgVGhpcyBjaGFyYWN0ZXIgZGV2aWNlIGhvc3RzIHRoZSBpb2N0bCBmb3IgcGFzc2lu Zw0KICAgIGNvbnRyb2wgbWVzc2FnZXMuICBUaGUgaW5pdGlhbCBjb21tYW5kIHNldCBoYXMgYSAx OjEgY29ycmVsYXRpb24gd2l0aA0KICAgIHRoZSBjb21tYW5kcyBsaXN0ZWQgaW4gdGhlIGJ5IHRo ZSAiTkZJVCBEU00gRXhhbXBsZSIgZG9jdW1lbnQgWzFdLCBidXQNCiAgICB0aGlzIHNjaGVtZSBp cyBleHRlbnNpYmxlIHRvIGZ1dHVyZSBjb21tYW5kIHNldHMuDQogICAgDQogICAgTm90ZSwgbmRf aW9jdGwoKSBhbmQgdGhlIGJhY2tpbmcgLT5uZGN0bCgpIGltcGxlbWVudGF0aW9uIGFyZSBkZWZp bmVkIGluDQogICAgYSBzdWJzZXF1ZW50IHBhdGNoLiAgVGhpcyBpcyBzaW1wbHkgdGhlIGluaXRp YWwgcmVnaXN0cmF0aW9ucyBhbmQgc3lzZnMNCiAgICBhdHRyaWJ1dGVzLg0KICAgIA0KICAgIFsx XTogaHR0cDovL3BtZW0uaW8vZG9jdW1lbnRzL05WRElNTV9EU01fSW50ZXJmYWNlX0V4YW1wbGUu cGRmDQogICAgDQogICAgQ2M6IE5laWwgQnJvd24gPG5laWxiQHN1c2UuZGU+DQogICAgQ2M6IEdy ZWcgS0ggPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPg0KICAgIENjOiA8bGludXgtYWNwaUB2 Z2VyLmtlcm5lbC5vcmc+DQogICAgQ2M6IFJvYmVydCBNb29yZSA8cm9iZXJ0Lm1vb3JlQGludGVs LmNvbT4NCiAgICBDYzogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwu Y29tPg0KICAgIEFja2VkLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4NCiAgICBB Y2tlZC1ieTogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPg0K ICAgIFRlc3RlZC1ieTogVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocC5jb20+DQogICAgU2lnbmVk LW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQoNCmNvbW1p dCBlNmRmYjJkZTQ3NzY4ZWZlOGNjMzdjOWExODYzZDJhZmY4MTQ0MGZiDQpBdXRob3I6IERhbiBX aWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0ZTogICBTYXQgQXByIDI1IDAz OjU2OjE3IDIwMTUgLTA0MDANCg0KICAgIGxpYm52ZGltbSwgbmZpdDogZGltbS9tZW1vcnktZGV2 aWNlcw0KICAgIA0KICAgIEVuYWJsZSBudmRpbW0gZGV2aWNlcyB0byBiZSByZWdpc3RlcmVkIG9u IGEgbnZkaW1tX2J1cy4gIFRoZSBrZXJuZWwNCiAgICBhc3NpZ25lZCBkZXZpY2UgaWQgZm9yIG52 ZGltbSBkZXZpY2VzaXMgZHluYW1pYy4gIElmIHVzZXJzcGFjZSBuZWVkcyBhDQogICAgbW9yZSBz dGF0aWMgaWRlbnRpZmllciBpdCBzaG91bGQgY29uc3VsdCBhIHByb3ZpZGVyLXNwZWNpZmljIGF0 dHJpYnV0ZS4NCiAgICBJbiB0aGUgY2FzZSB3aGVyZSBORklUIGlzIHRoZSBwcm92aWRlciwgdGhl ICdubWVtWC9uZml0L2hhbmRsZScgb3INCiAgICAnbm1lbVgvbmZpdC9zZXJpYWwnIGF0dHJpYnV0 ZXMgbWF5IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZS4NCiAgICANCiAgICBDYzogTmVpbCBCcm93 biA8bmVpbGJAc3VzZS5kZT4NCiAgICBDYzogPGxpbnV4LWFjcGlAdmdlci5rZXJuZWwub3JnPg0K ICAgIENjOiBHcmVnIEtIIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4NCiAgICBDYzogUm9i ZXJ0IE1vb3JlIDxyb2JlcnQubW9vcmVAaW50ZWwuY29tPg0KICAgIENjOiBSYWZhZWwgSi4gV3lz b2NraSA8cmFmYWVsLmoud3lzb2NraUBpbnRlbC5jb20+DQogICAgQWNrZWQtYnk6IENocmlzdG9w aCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIEFja2VkLWJ5OiBSYWZhZWwgSi4gV3lzb2NraSA8 cmFmYWVsLmoud3lzb2NraUBpbnRlbC5jb20+DQogICAgVGVzdGVkLWJ5OiBUb3NoaSBLYW5pIDx0 b3NoaS5rYW5pQGhwLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5q LndpbGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IDYyMjMyZTQ1ZjRhMjY1YWJiNDNmMGFjZjE2 ZTU4ZjVkMGI2ZTFlYzkNCkF1dGhvcjogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRl bC5jb20+DQpEYXRlOiAgIE1vbiBKdW4gOCAxNDoyNzowNiAyMDE1IC0wNDAwDQoNCiAgICBsaWJu dmRpbW06IGNvbnRyb2wgKGlvY3RsKSBtZXNzYWdlcyBmb3IgbnZkaW1tX2J1cyBhbmQgbnZkaW1t IGRldmljZXMNCiAgICANCiAgICBNb3N0IGRpc2NvdmVyeS9jb25maWd1cmF0aW9uIG9mIHRoZSBu dmRpbW0tc3Vic3lzdGVtIGlzIGRvbmUgdmlhIHN5c2ZzDQogICAgYXR0cmlidXRlcy4gIEhvd2V2 ZXIsIHNvbWUgbnZkaW1tX2J1cyBpbnN0YW5jZXMsIHBhcnRpY3VsYXJseSB0aGUNCiAgICBBQ1BJ Lk5GSVQgYnVzLCBkZWZpbmUgYSBzbWFsbCBzZXQgb2YgbWVzc2FnZXMgdGhhdCBjYW4gYmUgcGFz c2VkIHRvIHRoZQ0KICAgIHBsYXRmb3JtLiAgRm9yIGNvbnZlbmllbmNlIHdlIGRlcml2ZSB0aGUg aW5pdGlhbCBsaWJudmRpbW0taW9jdGwgY29tbWFuZA0KICAgIGZvcm1hdHMgZGlyZWN0bHkgZnJv bSB0aGUgTkZJVCBEU00gSW50ZXJmYWNlIEV4YW1wbGUgZm9ybWF0cy4NCiAgICANCiAgICAgICAg TkRfQ01EX1NNQVJUOiBtZWRpYSBoZWFsdGggYW5kIGRpYWdub3N0aWNzDQogICAgICAgIE5EX0NN RF9HRVRfQ09ORklHX1NJWkU6IHNpemUgb2YgdGhlIGxhYmVsIHNwYWNlDQogICAgICAgIE5EX0NN RF9HRVRfQ09ORklHX0RBVEE6IHJlYWQgbGFiZWwgc3BhY2UNCiAgICAgICAgTkRfQ01EX1NFVF9D T05GSUdfREFUQTogd3JpdGUgbGFiZWwgc3BhY2UNCiAgICAgICAgTkRfQ01EX1ZFTkRPUjogdmVu ZG9yLXNwZWNpZmljIGNvbW1hbmQgcGFzc3Rocm91Z2gNCiAgICAgICAgTkRfQ01EX0FSU19DQVA6 IHJlcG9ydCBhZGRyZXNzLXJhbmdlLXNjcnViYmluZyBjYXBhYmlsaXRpZXMNCiAgICAgICAgTkRf Q01EX0FSU19TVEFSVDogaW5pdGlhdGUgc2NydWJiaW5nDQogICAgICAgIE5EX0NNRF9BUlNfU1RB VFVTOiByZXBvcnQgb24gc2NydWJiaW5nIHN0YXRlDQogICAgICAgIE5EX0NNRF9TTUFSVF9USFJF U0hPTEQ6IGNvbmZpZ3VyZSBhbGFybSB0aHJlc2hvbGRzIGZvciBzbWFydCBldmVudHMNCiAgICAN CiAgICBJZiBhIHBsYXRmb3JtIGxhdGVyIGRlZmluZXMgZGlmZmVyZW50IGNvbW1hbmRzIHRoYW4g dGhpcyBzZXQgaXQgaXMNCiAgICBzdHJhaWdodGZvcndhcmQgdG8gZXh0ZW5kIHN1cHBvcnQgdG8g dGhvc2UgZm9ybWF0cy4NCiAgICANCiAgICBNb3N0IG9mIHRoZSBjb21tYW5kcyB0YXJnZXQgYSBz cGVjaWZpYyBkaW1tLiAgSG93ZXZlciwgdGhlDQogICAgYWRkcmVzcy1yYW5nZS1zY3J1YmJpbmcg Y29tbWFuZHMgdGFyZ2V0IHRoZSBidXMuICBUaGUgJ2NvbW1hbmRzJw0KICAgIGF0dHJpYnV0ZSBp biBzeXNmcyBvZiBhbiBudmRpbW1fYnVzLCBvciBudmRpbW0sIGVudW1lcmF0ZSB0aGUgc3VwcG9y dGVkDQogICAgY29tbWFuZHMgZm9yIHRoYXQgb2JqZWN0Lg0KICAgIA0KICAgIENjOiA8bGludXgt YWNwaUB2Z2VyLmtlcm5lbC5vcmc+DQogICAgQ2M6IFJvYmVydCBNb29yZSA8cm9iZXJ0Lm1vb3Jl QGludGVsLmNvbT4NCiAgICBDYzogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lA aW50ZWwuY29tPg0KICAgIFJlcG9ydGVkLWJ5OiBOaWNob2xhcyBNb3VsaW4gPG5pY2hvbGFzLncu bW91bGluQGxpbnV4LmludGVsLmNvbT4NCiAgICBBY2tlZC1ieTogQ2hyaXN0b3BoIEhlbGx3aWcg PGhjaEBsc3QuZGU+DQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxs aWFtc0BpbnRlbC5jb20+DQoNCmNvbW1pdCA0ZDg4YTk3YWE5ZThjZmE2NDYwYWFiMTE5YzVkYTYw YWQyMjY3NDIzDQpBdXRob3I6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29t Pg0KRGF0ZTogICBTdW4gTWF5IDMxIDE0OjQxOjQ4IDIwMTUgLTA0MDANCg0KICAgIGxpYm52ZGlt bSwgbnZkaW1tOiBkaW1tIGRyaXZlciBhbmQgYmFzZSBsaWJudmRpbW0gZGV2aWNlLWRyaXZlciBp bmZyYXN0cnVjdHVyZQ0KICAgIA0KICAgICogSW1wbGVtZW50IHRoZSBkZXZpY2UtbW9kZWwgaW5m cmFzdHJ1Y3R1cmUgZm9yIGxvYWRpbmcgbW9kdWxlcyBhbmQNCiAgICAgIGF0dGFjaGluZyBkcml2 ZXJzIHRvIG52ZGltbSBkZXZpY2VzLiAgVGhpcyBpcyBhIHNpbXBsZSBhc3NvY2lhdGlvbiBvZiBh DQogICAgICBuZC1kZXZpY2UtdHlwZSBudW1iZXIgd2l0aCBhIGRyaXZlciB0aGF0IGhhcyBhIGJp dG1hc2sgb2Ygc3VwcG9ydGVkDQogICAgICBkZXZpY2UgdHlwZXMuICBUbyBmYWNpbGl0YXRlIHVz ZXJzcGFjZSBiaW5kL3VuYmluZCBvcGVyYXRpb25zICdtb2RhbGlhcycNCiAgICAgIGFuZCAnZGV2 dHlwZScsIHRoYXQgYWxzbyBhcHBlYXIgaW4gdGhlIHVldmVudCwgYXJlIGFkZGVkIGFzIGdlbmVy aWMNCiAgICAgIHN5c2ZzIGF0dHJpYnV0ZXMgZm9yIGFsbCBudmRpbW0gZGV2aWNlcy4gIFRoZSBy ZWFzb24gZm9yIHRoZSBkZXZpY2UtdHlwZQ0KICAgICAgbnVtYmVyIGlzIHRvIHN1cHBvcnQgc3Vi LXR5cGVzIHdpdGhpbiBhIGdpdmVuIHBhcmVudCBkZXZ0eXBlLCBiZSBpdCBhDQogICAgICB2ZW5k b3Itc3BlY2lmaWMgc3ViLXR5cGUgb3Igb3RoZXJ3aXNlLg0KICAgIA0KICAgICogVGhlIGZpcnN0 IGNvbnN1bWVyIG9mIHRoaXMgaW5mcmFzdHJ1Y3R1cmUgaXMgdGhlIGRyaXZlcg0KICAgICAgZm9y IGRpbW0gZGV2aWNlcy4gIEl0IHNpbXBseSB1c2VzIGNvbnRyb2wgbWVzc2FnZXMgdG8gcmV0cmll dmUgYW5kDQogICAgICBzdG9yZSB0aGUgY29uZmlndXJhdGlvbi1kYXRhIGltYWdlIChsYWJlbCBz ZXQpIGZyb20gZWFjaCBkaW1tLg0KICAgIA0KICAgIE5vdGU6IG5kX2RldmljZV9yZWdpc3Rlcigp IGFycmFuZ2VzIGZvciBhc3luY2hyb25vdXMgcmVnaXN0cmF0aW9uIG9mDQogICAgICAgICAgbnZk aW1tIGJ1cyBkZXZpY2VzIGJ5IGRlZmF1bHQuDQogICAgDQogICAgQ2M6IEdyZWcgS0ggPGdyZWdr aEBsaW51eGZvdW5kYXRpb24ub3JnPg0KICAgIENjOiBOZWlsIEJyb3duIDxuZWlsYkBzdXNlLmRl Pg0KICAgIEFja2VkLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4NCiAgICBUZXN0 ZWQtYnk6IFRvc2hpIEthbmkgPHRvc2hpLmthbmlAaHAuY29tPg0KICAgIFNpZ25lZC1vZmYtYnk6 IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KDQpjb21taXQgMWY3ZGY2 Zjg4YjkyNDVhN2YyZDBmOGVjYmM5N2RjODhjOGQwZDhlMQ0KQXV0aG9yOiBEYW4gV2lsbGlhbXMg PGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCkRhdGU6ICAgVHVlIEp1biA5IDIwOjEzOjE0IDIw MTUgLTA0MDANCg0KICAgIGxpYm52ZGltbSwgbmZpdDogcmVnaW9ucyAoYmxvY2stZGF0YS13aW5k b3csIHBlcnNpc3RlbnQgbWVtb3J5LCB2b2xhdGlsZSBtZW1vcnkpDQogICAgDQogICAgQSAicmVn aW9uIiBkZXZpY2UgcmVwcmVzZW50cyB0aGUgbWF4aW11bSBjYXBhY2l0eSBvZiBhIEJMSyByYW5n ZSAobW1pbw0KICAgIGJsb2NrLWRhdGEtd2luZG93KHMpKSwgb3IgYSBQTUVNIHJhbmdlIChEQVgt Y2FwYWJsZSBwZXJzaXN0ZW50IG1lbW9yeSBvcg0KICAgIHZvbGF0aWxlIG1lbW9yeSksIHdpdGhv dXQgcmVnYXJkIGZvciBhbGlhc2luZy4gIEFsaWFzaW5nLCBpbiB0aGUNCiAgICBkaW1tLWxvY2Fs IGFkZHJlc3Mgc3BhY2UgKERQQSksIGlzIHJlc29sdmVkIGJ5IG1ldGFkYXRhIG9uIGEgZGltbSB0 bw0KICAgIGRlc2lnbmF0ZSB3aGljaCBleGNsdXNpdmUgaW50ZXJmYWNlIHdpbGwgYWNjZXNzIHRo ZSBhbGlhc2VkIERQQSByYW5nZXMuDQogICAgU3VwcG9ydCBmb3IgdGhlIHBlci1kaW1tIG1ldGFk YXRhL2xhYmVsIGFycnZpZXMgaXMgaW4gYSBzdWJzZXF1ZW50DQogICAgcGF0Y2guDQogICAgDQog ICAgVGhlIG5hbWUgZm9ybWF0IG9mICJyZWdpb24iIGRldmljZXMgaXMgInJlZ2lvbk4iIHdoZXJl LCBsaWtlIGRpbW1zLCBOIGlzDQogICAgYSBnbG9iYWwgaWRhIGluZGV4IGFzc2lnbmVkIGF0IGRp c2NvdmVyeSB0aW1lLiAgVGhpcyBpZCBpcyBub3QgcmVsaWFibGUNCiAgICBhY3Jvc3MgcmVib290 cyBub3IgaW4gdGhlIHByZXNlbmNlIG9mIGhvdHBsdWcuICBMb29rIHRvIGF0dHJpYnV0ZXMgb2YN CiAgICB0aGUgcmVnaW9uIG9yIHN0YXRpYyBpZC1kYXRhIG9mIHRoZSBzdWItbmFtZXNwYWNlIHRv IGdlbmVyYXRlIGENCiAgICBwZXJzaXN0ZW50IG5hbWUuICBIb3dldmVyLCBpZiB0aGUgcGxhdGZv cm0gY29uZmlndXJhdGlvbiBkb2VzIG5vdCBjaGFuZ2UNCiAgICBpdCBpcyByZWFzb25hYmxlIHRv IGV4cGVjdCB0aGUgc2FtZSByZWdpb24gaWQgdG8gYmUgYXNzaWduZWQgYXQgdGhlIG5leHQNCiAg ICBib290Lg0KICAgIA0KICAgICJyZWdpb24icyBoYXZlIDIgZ2VuZXJpYyBhdHRyaWJ1dGVzICJz aXplIiwgYW5kICJtYXBwaW5nInMgd2hlcmU6DQogICAgLSBzaXplOiB0aGUgQkxLIGFjY2Vzc2li bGUgY2FwYWNpdHkgb3IgdGhlIHNwYW4gb2YgdGhlDQogICAgICBzeXN0ZW0gcGh5c2ljYWwgYWRk cmVzcyByYW5nZSBpbiB0aGUgY2FzZSBvZiBQTUVNLg0KICAgIA0KICAgIC0gbWFwcGluZ046IGEg dHVwbGUgZGVzY3JpYmluZyBhIGRpbW0ncyBjb250cmlidXRpb24gdG8gdGhlIHJlZ2lvbidzDQog ICAgICBjYXBhY2l0eSBpbiB0aGUgZm9ybWF0ICg8bm1lbVg+LDxkcGE+LDxzaXplPikuICBGb3Ig YSBQTUVNLXJlZ2lvbg0KICAgICAgdGhlcmUgd2lsbCBiZSBhdCBsZWFzdCBvbmUgbWFwcGluZyBw ZXIgZGltbSBpbiB0aGUgaW50ZXJsZWF2ZSBzZXQuICBGb3INCiAgICAgIGEgQkxLLXJlZ2lvbiB0 aGVyZSBpcyBvbmx5ICJtYXBwaW5nMCIgbGlzdGluZyB0aGUgc3RhcnRpbmcgRFBBIG9mIHRoZQ0K ICAgICAgQkxLLXJlZ2lvbiBhbmQgdGhlIGF2YWlsYWJsZSBEUEEgY2FwYWNpdHkgb2YgdGhhdCBz cGFjZSAobWF0Y2hlcyAic2l6ZSINCiAgICAgIGFib3ZlKS4NCiAgICANCiAgICBUaGUgbWF4IG51 bWJlciBvZiBtYXBwaW5ncyBwZXIgInJlZ2lvbiIgaXMgaGFyZCBjb2RlZCBwZXIgdGhlDQogICAg Y29uc3RyYWludHMgb2Ygc3lzZnMgYXR0cmlidXRlIGdyb3Vwcy4gIFRoYXQgc2FpZCB0aGUgbnVt YmVyIG9mIG1hcHBpbmdzDQogICAgcGVyIHJlZ2lvbiBzaG91bGQgbmV2ZXIgZXhjZWVkIHRoZSBt YXhpbXVtIG51bWJlciBvZiBwb3NzaWJsZSBkaW1tcyBpbg0KICAgIHRoZSBzeXN0ZW0uICBJZiB0 aGUgY3VycmVudCBudW1iZXIgdHVybnMgb3V0IHRvIG5vdCBiZSBlbm91Z2ggdGhlbiB0aGUNCiAg ICAibWFwcGluZ3MiIGF0dHJpYnV0ZSBjbGFyaWZpZXMgaG93IG1hbnkgdGhlcmUgYXJlIHN1cHBv c2VkIHRvIGJlLiAiMzINCiAgICBzaG91bGQgYmUgZW5vdWdoIGZvciBhbnlib2R5Li4uIi4NCiAg ICANCiAgICBDYzogTmVpbCBCcm93biA8bmVpbGJAc3VzZS5kZT4NCiAgICBDYzogPGxpbnV4LWFj cGlAdmdlci5rZXJuZWwub3JnPg0KICAgIENjOiBHcmVnIEtIIDxncmVna2hAbGludXhmb3VuZGF0 aW9uLm9yZz4NCiAgICBDYzogUm9iZXJ0IE1vb3JlIDxyb2JlcnQubW9vcmVAaW50ZWwuY29tPg0K ICAgIENjOiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2NraUBpbnRlbC5jb20+DQog ICAgQWNrZWQtYnk6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIEFja2VkLWJ5 OiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2NraUBpbnRlbC5jb20+DQogICAgVGVz dGVkLWJ5OiBUb3NoaSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5 OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IDNkODgw MDJlNGE3YmQ0MGYzNTU1NTAyODRjNmNkMTQwZTZmZTI5ZGMNCkF1dGhvcjogRGFuIFdpbGxpYW1z IDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQpEYXRlOiAgIFN1biBNYXkgMzEgMTU6MDI6MTEg MjAxNSAtMDQwMA0KDQogICAgbGlibnZkaW1tOiBzdXBwb3J0IGZvciBsZWdhY3kgKG5vbi1hbGlh c2luZykgbnZkaW1tcw0KICAgIA0KICAgIFRoZSBsaWJudmRpbW0gcmVnaW9uIGRyaXZlciBpcyBh biBpbnRlcm1lZGlhcnkgZHJpdmVyIHRoYXQgdHJhbnNsYXRlcw0KICAgIG5vbi12b2xhdGlsZSAi cmVnaW9uInMgaW50byAibmFtZXNwYWNlIiBzdWItZGV2aWNlcyB0aGF0IGFyZSBzdXJmYWNlZCBi eQ0KICAgIHBlcnNpc3RlbnQgbWVtb3J5IGJsb2NrLWRldmljZSBkcml2ZXJzIChQTUVNIGFuZCBC TEspLg0KICAgIA0KICAgIEFDUEkgNiBpbnRyb2R1Y2VzIHRoZSBjb25jZXB0IHRoYXQgYSBnaXZl biBudmRpbW0gbWF5IHNpbXVsdGFuZW91c2x5DQogICAgb2ZmZXIgbXVsdGlwbGUgYWNjZXNzIG1v ZGVzIHRvIGl0cyBtZWRpYSB0aHJvdWdoIGRpcmVjdCBQTUVNIGxvYWQvc3RvcmUNCiAgICBhY2Nl c3MsIG9yIHdpbmRvd2VkIEJMSyBtb2RlLiAgRXhpc3RpbmcgbnZkaW1tcyBtb3N0bHkgaW1wbGVt ZW50IGEgUE1FTQ0KICAgIGludGVyZmFjZSwgc29tZSBvZmZlciBhIEJMSy1saWtlIG1vZGUsIGJ1 dCBuZXZlciBib3RoIGFzIEFDUEkgNiBkZWZpbmVzLg0KICAgIElmIGFuIG52ZGltbSBpcyBzaW5n bGUgaW50ZXJmYWNlZCwgdGhlbiB0aGVyZSBpcyBubyBuZWVkIGZvciBkaW1tDQogICAgbWV0YWRh dGEgbGFiZWxzLiAgRm9yIHRoZXNlIGRldmljZXMgd2UgY2FuIHRha2UgdGhlIHJlZ2lvbiBib3Vu ZGFyaWVzDQogICAgZGlyZWN0bHkgdG8gY3JlYXRlIGEgY2hpbGQgbmFtZXNwYWNlIGRldmljZSAo bmRfbmFtZXNwYWNlX2lvKS4NCiAgICANCiAgICBBY2tlZC1ieTogQ2hyaXN0b3BoIEhlbGx3aWcg PGhjaEBsc3QuZGU+DQogICAgVGVzdGVkLWJ5OiBUb3NoaSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNv bT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVs LmNvbT4NCg0KY29tbWl0IDE4ZGEyYzllZTQxYTAzNmJmNDcwZGJhZDczYzE4YTgxNTcyNWQzNmUN CkF1dGhvcjogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQpEYXRlOiAg IFR1ZSBKdW4gOSAxNDoxMzozNyAyMDE1IC0wNDAwDQoNCiAgICBsaWJudmRpbW0sIHBtZW06IG1v dmUgcG1lbSB0byBkcml2ZXJzL252ZGltbS8NCiAgICANCiAgICBQcmVwYXJlIHRoZSBwbWVtIGRy aXZlciB0byBjb25zdW1lIFBNRU0gbmFtZXNwYWNlcyBlbWl0dGVkIGJ5IHJlZ2lvbnMgb2YNCiAg ICBhbiBudmRpbW1fYnVzIGluc3RhbmNlLiAgTm8gZnVuY3Rpb25hbCBjaGFuZ2UuDQogICAgDQog ICAgQWNrZWQtYnk6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIFRlc3RlZC1i eTogVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocC5jb20+DQogICAgU2lnbmVkLW9mZi1ieTogRGFu IFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQoNCmNvbW1pdCA5ZjUzZjlmYTRh ZDFkOGJkZGQ0ZDE0MzU5Y2RhYmM1MzFhZWRmZmU4DQpBdXRob3I6IERhbiBXaWxsaWFtcyA8ZGFu Lmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0ZTogICBUdWUgSnVuIDkgMTU6MzM6NDUgMjAxNSAt MDQwMA0KDQogICAgbGlibnZkaW1tLCBwbWVtOiBhZGQgbGlibnZkaW1tIHN1cHBvcnQgdG8gdGhl IHBtZW0gZHJpdmVyDQogICAgDQogICAgbmRfcG1lbSBhdHRhY2hlcyB0byBwZXJzaXN0ZW50IG1l bW9yeSByZWdpb25zIGFuZCBuYW1lc3BhY2VzIGVtaXR0ZWQgYnkNCiAgICB0aGUgbGlibnZkaW1t IHN1YnN5c3RlbSwgYW5kLCBzYW1lIGFzIHRoZSBvcmlnaW5hbCBwbWVtIGRyaXZlciwgcHJlc2Vu dHMNCiAgICB0aGUgc3lzdGVtLXBoeXNpY2FsLWFkZHJlc3MgcmFuZ2UgYXMgYSBibG9jayBkZXZp Y2UuDQogICAgDQogICAgVGhlIGV4aXN0aW5nIGU4MjAtdHlwZS0xMiB0byBwbWVtIHNldHVwIGlz IGNvbnZlcnRlZCB0byBhbiBudmRpbW1fYnVzDQogICAgdGhhdCBlbWl0cyBhbiBuZF9uYW1lc3Bh Y2VfaW8gZGV2aWNlLg0KICAgIA0KICAgIE5vdGUgdGhhdCB0aGUgWCBpbiAncG1lbVgnIGlzIG5v dyBkZXJpdmVkIGZyb20gdGhlIHBhcmVudCByZWdpb24uICBUaGlzDQogICAgcHJvdmlkZXMgc29t ZSBzdGFiaWxpdHkgdG8gdGhlIHBtZW0gZGV2aWNlcyBuYW1lcyBmcm9tIGJvb3QtdG8tYm9vdC4N CiAgICBUaGUgbWlub3IgbnVtYmVycyBhcmUgYWxzbyBtb3JlIHByZWRpY3RhYmxlIGJ5IHBhc3Np bmcgMCB0bw0KICAgIGFsbG9jX2Rpc2soKS4NCiAgICANCiAgICBDYzogQW5keSBMdXRvbWlyc2tp IDxsdXRvQGFtYWNhcGl0YWwubmV0Pg0KICAgIENjOiBCb2F6IEhhcnJvc2ggPGJvYXpAcGxleGlz dG9yLmNvbT4NCiAgICBDYzogSC4gUGV0ZXIgQW52aW4gPGhwYUB6eXRvci5jb20+DQogICAgQ2M6 IEplbnMgQXhib2UgPGF4Ym9lQGZiLmNvbT4NCiAgICBDYzogSW5nbyBNb2xuYXIgPG1pbmdvQGtl cm5lbC5vcmc+DQogICAgQ2M6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIFNp Z25lZC1vZmYtYnk6IFJvc3MgWndpc2xlciA8cm9zcy56d2lzbGVyQGxpbnV4LmludGVsLmNvbT4N CiAgICBBY2tlZC1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQogICAgVGVzdGVk LWJ5OiBUb3NoaSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBE YW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IGVhZjk2MTUz NmUxNjIyYWQyMTI0N2FjOGQ0NGFjZDQ4YmE2NTU2NmUNCkF1dGhvcjogRGFuIFdpbGxpYW1zIDxk YW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQpEYXRlOiAgIEZyaSBNYXkgMSAxMzoxMToyNyAyMDE1 IC0wNDAwDQoNCiAgICBsaWJudmRpbW0sIG5maXQ6IGFkZCBpbnRlcmxlYXZlLXNldCBzdGF0ZS10 cmFja2luZyBpbmZyYXN0cnVjdHVyZQ0KICAgIA0KICAgIE9uIHBsYXRmb3JtcyB0aGF0IGhhdmUg ZmlybXdhcmUgc3VwcG9ydCBmb3IgcmVhZGluZy93cml0aW5nIHBlci1kaW1tDQogICAgbGFiZWwg c3BhY2UsIGEgcG9ydGlvbiBvZiB0aGUgZGltbSBtYXkgYmUgYWNjZXNzaWJsZSB2aWEgYW4gaW50 ZXJsZWF2ZQ0KICAgIHNldCBQTUVNIG1hcHBpbmcgaW4gYWRkaXRpb24gdG8gdGhlIGRpbW0ncyBC TEsgKGJsb2NrLWRhdGEtd2luZG93DQogICAgYXBlcnR1cmUocykpIGludGVyZmFjZS4gIEEgbGFi ZWwsIHN0b3JlZCBpbiBhICJjb25maWd1cmF0aW9uIGRhdGENCiAgICByZWdpb24iIG9uIHRoZSBk aW1tLCBkaXNhbWJpZ3VhdGVzIHdoaWNoIGRpbW0gYWRkcmVzc2VzIGFyZSBhY2Nlc3NlZA0KICAg IHRocm91Z2ggd2hpY2ggZXhjbHVzaXZlIGludGVyZmFjZS4NCiAgICANCiAgICBBZGQgaW5mcmFz dHJ1Y3R1cmUgdGhhdCBhbGxvd3MgdGhlIGtlcm5lbCB0byBibG9jayBtb2RpZmljYXRpb25zIHRv IGENCiAgICBsYWJlbCBpbiB0aGUgc2V0IHdoaWxlIGFueSBtZW1iZXIgZGltbSBpcyBhY3RpdmUu ICBOb3RlIHRoYXQgdGhpcyBpcw0KICAgIG1lYW50IG9ubHkgZm9yIGVuZm9yY2luZyAibm8gbW9k aWZpY2F0aW9ucyBvZiBhY3RpdmUgbGFiZWxzIiB2aWEgdGhlDQogICAgY29hcnNlIGlvY3RsIGNv bW1hbmQuICBBZGRpbmcvZGVsZXRpbmcgbmFtZXNwYWNlcyBmcm9tIGFuIGFjdGl2ZQ0KICAgIGlu dGVybGVhdmUgc2V0IGlzIGFsd2F5cyBwb3NzaWJsZSB2aWEgc3lzZnMuDQogICAgDQogICAgQW5v dGhlciBhc3BlY3Qgb2YgdHJhY2tpbmcgaW50ZXJsZWF2ZSBzZXRzIGlzIHRyYWNraW5nIHRoZWly IGludGVncml0eQ0KICAgIHdoZW4gRElNTXMgaW4gYSBzZXQgYXJlIHBoeXNpY2FsbHkgcmUtb3Jk ZXJlZC4gIEZvciB0aGlzIHB1cnBvc2Ugd2UNCiAgICBnZW5lcmF0ZSBhbiAiaW50ZXJsZWF2ZS1z ZXQgY29va2llIiB0aGF0IGNhbiBiZSByZWNvcmRlZCBpbiBhIGxhYmVsIGFuZA0KICAgIHZhbGlk YXRlZCBhZ2FpbnN0IHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uICBJdCBpcyB0aGUgYnVzIHBy b3ZpZGVyDQogICAgaW1wbGVtZW50YXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBjYWxjdWxhdGUg dGhlIGludGVybGVhdmUgc2V0IGNvb2tpZQ0KICAgIGFuZCBhdHRhY2ggaXQgdG8gYSBnaXZlbiBy ZWdpb24uDQogICAgDQogICAgQ2M6IE5laWwgQnJvd24gPG5laWxiQHN1c2UuZGU+DQogICAgQ2M6 IDxsaW51eC1hY3BpQHZnZXIua2VybmVsLm9yZz4NCiAgICBDYzogR3JlZyBLSCA8Z3JlZ2toQGxp bnV4Zm91bmRhdGlvbi5vcmc+DQogICAgQ2M6IFJvYmVydCBNb29yZSA8cm9iZXJ0Lm1vb3JlQGlu dGVsLmNvbT4NCiAgICBDYzogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50 ZWwuY29tPg0KICAgIEFja2VkLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4NCiAg ICBBY2tlZC1ieTogUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29t Pg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwu Y29tPg0KDQpjb21taXQgNGE4MjZjODNkYjRlZGMwNDBkYTNhNjZkYmVmZDUzZjBjZmNmNDU3ZA0K QXV0aG9yOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCkRhdGU6ICAg VHVlIEp1biA5IDE2OjA5OjM2IDIwMTUgLTA0MDANCg0KICAgIGxpYm52ZGltbTogbmFtZXNwYWNl IGluZGljZXM6IHJlYWQgYW5kIHZhbGlkYXRlDQogICAgDQogICAgVGhpcyBvbiBtZWRpYSBsYWJl bCBmb3JtYXQgWzFdIGNvbnNpc3RzIG9mIHR3byBpbmRleCBibG9ja3MgZm9sbG93ZWQgYnkNCiAg ICBhbiBhcnJheSBvZiBsYWJlbHMuICBOb25lIG9mIHRoZXNlIHN0cnVjdHVyZXMgYXJlIGV2ZXIg dXBkYXRlZCBpbiBwbGFjZS4NCiAgICBBIHNlcXVlbmNlIG51bWJlciB0cmFja3MgdGhlIGN1cnJl bnQgYWN0aXZlIGluZGV4IGFuZCB0aGUgbmV4dCBvbmUgdG8NCiAgICB3cml0ZSwgd2hpbGUgbGFi ZWxzIGFyZSB3cml0dGVuIHRvIGZyZWUgc2xvdHMuDQogICAgDQogICAgICAgICstLS0tLS0tLS0t LS0rDQogICAgICAgIHwgICAgICAgICAgICB8DQogICAgICAgIHwgIG5zaW5kZXgwICB8DQogICAg ICAgIHwgICAgICAgICAgICB8DQogICAgICAgICstLS0tLS0tLS0tLS0rDQogICAgICAgIHwgICAg ICAgICAgICB8DQogICAgICAgIHwgIG5zaW5kZXgxICB8DQogICAgICAgIHwgICAgICAgICAgICB8 DQogICAgICAgICstLS0tLS0tLS0tLS0rDQogICAgICAgIHwgICBsYWJlbDAgICB8DQogICAgICAg ICstLS0tLS0tLS0tLS0rDQogICAgICAgIHwgICBsYWJlbDEgICB8DQogICAgICAgICstLS0tLS0t LS0tLS0rDQogICAgICAgIHwgICAgICAgICAgICB8DQogICAgICAgICAuLi4ubnNsb3QuLi4NCiAg ICAgICAgfCAgICAgICAgICAgIHwNCiAgICAgICAgKy0tLS0tLS0tLS0tLSsNCiAgICAgICAgfCAg IGxhYmVsTiAgIHwNCiAgICAgICAgKy0tLS0tLS0tLS0tLSsNCiAgICANCiAgICBBZnRlciByZWFk aW5nIHZhbGlkIGxhYmVscywgc3RvcmUgdGhlIGRwYSByYW5nZXMgdGhleSBjbGFpbSBpbnRvDQog ICAgcGVyLWRpbW0gcmVzb3VyY2UgdHJlZXMuDQogICAgDQogICAgWzFdOiBodHRwOi8vcG1lbS5p by9kb2N1bWVudHMvTlZESU1NX05hbWVzcGFjZV9TcGVjLnBkZg0KICAgIA0KICAgIENjOiBOZWls IEJyb3duIDxuZWlsYkBzdXNlLmRlPg0KICAgIEFja2VkLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8 aGNoQGxzdC5kZT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxp YW1zQGludGVsLmNvbT4NCg0KY29tbWl0IGJmOWJjY2MxNGMwNWRhZThjYWJhMjlkZjYxODdjNzMx NzEwZjUzODANCkF1dGhvcjogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+ DQpEYXRlOiAgIFdlZCBKdW4gMTcgMTc6MTQ6NDYgMjAxNSAtMDQwMA0KDQogICAgbGlibnZkaW1t OiBwbWVtIGxhYmVsIHNldHMgYW5kIG5hbWVzcGFjZSBpbnN0YW50aWF0aW9uLg0KICAgIA0KICAg IEEgY29tcGxldGUgbGFiZWwgc2V0IGlzIGEgUE1FTS1sYWJlbCBwZXItZGltbSBwZXItaW50ZXJs ZWF2ZS1zZXQgd2hlcmUNCiAgICBhbGwgdGhlIFVVSURzIG1hdGNoIGFuZCB0aGUgaW50ZXJsZWF2 ZSBzZXQgY29va2llIG1hdGNoZXMgdGhlIGhvc3RpbmcNCiAgICBpbnRlcmxlYXZlIHNldC4NCiAg ICANCiAgICBQcmVzZW50IHN5c2ZzIGF0dHJpYnV0ZXMgZm9yIG1hbmlwdWxhdGlvbiBvZiBhIFBN RU0tbmFtZXNwYWNlJ3MNCiAgICAnYWx0X25hbWUnLCAndXVpZCcsIGFuZCAnc2l6ZScgYXR0cmli dXRlcy4gIEEgbGF0ZXIgcGF0Y2ggd2lsbCBtYWtlDQogICAgdGhlc2Ugc2V0dGluZ3MgcGVyc2lz dGVudCBieSB3cml0aW5nIGJhY2sgdGhlIGxhYmVsLg0KICAgIA0KICAgIE5vdGUgdGhhdCBQTUVN IGFsbG9jYXRpb25zIGdyb3cgZm9yd2FyZHMgZnJvbSB0aGUgc3RhcnQgb2YgYW4gaW50ZXJsZWF2 ZQ0KICAgIHNldCAobG93ZXN0IGRpbW0tcGh5c2ljYWwtYWRkcmVzcyAoRFBBKSkuICBCTEstbmFt ZXNwYWNlcyB0aGF0IGFsaWFzDQogICAgd2l0aCBhIFBNRU0gaW50ZXJsZWF2ZSBzZXQgd2lsbCBn cm93IGFsbG9jYXRpb25zIGJhY2t3YXJkIGZyb20gdGhlDQogICAgaGlnaGVzdCBEUEEuDQogICAg DQogICAgQ2M6IEdyZWcgS0ggPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPg0KICAgIENjOiBO ZWlsIEJyb3duIDxuZWlsYkBzdXNlLmRlPg0KICAgIEFja2VkLWJ5OiBDaHJpc3RvcGggSGVsbHdp ZyA8aGNoQGxzdC5kZT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndp bGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IDFiNDBlMDlhMTIzMmRlNTM3YjE5M2ZhMWI2YjNl ZjE2ZDNhMWUzOTcNCkF1dGhvcjogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5j b20+DQpEYXRlOiAgIEZyaSBNYXkgMSAxMzozNDowMSAyMDE1IC0wNDAwDQoNCiAgICBsaWJudmRp bW06IGJsayBsYWJlbHMgYW5kIG5hbWVzcGFjZSBpbnN0YW50aWF0aW9uDQogICAgDQogICAgQSBi bGsgbGFiZWwgc2V0IGRlc2NyaWJlcyBhIG5hbWVzcGFjZSBjb21wcmlzZWQgb2Ygb25lIG9yIG1v cmUNCiAgICBkaXNjb250aWd1b3VzIGRwYSByYW5nZXMgb24gYSBzaW5nbGUgZGltbS4gIFRoZXkg bWF5IGFsaWFzIHdpdGggb25lIG9yDQogICAgbW9yZSBwbWVtIGludGVybGVhdmUgc2V0cyB0aGF0 IGluY2x1ZGUgdGhlIGdpdmVuIGRpbW0uDQogICAgDQogICAgVGhpcyBpcyB0aGUgcnVudGltZS92 b2xhdGlsZSBjb25maWd1cmF0aW9uIGluZnJhc3RydWN0dXJlIGZvciBzeXNmcw0KICAgIG1hbmlw dWxhdGlvbiBvZiAnYWx0X25hbWUnLCAndXVpZCcsICdzaXplJywgYW5kICdzZWN0b3Jfc2l6ZScu ICBBIGxhdGVyDQogICAgcGF0Y2ggd2lsbCBtYWtlIHRoZXNlIHNldHRpbmdzIHBlcnNpc3RlbnQg Ynkgd3JpdGluZyBiYWNrIHRoZSBsYWJlbChzKS4NCiAgICANCiAgICBVbmxpa2UgcG1lbSBuYW1l c3BhY2VzLCBtdWx0aXBsZSBibGsgbmFtZXNwYWNlcyBjYW4gYmUgY3JlYXRlZCBwZXINCiAgICBy ZWdpb24uICBPbmNlIGEgYmxrIG5hbWVzcGFjZSBoYXMgYmVlbiBjcmVhdGVkIGEgbmV3IHNlZWQg ZGV2aWNlDQogICAgKHVuY29uZmlndXJlZCBjaGlsZCBvZiBhIHBhcmVudCBibGsgcmVnaW9uKSBp cyBpbnN0YW50aWF0ZWQuICBBcyBsb25nIGFzDQogICAgYSByZWdpb24gaGFzICdhdmFpbGFibGVf c2l6ZScgIT0gMCBuZXcgY2hpbGQgbmFtZXNwYWNlcyBtYXkgYmUgY3JlYXRlZC4NCiAgICANCiAg ICBDYzogR3JlZyBLSCA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+DQogICAgQ2M6IE5laWwg QnJvd24gPG5laWxiQHN1c2UuZGU+DQogICAgQWNrZWQtYnk6IENocmlzdG9waCBIZWxsd2lnIDxo Y2hAbHN0LmRlPg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlh bXNAaW50ZWwuY29tPg0KDQpjb21taXQgZjUyNGJmMjcxYTVjZjEyYTQ0MjUzMTk0YWJjZjhiNjY4 OGZmNWI5ZA0KQXV0aG9yOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4N CkRhdGU6ICAgU2F0IE1heSAzMCAxMjozNjowMiAyMDE1IC0wNDAwDQoNCiAgICBsaWJudmRpbW06 IHdyaXRlIHBtZW0gbGFiZWwgc2V0DQogICAgDQogICAgQWZ0ZXIgJ3V1aWQnLCAnc2l6ZScsIGFu ZCBvcHRpb25hbGx5ICdhbHRfbmFtZScgaGF2ZSBiZWVuIHNldCB0byB2YWxpZA0KICAgIHZhbHVl cyB0aGUgbGFiZWxzIG9uIHRoZSBkaW1tcyBjYW4gYmUgdXBkYXRlZC4NCiAgICANCiAgICBXcml0 ZSBwcm9jZWR1cmUgaXM6DQogICAgMS8gQWxsb2NhdGUgYW5kIHdyaXRlIG5ldyBsYWJlbHMgaW4g dGhlICJuZXh0IiBpbmRleA0KICAgIDIvIEZyZWUgdGhlIG9sZCBsYWJlbHMgaW4gdGhlIHdvcmtp bmcgY29weQ0KICAgIDMvIFdyaXRlIHRoZSBiaXRtYXAgYW5kIHRoZSBsYWJlbCBzcGFjZSBvbiB0 aGUgZGltbQ0KICAgIDQvIFdyaXRlIHRoZSBpbmRleCB0byBtYWtlIHRoZSB1cGRhdGUgdmFsaWQN CiAgICANCiAgICBMYWJlbCByYW5nZXMgZGlyZWN0bHkgbWlycm9yIHRoZSBkcGEgcmVzb3VyY2Ug dmFsdWVzIGZvciB0aGUgZ2l2ZW4NCiAgICBsYWJlbF9pZCBvZiB0aGUgbmFtZXNwYWNlLg0KICAg IA0KICAgIENjOiBHcmVnIEtIIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4NCiAgICBDYzog TmVpbCBCcm93biA8bmVpbGJAc3VzZS5kZT4NCiAgICBBY2tlZC1ieTogQ2hyaXN0b3BoIEhlbGx3 aWcgPGhjaEBsc3QuZGU+DQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53 aWxsaWFtc0BpbnRlbC5jb20+DQoNCmNvbW1pdCAwYmExYzYzNDg5MmIzNTkwNzc5ODAzYTcwMWJj YjgyZThjMzJjYzdhDQpBdXRob3I6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwu Y29tPg0KRGF0ZTogICBTYXQgTWF5IDMwIDEyOjM1OjM2IDIwMTUgLTA0MDANCg0KICAgIGxpYm52 ZGltbTogd3JpdGUgYmxrIGxhYmVsIHNldA0KICAgIA0KICAgIEFmdGVyICd1dWlkJywgJ3NpemUn LCAnc2VjdG9yX3NpemUnLCBhbmQgb3B0aW9uYWxseSAnYWx0X25hbWUnIGhhdmUgYmVlbg0KICAg IHNldCB0byB2YWxpZCB2YWx1ZXMgdGhlIGxhYmVscyBvbiB0aGUgZGltbSBjYW4gYmUgdXBkYXRl ZC4gIFRoZQ0KICAgIGRpZmZlcmVuY2Ugd2l0aCB0aGUgcG1lbSBjYXNlIGlzIHRoYXQgYmxrIG5h bWVzcGFjZXMgYXJlIGxpbWl0ZWQgdG8gb25lDQogICAgZGltbSBhbmQgY2FuIGNvdmVyIGRpc2Nv bnRpZ3VvdXMgcmFuZ2VzIGluIGRwYSBzcGFjZS4NCiAgICANCiAgICBBbHNvLCBhZnRlciBhbGxv Y2F0aW5nIGxhYmVsIHNsb3RzLCBpdCBpcyB1c2VmdWwgZm9yIHVzZXJzcGFjZSB0byBrbm93DQog ICAgaG93IG1hbnkgc2xvdHMgYXJlIGxlZnQuICBFeHBvcnQgdGhpcyBpbmZvcm1hdGlvbiBpbiBz eXNmcy4NCiAgICANCiAgICBDYzogR3JlZyBLSCA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+ DQogICAgQ2M6IE5laWwgQnJvd24gPG5laWxiQHN1c2UuZGU+DQogICAgQWNrZWQtYnk6IENocmlz dG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFt cyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KDQpjb21taXQgOGMyZjdlODY1OGRmMWQzYjdj YmZhNjI3MDY5NDFkMTRjNzE1ODIzYQ0KQXV0aG9yOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxp YW1zQGludGVsLmNvbT4NCkRhdGU6ICAgVGh1IEp1biAyNSAwNDoyMDowNCAyMDE1IC0wNDAwDQoN CiAgICBsaWJudmRpbW06IGluZnJhc3RydWN0dXJlIGZvciBidHQgZGV2aWNlcw0KICAgIA0KICAg IE5WRElNTSBuYW1lc3BhY2VzLCBpbiBhZGRpdGlvbiB0byBhY2NlcHRpbmcgInN0cnVjdCBiaW8i IGJhc2VkIHJlcXVlc3RzLA0KICAgIGFsc28gaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBwZXJmb3Jt IGJ5dGUtYWxpZ25lZCBhY2Nlc3Nlcy4gIEJ5IGRlZmF1bHQNCiAgICBvbmx5IHRoZSBiaW8vYmxv Y2sgaW50ZXJmYWNlIGlzIHVzZWQuICBIb3dldmVyLCBpZiBhbm90aGVyIGRyaXZlciBjYW4NCiAg ICBtYWtlIGVmZmVjdGl2ZSB1c2Ugb2YgdGhlIGJ5dGUtYWxpZ25lZCBjYXBhYmlsaXR5IGl0IGNh biBjbGFpbSBuYW1lc3BhY2UNCiAgICBpbnRlcmZhY2UgYW5kIHVzZSB0aGUgYnl0ZS1hbGlnbmVk IC0+cndfYnl0ZXMoKSBpbnRlcmZhY2UuDQogICAgDQogICAgVGhlIEJUVCBkcml2ZXIgaXMgdGhl IGluaXRpYWwgZmlyc3QgY29uc3VtZXIgb2YgdGhpcyBtZWNoYW5pc20gdG8gYWxsb3cNCiAgICBh ZGRpbmcgYXRvbWljIHNlY3RvciB1cGRhdGUgc2VtYW50aWNzIHRvIGEgcG1lbSBvciBibGsgbmFt ZXNwYWNlLiAgVGhpcw0KICAgIHBhdGNoIGlzIHRoZSBzeXNmcyBpbmZyYXN0cnVjdHVyZSB0byBh bGxvdyBjb25maWd1cmluZyBhIEJUVCBpbnN0YW5jZQ0KICAgIGZvciBhIG5hbWVzcGFjZS4gIEVu YWJsaW5nIHRoYXQgQlRUIGFuZCBwZXJmb3JtaW5nIGkvbyBpcyBpbiBhDQogICAgc3Vic2VxdWVu dCBwYXRjaC4NCiAgICANCiAgICBDYzogR3JlZyBLSCA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5v cmc+DQogICAgQ2M6IE5laWwgQnJvd24gPG5laWxiQHN1c2UuZGU+DQogICAgU2lnbmVkLW9mZi1i eTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQoNCmNvbW1pdCA1MjEy ZTExZmRlNGQ0MGZhNjI3NjY4YjRmMjIyMmQyMGRiNDg4ZjcxDQpBdXRob3I6IFZpc2hhbCBWZXJt YSA8dmlzaGFsLmwudmVybWFAaW50ZWwuY29tPg0KRGF0ZTogICBUaHUgSnVuIDI1IDA0OjIwOjMy IDIwMTUgLTA0MDANCg0KICAgIG5kX2J0dDogYXRvbWljIHNlY3RvciB1cGRhdGVzDQogICAgDQog ICAgQlRUIHN0YW5kcyBmb3IgQmxvY2sgVHJhbnNsYXRpb24gVGFibGUsIGFuZCBpcyBhIHdheSB0 byBwcm92aWRlIHBvd2VyDQogICAgZmFpbCBzZWN0b3IgYXRvbWljaXR5IHNlbWFudGljcyBmb3Ig YmxvY2sgZGV2aWNlcyB0aGF0IGhhdmUgdGhlIGFiaWxpdHkNCiAgICB0byBwZXJmb3JtIGJ5dGUg Z3JhbnVsYXJpdHkgSU8uIEl0IHJlbGllcyBvbiB0aGUgY2FwYWJpbGl0eSBvZiBsaWJudmRpbW0N CiAgICBuYW1lc3BhY2UgZGV2aWNlcyB0byBkbyBieXRlIGFsaWduZWQgSU8uDQogICAgDQogICAg VGhlIEJUVCB3b3JrcyBhcyBhIHN0YWNrZWQgYmxvY2tlZCBkZXZpY2UsIGFuZCByZXNlcnZlcyBh IGNodW5rIG9mIHNwYWNlDQogICAgZnJvbSB0aGUgYmFja2luZyBkZXZpY2UgZm9yIGl0cyBhY2Nv dW50aW5nIG1ldGFkYXRhLiBJdCBpcyBhIGJpby1iYXNlZA0KICAgIGRyaXZlciBiZWNhdXNlIGFs bCBJTyBpcyBkb25lIHN5bmNocm9ub3VzbHksIGFuZCB0aGVyZSBpcyBubyBxdWV1aW5nIG9yDQog ICAgYXN5bmNocm9ub3VzIGNvbXBsZXRpb25zIGF0IGVpdGhlciB0aGUgZGV2aWNlIG9yIHRoZSBk cml2ZXIgbGV2ZWwuDQogICAgDQogICAgVGhlIEJUVCB1c2VzICdsYW5lcycgdG8gaW5kZXggaW50 byB2YXJpb3VzICdvbi1kaXNrJyBkYXRhIHN0cnVjdHVyZXMsDQogICAgYW5kIGxhbmVzIGFsc28g YWN0IGFzIGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSBpbiBjYXNlIHRoZXJlIGFyZSBtb3Jl DQogICAgQ1BVcyB0aGFuIGF2YWlsYWJsZSBsYW5lcy4gV2UgZGlkIGEgY29tcGFyaXNvbiBiZXR3 ZWVuIHR3byBsYW5lIGxvY2sNCiAgICBzdHJhdGVnaWVzIC0gZmlyc3Qgd2hlcmUgd2Uga2VwdCBh biBhdG9taWMgY291bnRlciBhcm91bmQgdGhhdCB0cmFja2VkDQogICAgd2hpY2ggd2FzIHRoZSBs YXN0IGxhbmUgdGhhdCB3YXMgdXNlZCwgYW5kICdvdXInIGxhbmUgd2FzIGRldGVybWluZWQgYnkN CiAgICBhdG9taWNhbGx5IGluY3JlbWVudGluZyB0aGF0LiBUaGF0IHdheSwgZm9yIHRoZSBucl9j cHVzID4gbnJfbGFuZXMgY2FzZSwNCiAgICB0aGVvcmV0aWNhbGx5LCBubyBDUFUgd291bGQgYmUg YmxvY2tlZCB3YWl0aW5nIGZvciBhIGxhbmUuIFRoZSBvdGhlcg0KICAgIHN0cmF0ZWd5IHdhcyB0 byB1c2UgdGhlIGNwdSBudW1iZXIgd2UncmUgc2NoZWR1bGVkIG9uIHRvIGFuZCBoYXNoIGl0IHRv DQogICAgYSBsYW5lIG51bWJlci4gVGhlb3JldGljYWxseSwgdGhpcyBjb3VsZCBibG9jayBhbiBJ TyB0aGF0IGNvdWxkJ3ZlDQogICAgb3RoZXJ3aXNlIHJ1biB1c2luZyBhIGRpZmZlcmVudCwgZnJl ZSBsYW5lLiBCdXQgc29tZSBmaW8gd29ya2xvYWRzDQogICAgc2hvd2VkIHRoYXQgdGhlIGRpcmVj dCBjcHUgLT4gbGFuZSBoYXNoIHBlcmZvcm1lZCBmYXN0ZXIgdGhhbiB0cmFja2luZw0KICAgICds YXN0IGxhbmUnIC0gbXkgcmVhc29uaW5nIGlzIHRoZSBjYWNoZSB0aHJhc2ggY2F1c2VkIGJ5IG1v dmluZyB0aGUNCiAgICBhdG9taWMgdmFyaWFibGUgbWFkZSB0aGF0IGFwcHJvYWNoIHNsb3dlciB0 aGFuIHNpbXBseSB3YWl0aW5nIG91dCB0aGUNCiAgICBpbi1wcm9ncmVzcyBJTy4gVGhpcyBzdXBw b3J0cyB0aGUgY29uY2x1c2lvbiB0aGF0IHRoZSBkcml2ZXIgY2FuIGJlIGENCiAgICB2ZXJ5IHNp bXBsZSBiaW8tYmFzZWQgb25lIHRoYXQgZG9lcyBzeW5jaHJvbm91cyBJT3MgaW5zdGVhZCBvZiBx dWV1aW5nLg0KICAgIA0KICAgIENjOiBBbmR5IEx1dG9taXJza2kgPGx1dG9AYW1hY2FwaXRhbC5u ZXQ+DQogICAgQ2M6IEJvYXogSGFycm9zaCA8Ym9hekBwbGV4aXN0b3IuY29tPg0KICAgIENjOiBI LiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4NCiAgICBDYzogSmVucyBBeGJvZSA8YXhib2VA ZmIuY29tPg0KICAgIENjOiBJbmdvIE1vbG5hciA8bWluZ29Aa2VybmVsLm9yZz4NCiAgICBDYzog Q2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQogICAgQ2M6IE5laWwgQnJvd24gPG5laWxi QHN1c2UuZGU+DQogICAgQ2M6IEplZmYgTW95ZXIgPGptb3llckByZWRoYXQuY29tPg0KICAgIENj OiBEYXZlIENoaW5uZXIgPGRhdmlkQGZyb21vcmJpdC5jb20+DQogICAgQ2M6IEdyZWcgS0ggPGdy ZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPg0KICAgIFtqbW95ZXI6IGZpeCBubWkgd2F0Y2hkb2cg dGltZW91dCBpbiBidHRfbWFwX2luaXRdDQogICAgW2ptb3llcjogbW92ZSBidHQgaW5pdGlhbGl6 YXRpb24gdG8gbW9kdWxlIGxvYWQgcGF0aF0NCiAgICBbam1veWVyOiBmaXggbWVtb3J5IGxlYWsg aW4gdGhlIGJ0dCBpbml0aWFsaXphdGlvbiBwYXRoXQ0KICAgIFtqbW95ZXI6IERvbid0IG92ZXJ3 cml0ZSBjb3JydXB0ZWQgYXJlbmFzXQ0KICAgIFNpZ25lZC1vZmYtYnk6IFZpc2hhbCBWZXJtYSA8 dmlzaGFsLmwudmVybWFAbGludXguaW50ZWwuY29tPg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBX aWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KDQpjb21taXQgMDQ3ZmM4YTFmOWE2 MzMwZWFjYzgwMzc0ZGZmMDg3ZTIwZGMyMzA0Yg0KQXV0aG9yOiBSb3NzIFp3aXNsZXIgPHJvc3Mu endpc2xlckBsaW51eC5pbnRlbC5jb20+DQpEYXRlOiAgIFRodSBKdW4gMjUgMDQ6MjE6MDIgMjAx NSAtMDQwMA0KDQogICAgbGlibnZkaW1tLCBuZml0LCBuZF9ibGs6IGRyaXZlciBmb3IgQkxLLW1v ZGUgYWNjZXNzIHBlcnNpc3RlbnQgbWVtb3J5DQogICAgDQogICAgVGhlIGxpYm52ZGltbSBpbXBs ZW1lbnRhdGlvbiBoYW5kbGVzIGFsbG9jYXRpbmcgZGltbSBhZGRyZXNzIHNwYWNlIChEUEEpDQog ICAgYmV0d2VlbiBQTUVNIGFuZCBCTEsgbW9kZSBpbnRlcmZhY2VzLiAgQWZ0ZXIgRFBBIGhhcyBi ZWVuIGFsbG9jYXRlZCBmcm9tDQogICAgYSBCTEstcmVnaW9uIHRvIGEgQkxLLW5hbWVzcGFjZSB0 aGUgbmRfYmxrIGRyaXZlciBhdHRhY2hlcyB0byBoYW5kbGUgSS9PDQogICAgYXMgYSBzdHJ1Y3Qg YmlvIGJhc2VkIGJsb2NrIGRldmljZS4gVW5saWtlIFBNRU0sIEJMSyBpcyByZXF1aXJlZCB0bw0K ICAgIGhhbmRsZSBwbGF0Zm9ybSBzcGVjaWZpYyBkZXRhaWxzIGxpa2UgbW1pbyByZWdpc3RlciBm b3JtYXRzIGFuZCBtZW1vcnkNCiAgICBjb250cm9sbGVyIGludGVybGVhdmUuICBGb3IgdGhpcyBy ZWFzb24gdGhlIGxpYm52ZGltbSBnZW5lcmljIG5kX2Jsaw0KICAgIGRyaXZlciBjYWxscyBiYWNr IGludG8gdGhlIGJ1cyBwcm92aWRlciB0byBjYXJyeSBvdXQgdGhlIEkvTy4NCiAgICANCiAgICBU aGlzIGluaXRpYWwgaW1wbGVtZW50YXRpb24gaGFuZGxlcyB0aGUgQkxLIGludGVyZmFjZSBkZWZp bmVkIGJ5IHRoZQ0KICAgIEFDUEkgNiBORklUIFsxXSBhbmQgdGhlIE5WRElNTSBEU00gSW50ZXJm YWNlIEV4YW1wbGUgWzJdIGNvbXBvc2VkIGZyb20NCiAgICBEQ1IgKGRpbW0gY29udHJvbCByZWdp b24pLCBCRFcgKGJsb2NrIGRhdGEgd2luZG93KSwgSURUIChpbnRlcmxlYXZlDQogICAgZGVzY3Jp cHRvcikgTkZJVCBzdHJ1Y3R1cmVzIGFuZCB0aGUgaGFyZHdhcmUgcmVnaXN0ZXIgZm9ybWF0Lg0K ICAgIFsxXTogaHR0cDovL3d3dy51ZWZpLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL3Jlc291cmNl cy9BQ1BJXzYuMC5wZGYNCiAgICBbMl06IGh0dHA6Ly9wbWVtLmlvL2RvY3VtZW50cy9OVkRJTU1f RFNNX0ludGVyZmFjZV9FeGFtcGxlLnBkZg0KICAgIA0KICAgIENjOiBBbmR5IEx1dG9taXJza2kg PGx1dG9AYW1hY2FwaXRhbC5uZXQ+DQogICAgQ2M6IEJvYXogSGFycm9zaCA8Ym9hekBwbGV4aXN0 b3IuY29tPg0KICAgIENjOiBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4NCiAgICBDYzog SmVucyBBeGJvZSA8YXhib2VAZmIuY29tPg0KICAgIENjOiBJbmdvIE1vbG5hciA8bWluZ29Aa2Vy bmVsLm9yZz4NCiAgICBDYzogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQogICAgU2ln bmVkLW9mZi1ieTogUm9zcyBad2lzbGVyIDxyb3NzLnp3aXNsZXJAbGludXguaW50ZWwuY29tPg0K ICAgIEFja2VkLWJ5OiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2NraUBpbnRlbC5j b20+DQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRl bC5jb20+DQoNCmNvbW1pdCA2YmM3NTYxOTNmZjYxYmY1ZTdiM2NmZWRmYmIwODczYmY0MGY4MDU1 DQpBdXRob3I6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0ZTog ICBXZWQgSnVuIDE3IDE3OjIzOjMyIDIwMTUgLTA0MDANCg0KICAgIHRvb2xzL3Rlc3RpbmcvbnZk aW1tOiBsaWJudmRpbW0gdW5pdCB0ZXN0IGluZnJhc3RydWN0dXJlDQogICAgDQogICAgJ2xpYm52 ZGltbScgaXMgdGhlIGZpcnN0IGRyaXZlciBzdWItc3lzdGVtIGluIHRoZSBrZXJuZWwgdG8gaW1w bGVtZW50DQogICAgbW9ja2luZyBmb3IgdW5pdCB0ZXN0IGNvdmVyYWdlLiAgVGhlIG5maXRfdGVz dCBtb2R1bGUgZ2V0cyBidWlsdCBhcyBhbg0KICAgIGV4dGVybmFsIG1vZHVsZSBhbmQgYXJyYW5n ZXMgZm9yIGV4dGVybmFsIG1vZHVsZSByZXBsYWNlbWVudHMgb2YgbmZpdCwNCiAgICBsaWJudmRp bW0sIG5kX3BtZW0sIGFuZCBuZF9ibGsuICBUaGVzZSByZXBsYWNlbWVudHMgdXNlIHRoZSBsaW5r ZXINCiAgICAtLXdyYXAgb3B0aW9uIHRvIHJlZGlyZWN0IGNhbGxzIHRvIGlvcmVtYXAoKSArIHJl cXVlc3RfbWVtX3JlZ2lvbigpIHRvDQogICAgY3VzdG9tIGRlZmluZWQgdW5pdCB0ZXN0IHJlc291 cmNlcy4gIFRoZSBlbmQgcmVzdWx0IGlzIGEgZnVsbHkNCiAgICBmdW5jdGlvbmFsIG52ZGltbV9i dXMsIGFzIGZhciBhcyB1c2Vyc3BhY2UgaXMgY29uY2VybmVkLCBidXQgd2l0aCB0aGUNCiAgICBj YXBhYmlsaXR5IHRvIHBlcmZvcm0gb3RoZXJ3aXNlIGRlc3RydWN0aXZlIHRlc3RzIG9uIGVtdWxh dGVkIHJlc291cmNlcy4NCiAgICANCiAgICBROiBXaHkgbm90IHVzZSBRRU1VIGZvciB0aGlzIGVt dWxhdGlvbj8NCiAgICBRRU1VIGlzIG5vdCBzdWl0YWJsZSBmb3IgdW5pdCB0ZXN0aW5nLiAgUUVN VSdzIHJvbGUgaXMgdG8gZmFpdGhmdWxseQ0KICAgIGVtdWxhdGUgdGhlIHBsYXRmb3JtLiAgQSB1 bml0IHRlc3QncyByb2xlIGlzIHRvIHVuZmFpdGhmdWxseSBpbXBsZW1lbnQNCiAgICB0aGUgcGxh dGZvcm0gd2l0aCB0aGUgZ29hbCBvZiB0cmlnZ2VyaW5nIGJ1Z3MgaW4gdGhlIGNvcm5lcnMgb2Yg dGhlDQogICAgc3ViLXN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIEFzIGJ1Z3MgYXJlIGRpc2NvdmVy ZWQgaW4gcGxhdGZvcm1zLCBvciB0aGUNCiAgICBzdWItc3lzdGVtIGl0c2VsZiwgdGhlIHVuaXQg dGVzdHMgYXJlIGV4dGVuZGVkIHRvIGJhY2tzdG9wIGEgZml4IHdpdGggYQ0KICAgIHJlcHJvZHVj ZXIgdW5pdCB0ZXN0Lg0KICAgIA0KICAgIEFub3RoZXIgcHJvYmxlbSB3aXRoIFFFTVUgaXMgdGhh dCBpdCB3b3VsZCByZXF1aXJlIGNvb3JkaW5hdGlvbiBvZiAzDQogICAgc29mdHdhcmUgcHJvamVj dHMgaW5zdGVhZCBvZiAyIChrZXJuZWwgKyBsaWJuZGN0bCBbMV0pIHRvIG1haW50YWluIGFuZA0K ICAgIGV4ZWN1dGUgdGhlIHRlc3RzLiAgVGhlIGNoYW5jZXMgZm9yIGJpdCByb3QgYW5kIHRoZSBk aWZmaWN1bHR5IG9mDQogICAgZ2V0dGluZyB0aGUgdGVzdHMgcnVubmluZyBnb2VzIHVwIG5vbi1s aW5lYXJseSB0aGUgbW9yZSBjb21wb25lbnRzDQogICAgaW52b2x2ZWQuDQogICAgDQogICAgDQog ICAgUTogV2h5IHN1Ym1pdCB0aGlzIHRvIHRoZSBrZXJuZWwgdHJlZSBpbnN0ZWFkIG9mIGV4dGVy bmFsIG1vZHVsZXMgaW4NCiAgICAgICBsaWJuZGN0bD8NCiAgICBTaW1wbGUsIHRvIGFsbGV2aWF0 ZSB0aGUgc2FtZSByaXNrIHRoYXQgb3V0LW9mLXRyZWUgZXh0ZXJuYWwgbW9kdWxlcw0KICAgIGZh Y2UuICBVcGRhdGVzIHRvIGRyaXZlcnMvbnZkaW1tLyBjYW4gYmUgaW1tZWRpYXRlbHkgZXZhbHVh dGVkIHRvIHNlZSBpZg0KICAgIHRoZXkgaGF2ZSBhbnkgaW1wYWN0IG9uIHRvb2xzL3Rlc3Rpbmcv bnZkaW1tLy4NCiAgICANCiAgICANCiAgICBROiBXaGF0IGFyZSB0aGUgbmVnYXRpdmUgaW1wbGlj YXRpb25zIG9mIG1lcmdpbmcgdGhpcz8NCiAgICBJdCBpcyBhIHVuaXF1ZSBtYWludGVuYW5jZSBi dXJkZW4gYmVjYXVzZSB0aGUgcHVycG9zZSBvZiBtb2NraW5nIGFuDQogICAgaW50ZXJmYWNlIHRv IGVuYWJsZSBhIHVuaXQgdGVzdCBpcyB0byBwdXJwb3NlZnVsbHkgc2hvcnQgY2lyY3VpdCB0aGUN CiAgICBzZW1hbnRpY3Mgb2YgYSByb3V0aW5lIHRvIGVuYWJsZSB0ZXN0aW5nLiAgRm9yIGV4YW1w bGUNCiAgICBfX3dyYXBfaW9yZW1hcF9jYWNoZSgpIGZha2VzIHRoZSBwbWVtIGRyaXZlciBpbnRv ICJpb3JlbWFwKCknaW5nIiBhIHRlc3QNCiAgICByZXNvdXJjZSBidWZmZXIgYWxsb2NhdGVkIGJ5 IGRtYV9hbGxvY19jb2hlcmVudCgpLiAgVGhlIGZ1dHVyZQ0KICAgIG1haW50ZW5hbmNlIGJ1cmRl biBoaXRzIHdoZW4gc29tZW9uZSBjaGFuZ2VzIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICBpb3JlbWFw X2NhY2hlKCkgYW5kIHdvbmRlcnMgd2hhdCB0aGUgaW1wbGljYXRpb25zIGFyZSBmb3IgdGhlIHVu aXQgdGVzdC4NCiAgICANCiAgICBbMV06IGh0dHBzOi8vZ2l0aHViLmNvbS9wbWVtL25kY3RsDQog ICAgDQogICAgQ2M6IDxsaW51eC1hY3BpQHZnZXIua2VybmVsLm9yZz4NCiAgICBDYzogTHYgWmhl bmcgPGx2LnpoZW5nQGludGVsLmNvbT4NCiAgICBDYzogUm9iZXJ0IE1vb3JlIDxyb2JlcnQubW9v cmVAaW50ZWwuY29tPg0KICAgIENjOiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2Nr aUBpbnRlbC5jb20+DQogICAgQ2M6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAg IFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0K DQpjb21taXQgYmMzMDE5NmY3MTVlZDNhOTRkMDUwZWY4YmM0NjVlNTY3YTYwNTBiZQ0KQXV0aG9y OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCkRhdGU6ICAgVGh1IEp1 biAyNSAwNDo0ODoxOSAyMDE1IC0wNDAwDQoNCiAgICBsaWJudmRpbW06IE5vbi1Wb2xhdGlsZSBE ZXZpY2VzDQogICAgDQogICAgTWFpbnRhaW5lciBpbmZvcm1hdGlvbiBhbmQgZG9jdW1lbnRhdGlv biBmb3IgZHJpdmVycy9udmRpbW0NCiAgICANCiAgICBDYzogQW5keSBMdXRvbWlyc2tpIDxsdXRv QGFtYWNhcGl0YWwubmV0Pg0KICAgIENjOiBCb2F6IEhhcnJvc2ggPGJvYXpAcGxleGlzdG9yLmNv bT4NCiAgICBDYzogSC4gUGV0ZXIgQW52aW4gPGhwYUB6eXRvci5jb20+DQogICAgQ2M6IEplbnMg QXhib2UgPGF4Ym9lQGZiLmNvbT4NCiAgICBDYzogSW5nbyBNb2xuYXIgPG1pbmdvQGtlcm5lbC5v cmc+DQogICAgQ2M6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIENjOiBOZWls IEJyb3duIDxuZWlsYkBzdXNlLmRlPg0KICAgIENjOiBHcmVnIEtIIDxncmVna2hAbGludXhmb3Vu ZGF0aW9uLm9yZz4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxp YW1zQGludGVsLmNvbT4NCg0KY29tbWl0IGY2OGViMWU3MWE5Mjc2NWZmZDhlYjY4NDY2YTQxYjQ4 ZjJmYmJhMDQNCkF1dGhvcjogVmlzaGFsIFZlcm1hIDx2aXNoYWwubC52ZXJtYUBpbnRlbC5jb20+ DQpEYXRlOiAgIFR1ZSBNYXkgMTIgMTM6NDg6NTMgMjAxNSAtMDQwMA0KDQogICAgZnMvYmxvY2tf ZGV2LmM6IHNraXAgcndfcGFnZSBpZiBiZGV2IGhhcyBpbnRlZ3JpdHkNCiAgICANCiAgICBJZiBh IGJsb2NrIGRldmljZSBoYXMgYmlvIGludGVncml0eSBlbmFibGVkLCByd19wYWdlIHdpbGwgYnlw YXNzIHRoZQ0KICAgIGludGVncml0eSBwYXlsb2FkLCB3aGljaCBpcyB1bmRlc2lyYWJsZS4gU2tp cCByd19wYWdlIGlmIHRoaXMgaXMgdGhlDQogICAgY2FzZS4NCiAgICANCiAgICBDdXJyZW50bHkg YnJkIGFuZCB6cmFtIHByb3ZpZGUgcndfcGFnZSwgYW5kIHRoZSBwcm9wb3NlZCAnbmQnIGRyaXZl cnMNCiAgICB3aWxsIHRvby4NCiAgICANCiAgICBDYzogSmVucyBBeGJvZSA8YXhib2VAZmIuY29t Pg0KICAgIENjOiBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29t Pg0KICAgIFN1Z2dlc3RlZC1ieTogTWF0dGhldyBXaWxjb3ggPG1hdHRoZXcuci53aWxjb3hAaW50 ZWwuY29tPg0KICAgIFNpZ25lZC1vZmYtYnk6IFZpc2hhbCBWZXJtYSA8dmlzaGFsLmwudmVybWFA bGludXguaW50ZWwuY29tPg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmou d2lsbGlhbXNAaW50ZWwuY29tPg0KDQpjb21taXQgNDFjZDhiNzBjMzdhY2U0MDA3N2M4ZDZlYzBi NzRiOTgzMTc4YzE5Mg0KQXV0aG9yOiBWaXNoYWwgVmVybWEgPHZpc2hhbC5sLnZlcm1hQGludGVs LmNvbT4NCkRhdGU6ICAgVGh1IEp1biAyNSAwNDoyMTo1MiAyMDE1IC0wNDAwDQoNCiAgICBsaWJu dmRpbW0sIGJ0dDogYWRkIHN1cHBvcnQgZm9yIGJsayBpbnRlZ3JpdHkNCiAgICANCiAgICBTdXBw b3J0IG11bHRpcGxlIGJsb2NrIHNpemVzIChzZWN0b3IgKyBtZXRhZGF0YSkgdXNpbmcgdGhlIGJs ayBpbnRlZ3JpdHkNCiAgICBmcmFtZXdvcmsuIFRoaXMgcmVnaXN0ZXJzIGEgbmV3IGludGVncml0 eSB0ZW1wbGF0ZSB0aGF0IGRlZmluZXMgdGhlDQogICAgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiB0 dXBsZSBzaXplIGJhc2VkIG9uIHRoZSBjb25maWd1cmVkIG1ldGFkYXRhIHNpemUsDQogICAgYW5k IHNpbXBseSBhY3RzIGFzIGEgcGFzc3Rocm91Z2ggZm9yIHByb3RlY3Rpb24gaW5mb3JtYXRpb24g Z2VuZXJhdGVkIGJ5DQogICAgYW5vdGhlciBsYXllci4gVGhlIG1ldGFkYXRhIGlzIHdyaXR0ZW4g dG8gdGhlIHN0b3JhZ2UgYXMtaXMsIGFuZCByZWFkIGJhY2sNCiAgICB3aXRoIGVhY2ggc2VjdG9y Lg0KICAgIA0KICAgIFNpZ25lZC1vZmYtYnk6IFZpc2hhbCBWZXJtYSA8dmlzaGFsLmwudmVybWFA bGludXguaW50ZWwuY29tPg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmou d2lsbGlhbXNAaW50ZWwuY29tPg0KDQpjb21taXQgZmNhZTY5NTczN2ZjYTA4NDljMThkYjgxNGQ5 ZDhkZTA1YzBmZDJhMg0KQXV0aG9yOiBWaXNoYWwgVmVybWEgPHZpc2hhbC5sLnZlcm1hQGludGVs LmNvbT4NCkRhdGU6ICAgVGh1IEp1biAyNSAwNDoyMjozOSAyMDE1IC0wNDAwDQoNCiAgICBsaWJu dmRpbW0sIGJsazogYWRkIHN1cHBvcnQgZm9yIGJsayBpbnRlZ3JpdHkNCiAgICANCiAgICBTdXBw b3J0IG11bHRpcGxlIGJsb2NrIHNpemVzIChzZWN0b3IgKyBtZXRhZGF0YSkgZm9yIG5kX2JsayBp biB0aGUNCiAgICBzYW1lIHdheSBhcyBkb25lIGZvciB0aGUgQlRULiBBZGQgdGhlIGlkZWEgb2Yg YW4gJ2ludGVybmFsJyBsYmFzaXplLA0KICAgIHdoaWNoIGlzIHByb3Blcmx5IGFsaWduZWQgYW5k IHBhZGRlZCwgYW5kIHN0b3JlIG1ldGFkYXRhIGluIHRoaXMgc3BhY2UuDQogICAgDQogICAgU2ln bmVkLW9mZi1ieTogVmlzaGFsIFZlcm1hIDx2aXNoYWwubC52ZXJtYUBsaW51eC5pbnRlbC5jb20+ DQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5j b20+DQoNCmNvbW1pdCA0M2QzZmEzYTA0OTExNjhhZDc2OWQyMGQ1Y2JhZTQ1NDkyNTA5ZDQzDQpB dXRob3I6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0ZTogICBT YXQgTWF5IDE2IDEyOjI4OjUwIDIwMTUgLTA0MDANCg0KICAgIGxpYm52ZGltbSwgcG1lbTogZml4 IHVwIG1heF9od19zZWN0b3JzDQogICAgDQogICAgVGhlcmUgaXMgbm8gaGFyZHdhcmUgbGltaXQg dG8gZW5mb3JjZSBvbiB0aGUgc2l6ZSBvZiB0aGUgaS9vIHRoYXQgY2FuIGJlIHBhc3NlZA0KICAg IHRvIGFuIG52ZGltbSBibG9jayBkZXZpY2UsIHNvIHNldCBpdCB0byBVSU5UX01BWC4NCiAgICAN CiAgICBSZXZpZXdlZC1ieTogVmlzaGFsIFZlcm1hIDx2aXNoYWwubC52ZXJtYUBsaW51eC5pbnRl bC5jb20+DQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0Bp bnRlbC5jb20+DQoNCmNvbW1pdCBlZGM4NzBlNTQ2OTZiZWI5ZjM4MzVlY2I0MWE0ZTFjODRlZTQ1 ODRkDQpBdXRob3I6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KRGF0 ZTogICBTYXQgTWF5IDE2IDEyOjI4OjUxIDIwMTUgLTA0MDANCg0KICAgIHBtZW06IG1ha2VfcmVx dWVzdCBjbGVhbnVwcw0KICAgIA0KICAgIFZhcmlvdXMgY2xlYW51cHM6DQogICAgDQogICAgMS8g S2lsbCB0aGUgQlVHX09OIHNpbmNlIHdlJ3ZlIGFscmVhZHkgdG9sZCB0aGUgYmxvY2sgbGF5ZXIg d2UgZG9uJ3QNCiAgICAgICBzdXBwb3J0IERJU0NBUkQgb24gYWxsIHRoZXNlIGRyaXZlcnMuDQog ICAgDQogICAgMi8gS2lsbCB0aGUgJ3J3JyB2YXJpYWJsZSwgbm8gbmVlZCB0byBjYWNoZSBpdC4N CiAgICANCiAgICAzLyBLaWxsIHRoZSBsb2NhbCAnc2VjdG9yJyB2YXJpYWJsZS4gIGJpb19mb3Jf ZWFjaF9zZWdtZW50KCkgaXMgYWxyZWFkeQ0KICAgICAgIGFkdmFuY2luZyB0aGUgaXRlcmF0b3In cyBzZWN0b3IgbnVtYmVyIGJ5IHRoZSBiaW9fdmVjIGxlbmd0aC4NCiAgICANCiAgICA0LyBLaWxs IHRoZSBjaGVjayBmb3IgYWNjZXNzaW5nIHBhc3QgdGhlIGVuZCBvZiBkZXZpY2UNCiAgICAgICBn ZW5lcmljX21ha2VfcmVxdWVzdF9jaGVja3MoKSBhbHJlYWR5IGRvZXMgdGhhdC4NCiAgICANCiAg ICBTdWdnZXN0ZWQtYnk6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPg0KICAgIFtoY2g6 IGtpbGwgYWNjZXNzIHBhc3QgZW5kIG9mIHRoZSBkZXZpY2UgY2hlY2tdDQogICAgUmV2aWV3ZWQt Ynk6IFZpc2hhbCBWZXJtYSA8dmlzaGFsLmwudmVybWFAbGludXguaW50ZWwuY29tPg0KICAgIFNp Z25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPg0KDQpj b21taXQgZjBkYzA4OWNlMjE3ZTdiOThlMGQyMDc3YzU0OGZmMDgxMjllNzkxMQ0KQXV0aG9yOiBE YW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCkRhdGU6ICAgU2F0IE1heSAx NiAxMjoyODo1MyAyMDE1IC0wNDAwDQoNCiAgICBsaWJudmRpbW06IGVuYWJsZSBpb3N0YXQNCiAg ICANCiAgICBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYXMgdGhlIG92ZXJoZWFkIGlzIHBy b2hpYml0aXZlLCBidXQgaWYgdGhlDQogICAgdXNlciB0YWtlcyB0aGUgYWN0aW9uIHRvIHR1cm4g aXQgb24gd2UnbGwgb2JsaWdlLg0KICAgIA0KICAgIFJldmlld2VkLWJ5OiBWaXNoYWwgVmVybWEg PHZpc2hhbC5sLnZlcm1hQGxpbnV4LmludGVsLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4g V2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IDBmNTFjNGZhN2Y2 MDgzOGE4N2NkNDVlOGJhMTQ0ZGRkY2Q0YzA2NmMNCkF1dGhvcjogRGFuIFdpbGxpYW1zIDxkYW4u ai53aWxsaWFtc0BpbnRlbC5jb20+DQpEYXRlOiAgIFNhdCBNYXkgMTYgMTI6Mjg6NTQgMjAxNSAt MDQwMA0KDQogICAgcG1lbTogZmxhZyBwbWVtIGJsb2NrIGRldmljZXMgYXMgbm9uLXJvdGF0aW9u YWwNCiAgICANCiAgICAuLi5zaW5jZSB0aGV5IGFyZSBlZmZlY3RpdmVseSBTU0RzIGFzIGZhciBh cyB1c2Vyc3BhY2UgaXMgY29uY2VybmVkLg0KICAgIA0KICAgIFJldmlld2VkLWJ5OiBWaXNoYWwg VmVybWEgPHZpc2hhbC5sLnZlcm1hQGxpbnV4LmludGVsLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5 OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IDU4MTM4 ODIwOTQwNTkwMmI1NmQwNTVmNjQ0YjRkZDEyNGEyMDYxMTINCkF1dGhvcjogRGFuIFdpbGxpYW1z IDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQpEYXRlOiAgIFR1ZSBKdW4gMjMgMjA6MDg6MzQg MjAxNSAtMDQwMA0KDQogICAgbGlibnZkaW1tLCBuZml0OiBoYW5kbGUgdW5hcm1lZCBkaW1tcywg bWFyayBuYW1lc3BhY2VzIHJlYWQtb25seQ0KICAgIA0KICAgIFVwb24gZGV0ZWN0aW9uIG9mIGFu IHVuYXJtZWQgZGltbSBpbiBhIHJlZ2lvbiwgYXJyYW5nZSBmb3IgZGVzY2VuZGFudA0KICAgIEJU VCwgUE1FTSwgb3IgQkxLIGluc3RhbmNlcyB0byBiZSByZWFkLW9ubHkuICBBIGRpbW0gaXMgcHJp bWFyaWx5IG1hcmtlZA0KICAgICJ1bmFybWVkIiB2aWEgZmxhZ3MgcGFzc2VkIGJ5IHBsYXRmb3Jt IGZpcm13YXJlIChORklUKS4NCiAgICANCiAgICBUaGUgZmxhZ3MgaW4gdGhlIE5GSVQgbWVtb3J5 IGRldmljZSBzdWItc3RydWN0dXJlIGluZGljYXRlIHRoZSBzdGF0ZSBvZg0KICAgIHRoZSBkYXRh IG9uIHRoZSBudmRpbW0gcmVsYXRpdmUgdG8gaXRzIGVuZXJneSBzb3VyY2Ugb3IgbGFzdCAiZmx1 c2ggdG8NCiAgICBwZXJzaXN0ZW5jZSIuICBGb3IgdGhlIG1vc3QgcGFydCB0aGVyZSBpcyBub3Ro aW5nIHRoZSBkcml2ZXIgY2FuIGRvIGJ1dA0KICAgIGFkdmVydGlzZSB0aGUgc3RhdGUgb2YgdGhl c2UgZmxhZ3MgaW4gc3lzZnMgYW5kIGVtaXQgYSBtZXNzYWdlIGlmDQogICAgZmlybXdhcmUgaW5k aWNhdGVzIHRoYXQgdGhlIGNvbnRlbnRzIG9mIHRoZSBkZXZpY2UgbWF5IGJlIGNvcnJ1cHRlZC4N CiAgICBIb3dldmVyLCBmb3IgdGhlIGNhc2Ugb2YgQUNQSV9ORklUX01FTV9BUk1FRCwgdGhlIGRy aXZlciBjYW4gYXJyYW5nZSBmb3INCiAgICB0aGUgYmxvY2sgZGV2aWNlcyBpbmNvcnBvcmF0aW5n IHRoYXQgbnZkaW1tIHRvIGJlIG1hcmtlZCByZWFkLW9ubHkuDQogICAgVGhpcyBpcyBhIHNhZmUg ZGVmYXVsdCBhcyB0aGUgZGF0YSBpcyBzdGlsbCBhdmFpbGFibGUgYW5kIG5ldyB3cml0ZXMgYXJl DQogICAgaGVsZCBvZmYgdW50aWwgdGhlIGFkbWluaXN0cmF0b3IgZWl0aGVyIGZvcmNlcyByZWFk LXdyaXRlIG1vZGUsIG9yIHRoZQ0KICAgIGVuZXJneSBzb3VyY2UgYmVjb21lcyBhcm1lZC4NCiAg ICANCiAgICBBICdyZWFkX29ubHknIGF0dHJpYnV0ZSBpcyBhZGRlZCB0byBSRUdJT04gZGV2aWNl cyB0byBhbGxvdyBmb3INCiAgICBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHJlYWQtb25seSBwb2xp Y3kgb2YgYWxsIGRlc2NlbmRhbnQgYmxvY2sgZGV2aWNlcy4NCiAgICANCiAgICBTaWduZWQtb2Zm LWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCg0KY29tbWl0IDk5 NzU5ODY5ZmFmMTU0NzFjZmNlMjUxYmMxMzg4NDhkOGFmN2QxNjINCkF1dGhvcjogVG9zaGkgS2Fu aSA8dG9zaGkua2FuaUBocC5jb20+DQpEYXRlOiAgIEZyaSBKdW4gMTkgMTc6MTQ6MTUgMjAxNSAt MDYwMA0KDQogICAgYWNwaTogQWRkIGFjcGlfbWFwX3B4bV90b19vbmxpbmVfbm9kZSgpDQogICAg DQogICAgVGhlIGtlcm5lbCBpbml0aWFsaXplcyBDUFUgJiBtZW1vcnkncyBOVU1BIHRvcG9sb2d5 IGZyb20gQUNQSQ0KICAgIFNSQVQgdGFibGUuICBTb21lIG90aGVyIEFDUEkgdGFibGVzLCBzdWNo IGFzIE5GSVQgYW5kIERNQVIsIGFsc28NCiAgICBjb250YWluIHByb3hpbWl0eSBJRHMgZm9yIHRo ZWlyIGRldmljZSdzIE5VTUEgdG9wb2xvZ3kuICBUaGlzDQogICAgaW5mb3JtYXRpb24gY2FuIGJl IHVzZWQgdG8gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiB0aGVzZSBkZXZpY2VzLg0KICAgIA0KICAg IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhY3BpX21hcF9weG1fdG9fb25saW5lX25vZGUoKSwgd2hp Y2ggaXMNCiAgICBzaW1pbGFyIHRvIGFjcGlfbWFwX3B4bV90b19ub2RlKCksIGJ1dCBhbHdheXMg cmV0dXJucyBhbiBvbmxpbmUNCiAgICBub2RlLiAgV2hlbiB0aGUgbWFwcGVkIG5vZGUgZnJvbSBh IGdpdmVuIHByb3hpbWl0eSBJRCBpcyBvZmZsaW5lLA0KICAgIGl0IGxvb2tzIHVwIHRoZSBub2Rl IGRpc3RhbmNlIHRhYmxlIGFuZCByZXR1cm5zIHRoZSBuZWFyZXN0DQogICAgb25saW5lIG5vZGUu DQogICAgDQogICAgQUNQSSBkZXZpY2UgZHJpdmVycywgd2hpY2ggYXJlIGNhbGxlZCBhZnRlciB0 aGUgTlVNQSBpbml0aWFsaXphdGlvbg0KICAgIGhhcyBjb21wbGV0ZWQgaW4gdGhlIGtlcm5lbCwg Y2FuIGNhbGwgdGhpcyBpbnRlcmZhY2UgdG8gb2J0YWluIHRoZWlyDQogICAgZGV2aWNlIE5VTUEg dG9wb2xvZ3kgZnJvbSBBQ1BJIHRhYmxlcy4gIFN1Y2ggZHJpdmVycyBkbyBub3QgaGF2ZSB0bw0K ICAgIGRlYWwgd2l0aCBvZmZsaW5lIG5vZGVzLiAgQSBub2RlIG1heSBiZSBvZmZsaW5lIHdoZW4g YSBkZXZpY2UNCiAgICBwcm94aW1pdHkgSUQgaXMgdW5pcXVlLCBTUkFUIG1lbW9yeSBlbnRyeSBk b2VzIG5vdCBleGlzdCwgb3IgTlVNQSBpcw0KICAgIGRpc2FibGVkLCBleC4gIm51bWE9b2ZmIiBv biB4ODYuDQogICAgDQogICAgVGhpcyBwYXRjaCBhbHNvIG1vdmVzIHRoZSBweG0gcmFuZ2UgY2hl Y2sgZnJvbSBhY3BpX2dldF9ub2RlKCkgdG8NCiAgICBhY3BpX21hcF9weG1fdG9fbm9kZSgpLg0K ICAgIA0KICAgIFNpZ25lZC1vZmYtYnk6IFRvc2hpIEthbmkgPHRvc2hpLmthbmlAaHAuY29tPg0K ICAgIEFja2VkLWJ5OiBSYWZhZWwgSi4gV3lzb2NraSA8cmFmYWVsLmoud3lzb2NraUBpbnRlbC5j b20+Pg0KICAgIFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50 ZWwuY29tPg0KDQpjb21taXQgNDFkN2E2ZDYzN2UxNDQwZjU0MTBjYjQzYzI1YTNjNDEyNTU1NDBj NQ0KQXV0aG9yOiBUb3NoaSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNvbT4NCkRhdGU6ICAgRnJpIEp1 biAxOSAxMjoxODozMyAyMDE1IC0wNjAwDQoNCiAgICBsaWJudmRpbW06IFNldCBudW1hX25vZGUg dG8gTlZESU1NIGRldmljZXMNCiAgICANCiAgICBBQ1BJIE5GSVQgdGFibGUgaGFzIFN5c3RlbSBQ aHlzaWNhbCBBZGRyZXNzIFJhbmdlIFN0cnVjdHVyZSBlbnRyaWVzIHRoYXQNCiAgICBkZXNjcmli ZSBhIHByb3hpbWl0eSBJRCBvZiBlYWNoIHJhbmdlIHdoZW4gQUNQSV9ORklUX1BST1hJTUlUWV9W QUxJRCBpcw0KICAgIHNldCBpbiB0aGUgZmxhZ3MuDQogICAgDQogICAgQ2hhbmdlIGFjcGlfbmZp dF9yZWdpc3Rlcl9yZWdpb24oKSB0byBtYXAgYSBwcm94aW1pdHkgSUQgdG8gaXRzIG5vZGUgSUQs DQogICAgYW5kIHNldCBpdCB0byBhIG5ldyBudW1hX25vZGUgZmllbGQgb2YgbmRfcmVnaW9uX2Rl c2MsIHdoaWNoIGlzIHRoZW4NCiAgICBjb252ZXllZCB0byB0aGUgbmRfcmVnaW9uIGRldmljZS4N CiAgICANCiAgICBUaGUgZGV2aWNlIGNvcmUgYXJyYW5nZXMgZm9yIGJ0dCBhbmQgbmFtZXNwYWNl IGRldmljZXMgdG8gaW5oZXJpdCB0aGVpcg0KICAgIG5vZGUgZnJvbSB0aGVpciBwYXJlbnQgcmVn aW9uLg0KICAgIA0KICAgIFNpZ25lZC1vZmYtYnk6IFRvc2hpIEthbmkgPHRvc2hpLmthbmlAaHAu Y29tPg0KICAgIFtkamJ3OiBtb3ZlIHNldF9kZXZfbm9kZSgpIGZyb20gcmVnaW9uLmMgdG8gYnVz LmNdDQogICAgU2lnbmVkLW9mZi1ieTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRl bC5jb20+DQoNCmNvbW1pdCA3NGFlNjZjM2IxNGZmYTk0YzhkMmRlYTIwMWNkZjhlNjIwM2QxM2Q1 DQpBdXRob3I6IFRvc2hpIEthbmkgPHRvc2hpLmthbmlAaHAuY29tPg0KRGF0ZTogICBGcmkgSnVu IDE5IDEyOjE4OjM0IDIwMTUgLTA2MDANCg0KICAgIGxpYm52ZGltbTogQWRkIHN5c2ZzIG51bWFf bm9kZSB0byBOVkRJTU0gZGV2aWNlcw0KICAgIA0KICAgIEFkZCBzdXBwb3J0IG9mIHN5c2ZzICdu dW1hX25vZGUnIHRvIEkvTy1yZWxhdGVkIE5WRElNTSBkZXZpY2VzDQogICAgdW5kZXIgL3N5cy9i dXMvbmQvZGV2aWNlcywgcmVnaW9uTiwgbmFtZXNwYWNlTi4wLCBhbmQgYnR0Ti54Lg0KICAgIA0K ICAgIEFuIGV4YW1wbGUgb2YgbnVtYV9ub2RlIHZhbHVlcyBvbiBhIDItc29ja2V0IHN5c3RlbSB3 aXRoIGEgc2luZ2xlDQogICAgTlZESU1NIHJhbmdlIG9uIGVhY2ggc29ja2V0IGlzIHNob3duIGJl bG93Lg0KICAgICAgL3N5cy9idXMvbmQvZGV2aWNlcw0KICAgICAgfC0tIGJ0dDAuMC9udW1hX25v ZGU6MA0KICAgICAgfC0tIGJ0dDEuMC9udW1hX25vZGU6MQ0KICAgICAgfC0tIGJ0dDEuMS9udW1h X25vZGU6MQ0KICAgICAgfC0tIG5hbWVzcGFjZTAuMC9udW1hX25vZGU6MA0KICAgICAgfC0tIG5h bWVzcGFjZTEuMC9udW1hX25vZGU6MQ0KICAgICAgfC0tIHJlZ2lvbjAvbnVtYV9ub2RlOjANCiAg ICAgIHwtLSByZWdpb24xL251bWFfbm9kZToxDQogICAgDQogICAgVGhlc2UgbnVtYV9ub2RlIGZp bGVzIGFyZSB0aGVuIGxpbmtlZCB1bmRlciB0aGUgYmxvY2sgY2xhc3Mgb2YNCiAgICB0aGVpciBk ZXZpY2UgbmFtZXMuDQogICAgICAvc3lzL2NsYXNzL2Jsb2NrL3BtZW0wL2RldmljZS9udW1hX25v ZGU6MA0KICAgICAgL3N5cy9jbGFzcy9ibG9jay9wbWVtMXMvZGV2aWNlL251bWFfbm9kZToxDQog ICAgDQogICAgVGhpcyBlbmFibGVzIG51bWFjdGwoOCkgdG8gYWNjZXB0ICdibG9jazonIGFuZCAn ZmlsZTonIHBhdGhzIG9mDQogICAgcG1lbSBhbmQgYnR0IGRldmljZXMgYXMgc2hvd24gaW4gdGhl IGV4YW1wbGVzIGJlbG93Lg0KICAgICAgbnVtYWN0bCAtLXByZWZlcnJlZCBibG9jazpwbWVtMCAt LXNob3cNCiAgICAgIG51bWFjdGwgLS1wcmVmZXJyZWQgZmlsZTovZGV2L3BtZW0xcyAtLXNob3cN CiAgICANCiAgICBTaWduZWQtb2ZmLWJ5OiBUb3NoaSBLYW5pIDx0b3NoaS5rYW5pQGhwLmNvbT4N CiAgICBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNv bT4NCg0KY29tbWl0IDYxMDMxOTUyZjRjODlkYmExMDY1ZjdhNWI5NDE5YmFkYjExMjU1NGMNCkF1 dGhvcjogUm9zcyBad2lzbGVyIDxyb3NzLnp3aXNsZXJAbGludXguaW50ZWwuY29tPg0KRGF0ZTog ICBUaHUgSnVuIDI1IDAzOjA4OjM5IDIwMTUgLTA0MDANCg0KICAgIGFyY2gsIHg4NjogcG1lbSBh cGkgZm9yIGVuc3VyaW5nIGR1cmFiaWxpdHkgb2YgcGVyc2lzdGVudCBtZW1vcnkgdXBkYXRlcw0K ICAgIA0KICAgIEJhc2VkIG9uIGFuIG9yaWdpbmFsIHBhdGNoIGJ5IFJvc3MgWndpc2xlciBbMV0u DQogICAgDQogICAgV3JpdGVzIHRvIHBlcnNpc3RlbnQgbWVtb3J5IGhhdmUgdGhlIHBvdGVudGlh bCB0byBiZSBwb3N0ZWQgdG8gY3B1DQogICAgY2FjaGUsIGNwdSB3cml0ZSBidWZmZXJzLCBhbmQg cGxhdGZvcm0gd3JpdGUgYnVmZmVycyAobWVtb3J5IGNvbnRyb2xsZXIpDQogICAgYmVmb3JlIGJl aW5nIGNvbW1pdHRlZCB0byBwZXJzaXN0ZW50IG1lZGlhLiAgUHJvdmlkZSBhcGlzLA0KICAgIG1l bWNweV90b19wbWVtKCksIHdtYl9wbWVtKCksIGFuZCBtZW1yZW1hcF9wbWVtKCksIHRvIHdyaXRl IGRhdGEgdG8NCiAgICBwbWVtIGFuZCBhc3NlcnQgdGhhdCBpdCBpcyBkdXJhYmxlIGluIFBNRU0g KGEgcGVyc2lzdGVudCBsaW5lYXIgYWRkcmVzcw0KICAgIHJhbmdlKS4gIEEgJ19fcG1lbScgYXR0 cmlidXRlIGlzIGFkZGVkIHNvIHNwYXJzZSBjYW4gdHJhY2sgcHJvcGVyIHVzYWdlDQogICAgb2Yg cG9pbnRlcnMgdG8gcG1lbS4NCiAgICANCiAgICBUaGlzIGNvbnRpbnVlcyB0aGUgc3RhdHVzIHF1 byBvZiBwbWVtIGJlaW5nIHg4NiBvbmx5IGZvciA0LjIsIGJ1dA0KICAgIHJld29ya3MgdG8gaW9y ZW1hcCwgYW5kIHdpZGVyIGltcGxlbWVudGF0aW9uIG9mIG1lbXJlbWFwKCkgd2lsbCBlbmFibGUN CiAgICBvdGhlciBhcmNocyBpbiA0LjMuDQogICAgDQogICAgWzFdOiBodHRwczovL2xpc3RzLjAx Lm9yZy9waXBlcm1haWwvbGludXgtbnZkaW1tLzIwMTUtTWF5LzAwMDkzMi5odG1sDQogICAgDQog ICAgQ2M6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPg0KICAgIENjOiBJbmdv IE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4NCiAgICBDYzogIkguIFBldGVyIEFudmluIiA8aHBh QHp5dG9yLmNvbT4NCiAgICBTaWduZWQtb2ZmLWJ5OiBSb3NzIFp3aXNsZXIgPHJvc3Muendpc2xl ckBsaW51eC5pbnRlbC5jb20+DQogICAgW2RqYnc6IHZhcmlvdXMgcmV3b3Jrc10NCiAgICBTaWdu ZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCg0K