ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCAzMzNjNjBlLi41Mjk0MGEwIDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0xLDMgKzEsMTMwNSBAQAorY29tbWl0IGQzMThkMGM0NGQ4ZTkxZTkzN2M0ZGFkMGM1YjFkMmY2YmI5ZDlmZDgKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJTW9uIEp1biAyOSAxMzozMDo1MCAyMDA5ICswMjAwCisKKyAgICBVQkk6IEZpeCBidWlsZCBwcm9ibGVtIG5vdGljZWQgb24gQXBvbGxvbiAoYXJtL3Rlc3RpbmcgcmVwbykKKworICAgIFRoaXMgcGF0Y2ggZml4ZXMgYSBidWlsZCBwcm9ibGVtIG5vdGljZWQgb24gQXBvbGxvbiBieSB1c2luZworICAgIG10ZF9kZXZfYnlfZWIoKSBpbnN0ZWFkIG9mICIvIiBhcyBkb25lIGluIHRoZSBMaW51eCBVQkkgdmVyc2lvbi4KKyAgICBTbyB0aGlzIGJyaW5ncyB0aGUgVS1Cb290IFVCSSB2ZXJzaW9uIG1vcmUgaW4gc3luYyB3aXRoIHRoZSBMaW51eAorICAgIHZlcnNpb24gYWdhaW4uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCAyZWZlZTUyYjA5NjU3ZTkzNTM2NTViOWRhZTllMWQxYTY3YTJhYmU0CitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CU1vbiBKdWwgNiAyMDoyOToxNSAyMDA5ICswNTMwCisKKyAgICBzZjogTWFjcm9uaXggYWRkaXRpb25hbCBjaGlwcyBzdXBwb3J0ZWQKKworICAgIG5ldyBjaGlwcyBzdXBwb3J0ZWQ6LQorICAgIE1YMjVMMTYwNUQsIE1YMjVMMzIwNUQsIE1YMjVMNjQwNUQsIE1YMjVMMTI4NTVFCisgICAgb3V0IG9mIHdoaWNoIE1YMjVMNjQwNUQgYW5kIE1YMjVMMTI4NTVFIHRlc3RlZCBvbiBLaXJrd29vZCBwbGF0Zm9ybXMKKworICAgIE1vZGlmaWVkIHRoZSBNYWNyb25peCBmbGFzaCBzdXBwb3J0IHRvIHVzZSAyIGJ5dGVzIG9mIGRldmljZSBpZCBpbnN0ZWFkIG9mIDEKKyAgICBUaGlzIHdhcyByZXF1aXJlZCB0byBzdXBwb3J0IE1YMjVMMTI4NTVFCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQaXl1c2ggU2hhaCA8c3BpeXVzaEBtYXJ2ZWxsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgZGQ1NDEyNjcxNWI4OWVkMGM0MzMyMmFhNzhiMGRhZDMwNmYwNDNiNgorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglGcmkgSnVuIDE5IDAzOjI3OjI4IDIwMDkgLTA0MDAKKworICAgIHNmOiBzc3Q6IGFkZCBzc3QyNXZmIyMjYiBpZHMKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDdkOTA3ZjBlYTk5M2IxNzlhMTk3ZDhkYjJhMzZmMTIyYmM2NzNjMmQKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJRnJpIEp1biAxOSAwMzoyMDowNiAyMDA5IC0wNDAwCisKKyAgICBzZjogc3N0OiBmaXggc2VjdG9yIHNpemUKKworICAgIExvb2tzIGxpa2Ugd2hlbiBJIHdhcyBlbmNvZGluZyB0aGUgc2VjdG9yIHNpemVzLCBJIGZvcmdvdCB0byBkaXZpZGUgYnkgOAorICAgIChkdWUgdG8gdGhlIHN0dXBpZCBtYXJrZXRpbmcgZHJpdmVuIHByb2Nlc3MgdGhhdCBkZWNsYXJlcyBhbGwgc2l6ZXMgaW4KKyAgICB1c2VsZXNzIG1lZ2FiaXRzIGFuZCBub3QgbWVnYWJ5dGVzKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGNlYjcwYjQ2NmU3NWNlYjFhNjIxYjYxNjNmN2UzMTExNmJmYzgwOTQKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBKdWwgNSAwMTowNjowNiAyMDA5ICswMjAwCisKKyAgICBuaGs4ODE1OiBmaXggTUFLRUFMTAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGQwOGU1Y2EzMDFiNjlhYjc3ZWNkZDM0ZTJiMDZhZWUzMGQ2MDU3ZDEKK0F1dGhvcjogTWFnbnVzIExpbGphIDxsaWxqYS5tYWdudXNAZ21haWwuY29tPgorRGF0ZToJU2F0IEp1bCA0IDEwOjMxOjI0IDIwMDkgKzAyMDAKKworICAgIE1YMzE6IEFkZCBOQU5EIFNQTCBib290IHN1cHBvcnQgdG8gaS5NWDMxIFBESyBib2FyZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hZ251cyBMaWxqYSA8bGlsamEubWFnbnVzQGdtYWlsLmNvbT4KKworY29tbWl0IDc4ZWFiYjkwYjc5M2ZhZmU4NzVhNzQ2OTUyNmQxNzE1ZmE1NmNiYjQKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJTW9uIEp1biAyOSAyMDo1NTo1NCAyMDA5ICswNTMwCisKKyAgICBhcm06IEtpcmt3b29kOiBhcmNoIHNwZWNpZmljIHVwZGF0ZWQgZm9yIGVoY2ktS2lya3dvb2QgZHJpdmVyIHN1cHBvcnQKKworICAgIFRoaXMgcGF0Y2ggYWJzdHJhY3RzIEtpcmt3b29kIGFyY2ggc3BlY2lmaWMgY2hhbmdlcyB0byBzdXBwb3J0IGVoY2kta2lya3dvb2QgZHJpdmVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKK2NvbW1pdCAwOTVhNDYwYjQ5MDIyZTY0ZGY3NjEzNDMwMDY0MzYwNmUzYWNiNGU5CitBdXRob3I6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+CitEYXRlOglNb24gSnVuIDI5IDEwOjUyOjM3IDIwMDkgKzAyMDAKKworICAgIGFybSBub21hZGlrOiB1c2UgMTAwMCBhcyBIWiB2YWx1ZSBhbmQgcmV3cml0ZSB0aW1lciBjb2RlCisKKyAgICBUaGlzIHNldHMgQ09ORklHX1NZU19IWiB0byAxMDAwIGFzIHJlcXVpcmVkLCBhbmQgY29tcGxldGVseSByZXdyaXRlcworICAgIHRpbWVyIGNvZGUsIHdoaWNoIGlzIG5vdyBib3RoIGNvcnJlY3QgYW5kIG11Y2ggc21hbGxlci4gIFVudXNlZAorICAgIGZ1bmN0aW9ucyBsaWtlIHVkZWxheV9tYXNrZWQoKSBoYXZlIGJlZW4gcmVtb3ZlZCBhcyBubyBkcml2ZXIgdXNlcworICAgIHRoZW0sIGV2ZW4gdGhlIG9uZXMgdGhhdCBhcmUgbm90IGN1cnJlbnRseSBhY3RpdmUgZm9yIHRoaXMgYm9hcmQuCisgICAgbXR1LmggaXMgY29waWVkIGxpdGVyYWxseSBmcm9tIHRoZSBrZXJuZWwgc291cmNlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+CisgICAgQWNrZWQtYnk6IEFuZHJlYSBHYWxsbyA8YW5kcmVhLmdhbGxvQHN0ZXJpY3Nzb24uY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCBmN2FhNTliMjlhNDUxY2M1MDIwNzhhOWU0YmEzMjM0NWE0MjUwYzA1CitBdXRob3I6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+CitEYXRlOglNb24gSnVuIDIyIDA5OjE4OjU3IDIwMDkgKzAyMDAKKworICAgIGFybSBub21hZGlrOiBhbGxvdyBOYW5kIGFuZCBPbmVOYW5kIHRvIGNvZXhpc3RzCisKKyAgICBUaGUgZXZhbHVhdGlvbiBraXQgaGFzIGJvdGggTmFuZCBhbmQgT25lTmFuZCwgYm90aCBkcml2ZXJzIGFyZSB0aGVyZQorICAgIGFuZCB0aGUgdHdvIGNvbmZpZ3VyYXRpb25zIG9ubHkgc2VsZWN0IGEgZGlmZmVyZW50IGRlZmF1bHQgZm9yIHRoZQorICAgIGpmZnMgcGFydGl0aW9uLiBUaGlzIGFkZHMgdGhlIE9uZU5hbmQgZHJpdmVyIGFuZCBjbGVhbnMgdXAgc3RvcmFnZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+CisgICAgQWNrZWQtYnk6IEFuZHJlYSBHYWxsbyA8YW5kcmVhLmdhbGxvQHN0ZXJpY3Nzb24uY29tPgorCitjb21taXQgZmQxNGM0MWE4NjFjZDM4ZWUyZmUzYWJkNjFkNTliNTdiNGViMjNjOQorQXV0aG9yOiBBbGVzc2FuZHJvIFJ1YmluaSA8cnViaW5pQHVuaXB2Lml0PgorRGF0ZToJTW9uIEp1biAyMiAwOToxODo0NyAyMDA5ICswMjAwCisKKyAgICBhcm0gbm9tYWRpazogY2xlYW51cCByZXNldAorCisgICAgVGhlcmUgaXMgb25seSBvbmUgcHVibGljIHJlbGVhc2Ugb2YgdGhlIE5vbWFkaWsgY2hpcCwgc28gdGhlIGlmZGVmCisgICAgaW4gcmVzZXQgY29kZSBhcyB3ZWxsIGFzIGEgZGVmaW5lIGluIHRoZSBjb25maWcgZmlsZSBhcmUgbm90IG5lZWRlZAorCisgICAgU2lnbmVkLW9mZi1ieTogQWxlc3NhbmRybyBSdWJpbmkgPHJ1YmluaUB1bmlwdi5pdD4KKyAgICBBY2tlZC1ieTogQW5kcmVhIEdhbGxvIDxhbmRyZWEuZ2FsbG9Ac3Rlcmljc3Nvbi5jb20+CisKK2NvbW1pdCBlZTEzNjNmMmRhMzk5NmJhZmRlY2RkOGY0ZTQ4ODYyZWJmZjNmMjcxCitBdXRob3I6IEFsZXNzYW5kcm8gUnViaW5pIDxydWJpbmlAdW5pcHYuaXQ+CitEYXRlOglNb24gSnVuIDIyIDA5OjE4OjM3IDIwMDkgKzAyMDAKKworICAgIGFybSBub21hZGlrOiByZW5hbWUgYm9hcmQgdG8gbmhrODgxNQorCisgICAgVGhpcyBpcyBhbiBlcnJvciBpbiBteSBzaWRlIGluIHRoZSBpbml0aWFsIHN1Ym1pc3Npb246IG5vYm9keQorICAgIGNhbGxzIGl0ICIibm1kazg4MTUiLCBpdCdzICJub21hZGlrIGhhcmR3YXJlIGtpdCIsIG5oazg4MTUsIGluc3RlYWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBBbGVzc2FuZHJvIFJ1YmluaSA8cnViaW5pQHVuaXB2Lml0PgorICAgIEFja2VkLWJ5OiBBbmRyZWEgR2FsbG8gPGFuZHJlYS5nYWxsb0BzdGVyaWNzc29uLmNvbT4KKworY29tbWl0IDA0MGY4ZjYzZTkyMmJiZmI4YmEwOTU4YmY2MzdmMTFhOTE3ZjVjMzgKK0F1dGhvcjogU3RlZmFubyBCYWJpYyA8c2JhYmljQGRlbnguZGU+CitEYXRlOglXZWQgSnVsIDEgMjA6NDA6NDEgMjAwOSArMDIwMAorCisgICAgeHNjYWxlOiBhZGQgc3VwcG9ydCBmb3IgdGhlIHBvbGFyaXMgYm9hcmQKKworICAgIFRoZSBQb2xhcmlzIGJvYXJkIGlzIGJhc2VkIG9uIHRoZSBUcml6ZXBzSVYgbW9kdWxlIG9mCisgICAgS2VpdGggJiBLb2VwIChodHRwOi8vd3d3LmtlaXRoLWtvZXAuY29tKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gQmFiaWMgPHNiYWJpY0BkZW54LmRlPgorCitjb21taXQgODhiZDk3NTAxMzE0NjgzYjg3ZjNmMWVkY2Y1NWIzNDdjMDQxYjcyMgorQXV0aG9yOiBTdGVmYW5vIEJhYmljIDxzYmFiaWNAZGVueC5kZT4KK0RhdGU6CVdlZCBKdWwgMSAwNDozMzo1NiAyMDA5ICswMjAwCisKKyAgICB4c2NhbGU6IGZpeCBVU0IgaW5pdGlhbGl6YXRpb24gZm9yIFRyaXplcHNpdiBtb2R1bGUKKworICAgIER1ZSB0byBjaGFuZ2UgaW4gdGhlIHVzYl9ib2FyZF9pbml0KCkgcHJvdG90eXBlLCB0aGUgVVNCIGZvcgorICAgIHRoZSBUcml6ZXBzSVYgd2FzIG5vdCBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQuCisgICAgUmVtb3ZlZCBkdW1teSBwcmludCBmcm9tIHVzYl9ib2FyZF9zdG9wKCkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIEJhYmljIDxzYmFiaWNAZGVueC5kZT4KKworY29tbWl0IDBiNzg1ZGRkNjAxMjBjZmI3NGQxOGU1OGM1NjA1NDIzODIxOWY2ZGIKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJV2VkIEp1bCAxIDIwOjM0OjUxIDIwMDkgKzAyMDAKKworICAgIG5ldDogbWVyZ2UgYnVnZml4OiBNYXJ2ZWxsIEtpcmt3b29kIGdpZ2FiaXQgZXRoZXJuZXQgZHJpdmVyCisKKyAgICBUaGlzIHBhdGNoIGxvb2tzIG9rYXkgb24gdS1ib290LW5ldC5naXQvbmV4dCBicmFuY2gKKyAgICBidXQgd2hlbiBpdCB3YXMgbWVyZ2VkIHRvIHUtYm9vdC5naXQvbWFzdGVyIHRoZSBsYXN0IGxpbmUgaXMgbWlzc2luZworCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorICAgIEFja2VkLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgMzNiMWQzZjQzYTE2ZmJiNzkwMDQwNzVjZTg5YWU0ZTYxOGIyODhhMgorQXV0aG9yOiBEYW5pZWwgR29yc3Vsb3dza2kgPERhbmllbC5Hb3JzdWxvd3NraUBlc2QuZXU+CitEYXRlOglUdWUgSnVuIDMwIDIxOjAzOjM3IDIwMDkgKzAyMDAKKworICAgIGF0OTE6IEFkZCBlc2QgZ21iaCBNRUVTQyBib2FyZCBzdXBwb3J0CisKKyAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgZXNkIGdtYmggTUVFU0MgYm9hcmQuCisgICAgVGhlIE1FRVNDIGlzIGJhc2VkIG9uIGFuIEF0bWVsIEFUOTFTQU05MjYzIFNvQy4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhbmllbCBHb3JzdWxvd3NraSA8RGFuaWVsLkdvcnN1bG93c2tpQGVzZC5ldT4KKworY29tbWl0IDIxNzYxNTQwYjQzYzcwODZjNzVlZTlhZmI0MTJkYTFlNWRkZGUyZTkKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVR1ZSBKdW4gMzAgMjE6MDM6MzUgMjAwOSArMDIwMAorCisgICAgQVJNOiBVcGRhdGUgbWFjaC10eXBlcworCisgICAgdXBkYXRlIGFnYWluc3QgbGludXggdjIuNi4zMAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDQ1NjI3ZmNlMTgxMzlhNzRlMDc1NTEyNGQyNzM3NmI1MjBkYjE1NmMKK0F1dGhvcjogRGFuaWVsIEdvcnN1bG93c2tpIDxEYW5pZWwuR29yc3Vsb3dza2lAZXNkLmV1PgorRGF0ZToJVHVlIEp1biAzMCAyMzowMzozMyAyMDA5ICswMjAwCisKKyAgICBhdDkxOiBBZGQgQ0FOIGluaXQgZnVuY3Rpb24KKworICAgIFRvIGVuYWJsZSBDQU4gaW5pdCwgQ09ORklHX0NBTiBoYXMgdG8gYmUgZGVmaW5lZCBpbiB0aGUgYm9hcmQgY29uZmlnIGZpbGUKKyAgICBhbmQgYXQ5MV9jYW5faHdfaW5pdCgpIGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIGJvYXJkIHNwZWNpZmljIGNvZGUuCisKKyAgICBDQU4gaXMgYXZhaWxhYmxlIG9uIEFUOTFTQU05MjYzIGFuZCBBVDkxQ0FQOSBTb0MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgR29yc3Vsb3dza2kgPERhbmllbC5Hb3JzdWxvd3NraUBlc2QuZXU+CisKK2NvbW1pdCAyZTIzMDA4ZTVkYmRlN2ZlNGM0NzU4YmVlNWEzOTNlMWRiNzk2Y2RmCitBdXRob3I6IFNpbW9uIEthZ3N0cm9tIDxzaW1vbi5rYWdzdHJvbUBuZXRpbnNpZ2h0Lm5ldD4KK0RhdGU6CVR1ZSBKdW4gMzAgMjM6MDM6MzEgMjAwOSArMDIwMAorCisgICAgYXJtOiBLaXJrd29vZDogQ29ycmVjdCBoZWFkZXIgZGVmaW5lCisKKyAgICBDb3JyZWN0IGRlZmluZSB0eXBvICguIC0+ICwpCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLYWdzdHJvbSA8c2ltb24ua2Fnc3Ryb21AbmV0aW5zaWdodC5uZXQ+CisKK2NvbW1pdCA4NDQ5ZjI4N2Y1YzUzZDU5ZGIxM2MzYzUxMmU2YmQxNzUwYjY5MmQxCitBdXRob3I6IE1hZ251cyBMaWxqYSA8bGlsamEubWFnbnVzQGdtYWlsLmNvbT4KK0RhdGU6CVdlZCBKdWwgMSAwMTowNzo1NSAyMDA5ICswMjAwCisKKyAgICBNWDMxOiBBZGQgYmFzaWMgc3VwcG9ydCBmb3IgRnJlZXNjYWxlIGkuTVgzMSBQREsgYm9hcmQuCisKKyAgICBBZGQgc3VwcG9ydCBmb3IgRnJlZXNjYWxlJ3MgaS5NWDMxIFBESyBib2FyZCAoYS5rLmEuIDMgc3RhY2sgYm9hcmQpLgorCisgICAgVGhpcyBwYXRjaCBhc3N1bWVzIHRoYXQgc29tZSBvdGhlciBwcm9ncmFtIHBlcmZvcm1zIHRoZSBhY3R1YWwKKyAgICBOQU5EIGJvb3QuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYWdudXMgTGlsamEgPGxpbGphLm1hZ251c0BnbWFpbC5jb20+CisgICAgQWNrZWQtYnk6IEZhYmlvIEVzdGV2YW0gPGZhYmlvZXN0ZXZhbUB5YWhvby5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDhkNDYwYTU3M2UyYTJhYzQ4MzQ2MzY5MDM4NjVhMDQyOGFkMGU2MjkKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVR1ZSBKdW4gMjMgMDA6MTI6MDEgMjAwOSArMDIwMAorCisgICAgUzNDMjR4MDogZXh0cmFjdCBpbnRlcnJ1cHRzIGZyb20gdGltZXIKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCBjOGJhZGJlNTAwYTc1MmY0MjA0OWU1MTA0Mjc2N2VlNjJlYTcxNGUwCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTdW4gSnVuIDI4IDE0OjE0OjIxIDIwMDkgKzAyMDAKKworICAgIGRtMzU1L3BtOTI2MTogYWRkIG1pc3NpbmcgQ09ORklHX05FVF9NVUxUSQorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDc5OGJmOWE5YWRlMWNmYmU4NWExNmQxODBjYWQ3MjA5MjdkOGUxMGEKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVR1ZSBKdW4gMjMgMDA6MTI6MDEgMjAwOSArMDIwMAorCisgICAgYXJtOTIwdC9pbnRlcnJ1cHRzOiBNb3ZlIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRvIE1ha2VmaWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgMDZlNzU4ZTc1Yzc5Y2U4NzYxODY2YmY4MTY1YzQ0MzU4NGEyMDg5MworQXV0aG9yOiBLaW0sIEhldW5nIEp1biA8cml2ZXJmdWxAZ21haWwuY29tPgorRGF0ZToJU2F0IEp1biAyMCAxMTowMjoxNyAyMDA5ICswMjAwCisKKyAgICBtb3ZlIEwyIGNhY2hlIGVuYWJsZS9kaXNhYmxlIGZ1bmN0aW9uIHRvIGNhY2hlLmMgaW4gdGhlIG9tYXAzIFNvQyBkaXJlY3RvcnkKKworICAgIFNpZ25lZC1vZmYtYnk6IEhldW5nSnVuLCBLaW0gPHJpdmVyZnVsLmtpbUBzYW1zdW5nLmNvbT4KKyAgICBDQzogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgZDU4M2VmNTE0NzA2NmQzNjA5ZGUyMWYzYmVlYmJhYjk5YTE5YmFkNAorQXV0aG9yOiBUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CitEYXRlOglTYXQgSnVuIDIwIDExOjAyOjE3IDIwMDkgKzAyMDAKKworICAgIEFSTSBEYVZpbmNpOiBFTUlGIHNldHRpbmdzCisKKyAgICBOQU5EIG1vZHVsZSBzaG91bGQgbm90IG1vZGlmeSBFTUlGIHJlZ2lzdGVycyB1bnJlbGF0ZWQgdG8gQ1MyCisgICAgdGhhdCBpcyB1c2VkIGZvciBOQU5ELCBpLmUuIGRvIG5vdCBtb2RpZnkgRVdBSVQgY29uZmlnIHJlZ2lzdGVyCisgICAgb3IgcmVnaXN0ZXJzIGZvciBvdGhlciBDaGlwIFNlbGVjdHMuCisKKyAgICBXaXRob3V0IHRoaXMgcGF0Y2gsIEVNSUYgY29uZmlndXJhdGlvbnMgbWFkZSBpbiBib2FyZF9pbml0KCkKKyAgICB3aWxsIGJlIGludmFsaWRhdGVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbmdlIDx0aG9tYXNAY29yZWxhdHVzLnNlPgorCitjb21taXQgMjYwMGI4NTcxYTI2YzEwYzFjNDM0MDFkN2FmMzhlMjMzM2NjNTM4MQorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU2F0IEp1biAyMCAxMTowMjoxNyAyMDA5ICswMjAwCisKKyAgICB2ZXJzYXRpbGU6IGNvbmZpZyBjb2Rpbmcgc3R5bGUgY2xlYW51cAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAgICBDYzogUGV0ZXIgUGVhcnNlIDxwZXRlci5wZWFyc2VAYXJtLmNvbT4KKworY29tbWl0IDRlZmI3N2Q0MWY5YzVkOTNmMGY5MmRkYTYwZTc0MjAyM2ZhMDNjNzIKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJU2F0IEp1biAyMCAxMTowMTo1MyAyMDA5ICswMjAwCisKKyAgICBhcm06IEtpcmt3b29kOiBCYXNpYyBTT0NzIHN1cHBvcnQKKworICAgIEtpcmt3b29kIGZhbWlseSBjb250cm9sbGVycyBhcmUgaGlnaGx5IGludGVncmF0ZWQgU09DcworICAgIGJhc2VkIG9uIEZlcm9jZW9uLTg4RlIxMzEvU2hlZXZhLTg4U1YxMzEvYXJtOTI2ZWpzIGNwdSBjb3JlLgorCisgICAgU09DIHZlcnNpb25zIHN1cHBvcnRlZDotCisgICAgMSkgODhGNjI4MS1BMAlkZWZpbmUgQ09ORklHX0tXODhGNjI4MV9BMAorICAgIDIpIDg4RjYxOTItQTAJZGVmaW5lIENPTkZJR19LVzg4RjYxOTJfQTAKKworICAgIE90aGVyIHN1cHBvcnRlZCBmZWF0dXJlczotCisgICAgMSkgZ2V0X3JhbmRvbV9oZXgoKSBmdWNudGlvbgorICAgIDIpIFBDSSBFeHByZXNzIHBvcnQgaW5pdGlhbGl6YXRpb24KKyAgICAzKSBOUzE2NTUwIGRyaXZlciBzdXBwb3J0CisKKyAgICBDb250cmlidXRvcnM6CisgICAgWW90YW0gQWRtb24gPHlvdGFtQG1hcnZlbGwuY29tPgorICAgIE1pY2hhZWwgQmxvc3RlaW4gPG1pY2hhZWxibEBtYXJ2ZWxsLmNvbQorCisgICAgUmV2aWV3ZWQtYnk6IFJvbmVuIFNoaXRyaXQgPHJzaGl0cml0QG1hcnZlbGwuY29tPgorICAgIEFja2VkLWJ5OiBTdGVmYW4gUm9zZSA8c3JAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKK2NvbW1pdCA1YzNkNTgxN2U1ZTY4YjgyOGMxNjVjNTAxYzIxNWU3OTNkYzYzYWFjCitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CVNhdCBKdW4gMjAgMTE6MDE6NTIgMjAwOSArMDIwMAorCisgICAgYXJtOiBnZW5lcmljIGNhY2hlLmggZm9yIEFSTSBhcmNoaXRlY3R1cmVzCisKKyAgICBUaGlzIHBhdGNoIGlzIHJlcXVpcmVkIGZvciBLaXJrd29vZCBTb0Mgc3VwcG9ydAorICAgIG1heSBiZSB1c2VkIGJ5IG90aGVyIEFSTSBhcmNoaXRlY3R1cmVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisKK2NvbW1pdCA5YzhjNzA2YzkyZTUzNDMzYTg3MWE1NjM5NDZjMzgwNzVkNzY1MDRkCitBdXRob3I6IE1hdHRoaWFzIEx1ZHdpZyA8bWx1ZHdpZ0B1bHRyYXRyb25pay5kZT4KK0RhdGU6CVNhdCBKdW4gMjAgMTE6MDE6NTAgMjAwOSArMDIwMAorCisgICAgT01BUDNFVk06IGZpeCB0eXBvLiByZXBsYWNlIENTNiBieSBDUzUsIG5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBMdWR3aWcgPG1sdWR3aWdAdWx0cmF0cm9uaWsuZGU+CisKK2NvbW1pdCAwYWFmZGUxZGM3NmQ2ZDY1ZDZiZTEwYmY0OTllYzg2ZDlmZmVlOGI5CitBdXRob3I6IFNlZGppIEdhb3Vhb3UgPHNlZGppLmdhb3Vhb3VAYXRtZWwuY29tPgorRGF0ZToJV2VkIEp1biAyNCAwODozMjowOSAyMDA5ICswMjAwCisKKyAgICBhdDkxc2FtOTI2MC85MjYzOiBhZGQgYmFjayB1cCBmb3IgdGhlIHJzdChyZXNldCBjb250cm9sbGVyKS4KKworICAgIE9uIHRoZSBib2FyZHMgYXQ5MXNhbTkyNjBlaywgYXQ5MXNhbTkyNjNlayBhbmQgYWZlZDkyNjAsIHRoZSByc3RjIHJlZ2lzdGVyIHdhcworICAgIHNldCB0byAwIGFmdGVyIGJlaW5nIHNldCB0byA1MDAgbXMgZm9yIHRoZSBQSFkgcmVzZXQuCisgICAgRG8gYmFja3VwIHRoZSBvbGQgcmVzZXQgbGVuZ3RoIGFuZCByZXN0b3JlIGl0IGFmdGVyIHRoZSBNQUNCIGluaXRpYWxpc2F0aW9uLgorCisgICAgU2lnbmVkLW9mZi1ieTogU2VkamkgR2FvdWFvdSA8c2VkamkuZ2FvdWFvdUBhdG1lbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlbGlhbiBQb3AgPHN0ZWxpYW5AcG9waWVzLm5ldD4KKworY29tbWl0IGFmYjBiMTMxNWMwNDhjZTJiMWYzNWYwMTgzYjhiMTE4YWQwYzE0ZTEKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CUZyaSBKdWwgMyAxMjo0NTo0NCAyMDA5IC0wNTAwCisKKyAgICBmc2w6IEZpeCBjb21waWxlciB3YXJuaW5ncyBmcm9tIGdjYy00LjQgaW4gc3lzX2VlcHJvbSBjb2RlCisKKyAgICBzeXNfZWVwcm9tLmM6IEluIGZ1bmN0aW9uICdkb19tYWMnOgorICAgIHN5c19lZXByb20uYzozMjM6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcworICAgIHN5c19lZXByb20uYzogSW4gZnVuY3Rpb24gJ21hY19yZWFkX2Zyb21fZWVwcm9tJzoKKyAgICBzeXNfZWVwcm9tLmM6Mzk1OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBlOTRlNDYwYzZlODc0MWY0MmRhYjZkOGRkNGI1OTZiYTVkOWQ3OWFlCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUdWUgSnVuIDMwIDE3OjE1OjUxIDIwMDkgLTA1MDAKKworICAgIDgzeHg6IEFkZCBzdXBwb3J0IGZvciBmc2xfZG1hIGRyaXZlcgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBSZXZpZXdlZC1ieTogSXJhIFcuIFNueWRlciA8aXdzQG92cm8uY2FsdGVjaC5lZHU+CisgICAgVGVzdGVkLWJ5OiBJcmEgVy4gU255ZGVyIDxpd3NAb3Zyby5jYWx0ZWNoLmVkdT4KKyAgICBBY2tlZC1ieTogS2ltIFBoaWxsaXBzIDxraW0ucGhpbGxpcHNAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgOWFkZGE1NDU5Y2E2MjEyMGMwYzUwYjgyYjc2NmZlMWNmNjkyNWJiZgorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJVHVlIEp1biAzMCAxNzoxNTo1MCAyMDA5IC0wNTAwCisKKyAgICA4M3h4OiBSZXBsYWNlIENPTkZJR19FQ0NfSU5JVF9WSUFfRERSQyByZWZlcmVuY2VzCisKKyAgICBVcGRhdGUgODN4eCBhcmNoaXRlY3R1cmUncyBDT05GSUdfRUNDX0lOSVRfVklBX0REUkMgcmVmZXJlbmNlcyB0bworICAgIENPTkZJR19FQ0NfSU5JVF9WSUFfRERSQ09OVFJPTExFUiwgd2hpY2ggb3RoZXIgRnJlZXNjYWxlIGFyY2hpdGVjdHVyZXMKKyAgICB1c2UKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgQWNrZWQtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDAzOTU5NGE0MzAxZGFkY2ViMjY3ZGI1ZThiOWM4Yzc4YjFiYjg2YjUKK0F1dGhvcjogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgSnVsIDIgMTY6MTU6MDEgMjAwOSArMDUzMAorCisgICAgOHh4eDogU2Vjb25kIFVBUlQgcG9ydCBhZGRlZCBmb3IgTVBDODV4eCwgTVBDODN4eCwgTVBDODZ4eCBwcm9jZXNzb3JzCisKKyAgICBEZWZpbmluZyB0aGUgbmV4dCB0d28gY29uZmlncyBhbGxvd3MgdG8gc3dpdGNoIHRoZSBzZXJpYWwgcG9ydCBmcm9tIHRoZQorICAgIGNvbnNvbGUgdXNpbmcgdGhlIHNldGVudiBzdGRpbiBhbmQgc3Rkb3V0CisgICAgICAxLiAjZGVmaW5lIENPTkZJR19TRVJJQUxfTVVMVEkgMSAvKiBFbmFibGUgYm90aCBzZXJpYWwgcG9ydHMgKi8KKyAgICAgIDIuICNkZWZpbmUgQ09ORklHX1NZU19DT05TT0xFX0lTX0lOX0VOViAvKiBkZXRlcm1pbmUgZnJvbSBlbnZpcm9ubWVudCAqLworCisgICAgU2lnbmVkLW9mZi1ieTogUG9vbmFtIEFnZ3J3YWwgPHBvb25hbS5hZ2dyd2FsQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogRWQgU3dhcnRob3V0IDxFZC5Td2FydGhvdXRAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNTQ2YjEwMzI5MDdkZjcwZjJkZDBmOThmM2FkMDk4ODVhODg0MTFlNQorQXV0aG9yOiBQb29uYW0gQWdncndhbCA8cG9vbmFtLmFnZ3J3YWxAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBKdWwgMiAxNjoxNDo0MCAyMDA5ICswNTMwCisKKyAgICA4NXh4OiBBZGRzIEdQSU8gcmVnaXN0ZXJzIHRvIE1QQzg1eHggTWVtb3J5IE1hcC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBvb25hbSBBZ2dyd2FsIDxwb29uYW0uYWdncndhbEBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA1ZGE2ZjgwNmI0MDAzNzJiOGEwNjY0ZjMyODJjOWU4M2E0MDJlYjY2CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUdWUgSnVuIDMwIDE3OjI2OjAxIDIwMDkgLTA1MDAKKworICAgIDg2eHg6IFhQZWRpdGU1MTcwIGJvYXJkIHN1cHBvcnQKKworICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgRXh0cmVtZSBFbmdpbmVlcmluZyBTb2x1dGlvbnMgWFBlZGl0ZTUxNzAgLQorICAgIGEgTVBDODY0MC1iYXNlZCAzVSBWUFggc2luZ2xlIGJvYXJkIGNvbXB1dGVyIHdpdGggYSBQTUMvWE1DCisgICAgc2l0ZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGU2NmYzOGRhODQzNDQyNWFjYThkZjA4ZDA2ZDllZjQxYjM0NzhkM2IKK0F1dGhvcjogVGltdXIgVGFiaSA8dGltdXJAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVdlZCBKdWwgMSAxNjo1MTo1OSAyMDA5IC0wNTAwCisKKyAgICBmc2xfZGRyOiBGaXggRERSMyBjYWxjdWxhdGlvbiBvZiByYW5rIGRlbnNpdHkgd2l0aCA4R0Igb3IgbW9yZQorCisgICAgVGhlIGNhbGN1bGF0ZSBmb3IgcmFuayBkZW5zaXR5IGluIGNvbXB1dGVfcmFua3NpemUoKSBmb3IgRERSMyB1c2VkIGFsbAorICAgIGludGVnZXJzIGZvciB0aGUgZXhwcmVzc2lvbiwgc28gdGhlIHJlc3VsdCB3YXMgYWxzbyBhIDMyLWJpdCBpbnRlZ2VyLCBldmVuCisgICAgdGhvdWdoIHRoZSAnYnNpemUnIHZhcmlhYmxlIGlzIGEgdTY0LiAgRml4IHRoZSBleHByZXNzaW9uIHRvIGNhbGN1bGF0ZSBhCisgICAgdHJ1ZSA2NC1iaXQgdmFsdWUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA2YWYwMTViODZiODZkOTRkZTdjYTFiMjNhMzg5MGJjOTNhNTBjMmFiCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUdWUgSnVuIDMwIDE3OjE1OjQ5IDIwMDkgLTA1MDAKKworICAgIGZzbF9kbWE6IE1ha2UgRE1BIHRyYW5zYWN0aW9ucyBzbm9vcGFibGUKKworICAgIE1ha2UgRE1BIHRyYW5zYWN0aW9ucyBzbm9vcGFibGUgc28gdGhhdCBDUFVzIGNhbiBrZWVwIGNhY2hlcyB1cC10by1kYXRlLgorICAgIFRoaXMgYWxsb3dzIGRtYSB0cmFuc2FjdGlvbnMgdG8gYmUgdXNlZCBmb3Igb3BlcmF0aW9ucyBzdWNoIGFzIG1lbW9yeQorICAgIGNvcGllcyB3aXRob3V0IGFueSBhZGRpdGlvbmFsIGNhY2hlIGNvbnRyb2wgb3BlcmF0aW9ucy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDBkNTk1Zjc2YmM5YzdjOGRmZjViZDMxZGZmZWQ4N2E4NDBhMDNjNTYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMzAgMTc6MTU6NDggMjAwOSAtMDUwMAorCisgICAgZnNsX2RtYTogQnJlYWsgb3V0IGNvbW1vbiBtZW1vcnkgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDc5ZjQzMzNjZWIwNTkwNDliM2VlNTYwMTY3ZDZjYmFlYzQ5MzY5NWYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMzAgMTc6MTU6NDcgMjAwOSAtMDUwMAorCisgICAgOHh4eDogTW92ZSBkbWFfaW5pdCgpIGNhbGwgdG8gY29tbW9uIGNvZGUKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDE5MWM3MTE4NTkyY2QxODJmMmRjN2Y0NmI0ZjcyZDliZWQwZTJjNzYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMzAgMTc6MTU6NDYgMjAwOSAtMDUwMAorCisgICAgZnNsX2RtYTogTW92ZSBkbWEgZnVuY3Rpb24gcHJvdG90eXBlcyB0byBjb21tb24gaGVhZGVyIGZpbGUKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDc4OTJmNjE5ZDQwZjQxOTZlNDFlNzExNGM1ZGZlZTlmYWQwZjU3MmYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMzAgMTc6MTU6NDUgMjAwOSAtMDUwMAorCisgICAgOHh4eDogUmVuYW1lIGRtYV94ZmVyKCkgdG8gZG1hY3B5KCkKKworICAgIEFsc28gdXBkYXRlIGRtYWNweSgpJ3MgYXJndW1lbnQgb3JkZXIgdG8gbWF0Y2ggbWVtY3B5J3MgYW5kIHVzZQorICAgIHBoeXNfYWRkcl90L3BoeV9zaXplX3QgZm9yIGFkZHJlc3Mvc2l6ZSBhcmd1bWVudHMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDQ4NDkxOWNmMzM1MTIxMmViZjc0OGI5YjEzZWNlMWRkYWY3ZTdkMWMKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMzAgMTc6MTU6NDQgMjAwOSAtMDUwMAorCisgICAgZnNsX2RtYTogRml4IENoYW5uZWwgU3RhcnQgYnVnIGluIGRtYV9jaGVjaygpCisKKyAgICBUaGUgQ2hhbm5lbCBTdGFydCAoQ1MpIGJpdCBpbiB0aGUgTW9kZSBSZWdpc3RlciAoTVIpIHNob3VsZCBhY3R1YWxseSBiZQorICAgIGNsZWFyZWQgYXMgdGhlIGNvbW1lbnQgaW4gdGhlIGNvZGUgc3VnZ2VzdHMuICBQcmV2aW91c2x5LCBDUyB3YXMgYmVpbmcKKyAgICBzZXQsIG5vdCBjbGVhcmVkLgorCisgICAgQXNzdW1pbmcgbm9ybWFsIG9wZXJhdGlvbiBvZiB0aGUgRE1BIGVuZ2luZSwgdGhpcyBjaGFuZ2Ugc2hvdWxkbid0IGhhdmUKKyAgICBhbnkgcmVhbCBhZmZlY3QuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA1MTQwMmFjMTJiZTlhMDAyNWYxNmRiNTFmYmRlN2MwNTBhNTRlNWZlCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUdWUgSnVuIDMwIDE3OjE1OjQzIDIwMDkgLTA1MDAKKworICAgIGZzbF9kbWE6IEFkZCBzdXBwb3J0IGZvciBhcmJpdHJhcmlseSBsYXJnZSB0cmFuc2ZlcnMKKworICAgIFN1cHBvcnQgRE1BIHRyYW5zZmVycyBsYXJnZXIgdGhhbiB0aGUgRE1BIGNvbnRyb2xsZXIncyBsaW1pdCBvZgorICAgICgyIF4gMjYgLSAxKSBieXRlcworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgYTczMDM5M2EzNjI3NDFjMzE4YjIxNzcxYjhkN2IyNjQ3ZTU0NmMzZQorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJVHVlIEp1biAzMCAxNzoxNTo0MiAyMDA5IC0wNTAwCisKKyAgICBmc2xfZG1hOiBVc2UgcHJvcGVyIEkvTyBhY2Nlc3MgZnVuY3Rpb25zCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA5YzA2MDcxYTYwNzdiYTk1ZTlkNDMyMjYxNTZlMzk1NjdkNWQwNjRhCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUdWUgSnVuIDMwIDE3OjE1OjQxIDIwMDkgLTA1MDAKKworICAgIGZzbF9kbWE6IEFkZCBiaXRmaWVsZCBkZWZpbml0aW9ucyBmb3IgY29tbW9uIHJlZ2lzdGVycworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMDE3ZjExZjY4ZWY1NDNlODY2YmUwMzNiY2I3YjgwNThhOGEzODBkOAorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJVHVlIEp1biAzMCAxNzoxNTo0MCAyMDA5IC0wNTAwCisKKyAgICA4eHh4OiBCcmVhayBvdXQgRE1BIGNvZGUgdG8gYSBjb21tb24gZmlsZQorCisgICAgRE1BIHN1cHBvcnQgaXMgbm93IGVuYWJsZWQgdmlhIHRoZSBDT05GSUdfRlNMX0RNQSBkZWZpbmUgaW5zdGVhZCBvZiB0aGUKKyAgICBwcmV2aW91cyBDT05GSUdfRERSX0VDQworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMjljMzUxODI0NjJmZWVhMDlmMzIyZTUxOTEzNzU5YTUzMzU5YTNlMAorQXV0aG9yOiBSb3kgWmFuZyA8dGllLWZlaS56YW5nQGZyZWVzY2FsZS5jb20+CitEYXRlOglUdWUgSnVuIDMwIDEzOjU2OjIzIDIwMDkgKzA4MDAKKworICAgIDg1eHg6IEFkZCBwY2kgZTEwMDAgRXRoZXJuZXQgc3VwcG9ydCBmb3IgUDIwMjAgYm9hcmQKKworICAgIFNpZ25lZC1vZmYtYnk6IFJveSBaYW5nIDx0aWUtZmVpLnphbmdAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgMTU2OTg0YTM2MTFjMjgwOTM5MTlkM2UzYzA0MmY3MjJiNTU0ODI1MworQXV0aG9yOiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorRGF0ZToJVGh1IEp1biAxOCAwODozOTo0MiAyMDA5IC0wNTAwCisKKyAgICA4eHh4OiBGaXggUENJIGJ1cyBhZGRyZXNzIHNldHVwIGZvciAzNi1iaXQgY29uZmlncworCisgICAgV2Ugd2FudCB0aGUgb3V0Ym91bmQgUENJIG1lbW9yeSBtYXAgdG8gZW5kIGF0IHRoZSA0RyBib3VuZGFyeSBzbyB3ZQorICAgIGNhbiBtYXhpbWl6ZSB0aGUgYW1vdW50IG9mIHNwYWNlIGF2YWlsYWJsZSBmb3IgaW5ib3VuZCBtYXBwaW5ncyBpZgorICAgIHdlIGhhdmUgbGFyZ2UgYW1vdW50cyBvZiBtZW1vcnkuCisKKyAgICBUaGlzIG1hdGNoZXMgdGhlIGRldmljZSB0cmVlIHNldHVwIGluIHRoZSBrZXJuZWwgZm9yIHRoZSAzNi1iaXQgcGh5c2ljYWwKKyAgICBjb25maWdzIGZvciB0aGUgcGxhdGZvcm1zIHRoYXQgaGF2ZSBvbmUgKE1QQzg2NDEgSFBDTiAmIE1QQzg1NzIgRFMpLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDQ4MGY2MTc5MDU2NWQ3NzQzMmI3MGI0MDE2YjczZjJhZTI3ZDUzMGYKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBKdW4gMTggMDg6MjM6MDEgMjAwOSAtMDUwMAorCisgICAgODZ4eDogQWRkIENQVV9UWVBFX0VOVFJZIHN1cHBvcnQKKworICAgIFVuaWZ5IHdpdGggODN4eCBhbmQgODV4eCBhbmQgdXNlIENQVV9UWVBFX0VOVFJZLiAgV2UgYXJlIGdvaW5nIHRvIHVzZQorICAgIHRoaXMgdG8gY29udmV5IHRoZSAjIG9mIGNvcmVzIGFuZCBERFIgd2lkdGggaW4gdGhlIG5lYXIgZnV0dXJlIHNvIGl0cworICAgIGdvb2QgdG8ga2VlcCBpbiBzeW5jLgorCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDk4YWIxNGU4NThiZjYwMzA2ZDBhYTNmMGRmNWE3YTVmODgyNjRhZmYKK0F1dGhvcjogUGV0ZXIgTWVlcndhbGQgPHBtZWVyd0BwbWVlcncubmV0PgorRGF0ZToJTW9uIEp1biAyOSAxNTo0ODozMyAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogVFdJL0kyQzogZml4IHB1cmUgd3JpdGVzCisKKyAgICBJZiBkb2luZyBhIHB1cmUgd3JpdGUgd2l0aCByZWdpc3RlciBhZGRyZXNzIGFuZCBkYXRhIChub3QgYSByZWFkL3dyaXRlCisgICAgY29tYm8gdHJhbnNmZXIpLCB3ZSBkb24ndCBzZXQgdGhlIGluaXRpYWwgdHJhbnNmZXIgbGVuZ3RoIHByb3Blcmx5IHdoaWNoCisgICAgZW5kcyB1cCBjYXVzaW5nIG9ubHkgdGhlIHJlZ2lzdGVyIGFkZHJlc3MgdG8gYmUgdHJhbnNmZXJyZWQuCisKKyAgICBXaGlsZSB3ZSdyZSBoZXJlLCBmaXggdGhlIGkyY193cml0ZSgpIHBhcmFtZXRlciBkZXNjcmlwdGlvbiBvZiB0aGUgYnVmZmVyLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgTWVlcndhbGQgPHBtZWVyd0BwbWVlcncubmV0PgorICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDU3MTBkZTQ1ODA4ZWI4ZjFjYzM0YjUxZGMzZTY3ZTI0MjIxMTMyNDkKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJU2F0IE1heSAzMCAwMToxMzozMyAyMDA5ICswNTMwCisKKyAgICBzcGk6IEFkZCBNYXJ2ZWxsIEtpcmt3b29kIFNQSSBkcml2ZXIKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBhIFNQSSBkcml2ZXIgZm9yIHRoZSBNYXJ2ZWxsIEtpcmt3b29kIFNvQydzLgorCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorCitjb21taXQgNmJkZTE3MWE0YzQxMTZjZWUxNzkxNjdjYjY1MzM1YTI4Zjk5OTMyZAorQXV0aG9yOiBNaW5reXUgS2FuZyA8bWs3LmthbmdAc2Ftc3VuZy5jb20+CitEYXRlOglUaHUgSnVuIDI1IDE5OjIxOjMzIDIwMDkgKzA5MDAKKworICAgIHMzYzY0eHg6IG1vdmUgdGhlIHJlc2V0X2NwdSBmdW5jdGlvbgorCisgICAgQmVjYXVzZSBvZiB0aGUgcmVzZXRfY3B1IGlzIHNvYyBzcGVjaWZpYywgc2hvdWxkIGJlIG1vdmUgdG8gc29jCisgICAgQW5kIHJlYWQgcmVzZXQgdmFsdWUgZnJvbSBTWVNfSUQgcmVnaXN0ZXIgaW5zdGVhZCBvZiBoYXJkIGNvZGUKKyAgICB0aGlzIHBhdGNoIGFsc28gc3VwcG9ydHMgczNjNjQxMAorCisgICAgU2lnbmVkLW9mZi1ieTogTWlua3l1IEthbmcgPG1rNy5rYW5nQHNhbXN1bmcuY29tPgorCitjb21taXQgNTc2YWZkNGZhZWJhMTUxOWJjYjhjMDA4M2MzZTRkNDVlNTY0M2E0OAorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU3VuIE1heSAxNyAwMDo1ODozNyAyMDA5ICswMjAwCisKKyAgICBpbnRlZ3JhdG9yOiBtZXJnZSBpbnRlZ3JhdG9yYXAgYW5kIGludGVncmF0b3JjcAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAgICBBY2tlZC1ieTogUGV0ZXIgUGVhcnNlIDxwZXRlci5wZWFyc2VAYXJtLmNvbT4KKworY29tbWl0IDQ2OTM3YjI3NDI3Njg4YTU2YmY3ZjU5NDRhOTJkOTYyZGM0M2MzZmEKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBNYXkgMTcgMDA6NTg6MzYgMjAwOSArMDIwMAorCisgICAgaW50ZWdyYXRvcmFwL2NwOiB1c2UgY2ZpIGRyaXZlcgorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAgICBBY2tlZC1ieTogUGV0ZXIgUGVhcnNlIDxwZXRlci5wZWFyc2VAYXJtLmNvbT4KKworY29tbWl0IGRlN2EwMWFiZDhhZWIxNjc5NDZmMzkxMzI3ZTFlMGQxZTAxZjkwYzkKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBNYXkgMTcgMDA6NTg6MzYgMjAwOSArMDIwMAorCisgICAgaW50ZWdyYXRvcmFwL2NwL3ZlcnNhdGlsZTogcmVtb3ZlIG5vbiB1c2VkIGZ1bmN0aW9ucworCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAgICBBY2tlZC1ieTogUGV0ZXIgUGVhcnNlIDxwZXRlci5wZWFyc2VAYXJtLmNvbT4KKworY29tbWl0IGY1NDg1MWE2ZTM4NDRiN2UwMTU4MWI1YTk2ODFmMjk0MTE4Yjc1MjkKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBNYXkgMTcgMDA6NTg6MzYgMjAwOSArMDIwMAorCisgICAgaW50ZWdyYXRvcmNwOiBzcGxpdCB0aW1lciBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorICAgIEFja2VkLWJ5OiBQZXRlciBQZWFyc2UgPHBldGVyLnBlYXJzZUBhcm0uY29tPgorCitjb21taXQgMmJjZWYwNzIzZWExMWM0ZTliZmJjZmZmMmE5M2VjMmRhNTIwYjVmMQorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU3VuIE1heSAxNyAwMDo1ODozNiAyMDA5ICswMjAwCisKKyAgICBpbnRlZ3JhdG9yYXA6IHNwbGl0IHRpbWVyIHN1cHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisgICAgQWNrZWQtYnk6IFBldGVyIFBlYXJzZSA8cGV0ZXIucGVhcnNlQGFybS5jb20+CisKK2NvbW1pdCA4NmJhYTA4NWM1MmE3ZjMzNzdhODgwNzQ2NzljNWFjYTliOWU0ZDM4CitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTdW4gTWF5IDE3IDAwOjU4OjM2IDIwMDkgKzAyMDAKKworICAgIGludGVncmF0b3JhcDogc3BsaXQgcGNpIHN1cHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisgICAgQWNrZWQtYnk6IFBldGVyIFBlYXJzZSA8cGV0ZXIucGVhcnNlQGFybS5jb20+CisKK2NvbW1pdCAzNzllOWZjMGEzMTliOGY2YWUxNmQ3NjM1OTBiZjAyM2YzYWZiODdjCitBdXRob3I6IElseWEgWWFub2sgPHlhbm9rQGVtY3JhZnQuY29tPgorRGF0ZToJTW9uIEp1biA4IDA0OjEyOjUwIDIwMDkgKzA0MDAKKworICAgIGFybTogYWRkIHN1cHBvcnQgZm9yIENPTkZJR19HRU5FUklDX01NQworCisgICAgU2lnbmVkLW9mZi1ieTogSWx5YSBZYW5vayA8eWFub2tAZW1jcmFmdC5jb20+CisKK2NvbW1pdCA0N2QxOWRhNGQzZjlhYzQ3ODdhYmU5ZGVlMzI0MDY0Nzg0MjRiZTUyCitBdXRob3I6IElseWEgWWFub2sgPHlhbm9rQGVtY3JhZnQuY29tPgorRGF0ZToJTW9uIEp1biA4IDA0OjEyOjQ2IDIwMDkgKzA0MDAKKworICAgIHNlcmlhbF9teDMxOiBhbGxvdyBpdCB0byB3b3JrIHdpdGggbXgyNyB0b28gYW5kIHJlbmFtZSB0byBzZXJpYWxfbXhjCisKKyAgICBVQVJUIGhhcmR3YXJlIG9uIGkuTVgyNyBpcyB0aGUgc2FtZSBhcyBvbiB0aGUgaS5NWDMxIHNvIHdlIGp1c3QKKyAgICBuZWVkIHRvIHByb3ZpZGUgdGhlIGRyaXZlciB3aXRoIGNvcnJlY3QgYWRkcmVzcyBvZiB0aGUgcmVnaXN0ZXJzLgorCisgICAgU2lnbmVkLW9mZi1ieTogSWx5YSBZYW5vayA8eWFub2tAZW1jcmFmdC5jb20+CisKK2NvbW1pdCAxZGM0ZGE3NDlkYmRlMjdlYzg2MmY1YjY1NzAzZThlNDU0MWZiYmEzCitBdXRob3I6IElseWEgWWFub2sgPHlhbm9rQGVtY3JhZnQuY29tPgorRGF0ZToJTW9uIEp1biA4IDA0OjEyOjQ1IDIwMDkgKzA0MDAKKworICAgIG14Mjc6IGJhc2ljIGNwdSBzdXBwb3J0CisKKyAgICBUaGlzIHBhdGNoIGFkZHMgZ2VuZXJpYyBjb2RlIHRvIHN1cHBvcnQgRnJlZXNjYWxlJ3MgaS5NWDI3IFNvQ3MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBJbHlhIFlhbm9rIDx5YW5va0BlbWNyYWZ0LmNvbT4KKworY29tbWl0IGRkMmY2OTY1YTZjNzFmNmY3MTFlYzk4ODI3ODgwMTUyZTAyMmMyMzYKK0F1dGhvcjogTWFnbnVzIExpbGphIDxsaWxqYS5tYWdudXNAZ21haWwuY29tPgorRGF0ZToJU2F0IEp1biAxMyAyMDo1MDowMyAyMDA5ICswMjAwCisKKyAgICBpLk1YMzE6IENyZWF0ZSBhIGNvbW1vbiBkZXZpY2UgZmlsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1hZ251cyBMaWxqYSA8bGlsamEubWFnbnVzQGdtYWlsLmNvbT4KKworY29tbWl0IDk1OGY3ZGE3ODg3ZmVhNGEyMDkxYWU2MDk0NGQ2MmMxNzA4YzJjNTUKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVNhdCBKdW4gMTMgMjA6NTA6MDIgMjAwOSArMDIwMAorCisgICAgQVJNOiBBZGQgbWFjcm9zLmggdG8gYmUgdXNlZCBpbiBhc3NlbWJsZXIgZmlsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA0MGM2NDJiYzE5YjlmYTI5MDZlMzE3MjQ4N2E1MjJmZWU0NTYzNDBiCitBdXRob3I6IE1hZ251cyBMaWxqYSA8bGlsamEubWFnbnVzQGdtYWlsLmNvbT4KK0RhdGU6CVNhdCBKdW4gMTMgMjA6NTA6MDEgMjAwOSArMDIwMAorCisgICAgTVgzMTogQWRkIE5BTkQgU1BMIGZvciBpLk1YMzEuCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgdGhlIE5BTkQgU1BMIGZyYW1ld29yayBuZWVkZWQgdG8gYm9vdCBpLk1YMzEgYm9hcmRzCisgICAgZnJvbSBOQU5ELgorCisgICAgSXQgaGFzIGJlZW4gdGVzdGVkIG9uIGEgaS5NWDMxIFBESyBib2FyZCB3aXRoIGxhcmdlIHBhZ2UgTkFORC4gU21hbGwKKyAgICBwYWdlIE5BTkRzIHNob3VsZCB3b3JrIGFzIHdlbGwsIGJ1dCB0aGlzIGhhcyBub3QgYmVlbiB0ZXN0ZWQuCisKKyAgICBOb3RlOiBUaGUgaS5NWDMxIE5GQyB1c2VzIGEgbm9uLXN0YW5kYXJkIGxheW91dCBmb3IgbGFyZ2UgcGFnZSBOQU5EcywKKyAgICB3aGV0aGVyIHRoaXMgaXMgY29tcGF0aWJsZSB3aXRoIGEgcGFydGljdWxhciBzZXR1cCBkZXBlbmRzIG9uIGhvdworICAgIHRoZSBOQU5EIGRldmljZSBpcyBwcm9ncmFtbWVkIGJ5IHRoZSBmbGFzaCBwcm9ncmFtbWVyIChlLmcuIEpUQUcKKyAgICBkZWJ1Z2dlcikuCisKKyAgICBUaGUgcGF0Y2ggaXMgYmFzZWQgb24gdGhlIHdvcmsgYnkgTWF4aW0gQXJ0YW1vbm92LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWF4aW0gQXJ0YW1vbm92IDxzY24xODc0QHlhbmRleC5ydT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNYWdudXMgTGlsamEgPGxpbGphLm1hZ251c0BnbWFpbC5jb20+CisKK2NvbW1pdCBkZjgxMjM4YjNlMjdhNzkxZGE5OTZhOTIwODQwMmFjOGY0MGI5ODYyCitBdXRob3I6IE1hZ251cyBMaWxqYSA8bGlsamEubWFnbnVzQGdtYWlsLmNvbT4KK0RhdGU6CVNhdCBKdW4gMTMgMjA6NTA6MDAgMjAwOSArMDIwMAorCisgICAgQVJNMTEzNjogSW50cm9kdWNlIENPTkZJR19QUkVMT0FERVIgbWFjcm8uCisKKyAgICBDdXJyZW50bHkgQ09ORklHX09ORU5BTkRfSVBMIGlzIHVzZWQgaW4gYSBudW1iZXIgb2YgI2lmZGVmJ3MKKyAgICBpbiBzdGFydC5TLiBJbiBwcmVwYXJhdGlvbiBmb3IgYWRkaW5nIHN1cHBvcnQgZm9yIE5BTkQgU1BMCisgICAgdGhlIG1hY3JvIENPTkZJR19QUkVMT0FERVIgaXMgaW50cm9kdWN0ZWQgYW5kIHJlcGxhY2VzIHRoZQorICAgIENPTkZJR19PTkVOQU5EX0lQTCBpbiBzdGFydC5TLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWFnbnVzIExpbGphIDxsaWxqYS5tYWdudXNAZ21haWwuY29tPgorCitjb21taXQgODA5NmM1MWZkNGU2MTFlZDY2NmRiZTc3NzY3ZTgxYWY1ZDk0ZmM3YgorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU2F0IEp1biAxMyAxMjo1MDowNCAyMDA5ICswMjAwCisKKyAgICBhdDkxOiB1bmlmeSBub3IgYm9vdCBzdXBwb3J0CisKKyAgICB0aGUgbG93bGV2ZWwgaW5pdCBzZXF1ZW5jZSBpcyB0aGUgc2FtZSBzbyB1bmlmeSBpdAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDFiM2I3YzY0MGQwNGRmMmJhOWE5ZDk0NzExN2QxMTJhNzVmZWU3ZjQKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVNhdCBKdW4gMTMgMTI6NDg6MzYgMjAwOSArMDIwMAorCisgICAgYXQ5MXNhbTkyNjNlazogYWRkIG5vciBmbGFzaCBzdXBwb3J0CisKKyAgICB0aGlzIHdpbGwgYWxsb3cgeW91IHRvIHN0b3JlIHVzZSBpdCBmb3IgdGhlIGVudiBhbmQgdG8gYm9vdCBkaXJlY3RseSBVLUJvb3QgZnJvbQorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDMyOTQ5MjMyOTcwMDgxMmM2ZGYyNzVhYTBmZGEwOWQ2MDljZDBmZDQKK0F1dGhvcjogSWxrbyBJbGlldiA8aWxpZXZAcm9uZXRpeC5hdD4KK0RhdGU6CUZyaSBKdW4gMTIgMjE6MjA6MzkgMjAwOSArMDIwMAorCisgICAgYXQ5MTogYWRkIHN1cHBvcnQgZm9yIHRoZSBQTTkyNjEgYm9hcmQgb2YgUm9uZXRpeCBHbWJICisKKyAgICBUaGUgUE05MjYxIGJvYXJkIGlzIGJhc2VkIG9uIHRoZSBBVDkxU0FNOTI2MS1FSyBib2FyZC4KKworICAgIEhlcmUgaXMgdGhlIHBhZ2Ugb24gUm9uZXRpeCB3ZWJzaXRlOgorICAgIGh0dHA6Ly93d3cucm9uZXRpeC5hdC9zdGFydGVyX2tpdF85MjYxLmh0bWwKKworICAgIFNpZ25lZC1vZmYtYnk6IElsa28gSWxpZXYgPGlsaWV2QHJvbmV0aXguYXQ+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDAxNTUwYTJiNjUwZmJhYmMwMzMzNGY5ZWFkY2M2MDgzNjAxYTI0MTQKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CUZyaSBKdW4gMTIgMjE6MjA6MzggMjAwOSArMDIwMAorCisgICAgcG05MjYzOiB1c2UgbWFjcm8gaW5zdGVhZCBvZiBoYXJkY29kZSB2YWx1ZSBmb3IgdGhlIGxvd2xldmVsX2luaXQKKworICAgIG9wdGltaXplIGEgZmV3IHRoZSBSQU0gaW5pdAorCisgICAgU2lnbmVkLW9mZi1ieTogSWxrbyBJbGlldiA8aWxpZXZAcm9uZXRpeC5hdD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgN2ExMWM3Zjk3NDcyNDBkYzc3MDk1NGQzMjA1Njk1OTZjMGZiY2I1MAorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJRnJpIEp1biAxMiAyMToyMDozNyAyMDA5ICswMjAwCisKKyAgICBwbTkyNjM6IGxvd2xldmVsIGluaXQgdXBkYXRlCisKKyAgICBtb3ZlIFBTUkFNIGluaXQgdG8gcG05MjYzLmMKKyAgICB0aGlzIHdpbGwgYWxsb3cgdXMgYWZ0ZXIgdG8gbWFrZSB0aGUgbm9yIGxvd2xldmVsX2luaXQgZ2VuZXJpYworCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDNlODgzMzdiMjI1YmY3OTZmNmRmMjFkMGE3ZjU5MTUzMGU5ZDRjZTAKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJTW9uIEp1biAxNSAwMDoyNToxOSAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogbW92ZSBBTEwgKz0gdS1ib290LmxkciB0byBibGFja2Zpbl9jb25maWcubWsKKworICAgIFRoZSB3YXkgdGhlIEFMTCB2YXJpYWJsZSBpcyB1c2VkIGFsbG93cyBmb3IgY29uZmlnLm1rJ3MgdG8gYWRkIG1vcmUKKyAgICB0YXJnZXRzIHRoZW1zZWx2ZXMgd2l0aG91dCBoYXZpbmcgdG8gY2x1dHRlciB1cCB0aGUgdG9wIGxldmVsIE1ha2VmaWxlLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgYWZhYzhiMDcxNzJkN2U0YTY1Zjg2Y2UxZWM0Yzc4M2E2MTY1YmExZgorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gSnVuIDE0IDIyOjI5OjM1IDIwMDkgLTA0MDAKKworICAgIEJsYWNrZmluOiBmaXggU1BJIGZsYXNoIHNwZWVkIGRlZmluZSBuYW1lCisKKyAgICBUaGUgU1BJIGZsYXNoIGRlZmluZSBpcyBuYW1lZCBDT05GSUdfU0ZfREVGQVVMVF9TUEVFRCwgbm90CisgICAgQ09ORklHX1NGX0RFRkFVTFRfSFosIHNvIGZpeCB0aGUgdHlwb3MgaW4gdGhlIEJsYWNrZmluIGJvYXJkcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDlhZTU1Y2NmNjAxZGU3YTViNzVlYjQxOGYzZmMzZDVlY2E5MmMxMDYKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJU3VuIEp1biAxNCAyMjoyNjozMSAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogZW5hYmxlIC1PMiBpbiBsaWJfZ2VuZXJpYy8gZm9yIEFESS9CbHVldGVjaG5peCBib2FyZHMKKworICAgIEJ1aWxkaW5nIHRoZSBjb21wcmVzc2lvbiBjb2RlIGluIGxpYl9nZW5lcmljLyB3aXRoIC1PMiByYXRoZXIgdGhhbiAtT3MKKyAgICBnaXZlcyBhIG5pY2Ugc3BlZWQgYm9vc3Qgd2l0aG91dCB0b28gbXVjaCBjb2RlIHNpemUgaW5jcmVhc2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCBmZWE2M2UyYTQ0ZjBkYjUxZDJlMzllZTc3OTNlOGM2ZDdmM2NmNWQ0CitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVN1biBKdW4gMTQgMjE6MjM6MjcgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IGJmNTQ4LWV6a2l0OiBidW1wIHVwIG1vbml0b3Igc2l6ZQorCisgICAgVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIFUtQm9vdCBnb3QgYSBiaXQgZmF0dGVyIGluIHRoZSBCU1Mgc2VjdGlvbiB3aGljaAorICAgIGNhdXNlZCBvdmVyZmxvd3MgaW4gdGhlIFJBTSByZWdpb24sIHNvIGluY3JlYXNlIHRoZSBtb25pdG9yIHNpemUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCBiYzQzYThkODk5NGMyZjBiZTI5ZTA5YjEzYjE1ZGE3Zjc5ZTJjMDgxCitBdXRob3I6IFZpdmkgTGkgPHZpdmkubGlAYW5hbG9nLmNvbT4KK0RhdGU6CUZyaSBKdW4gMTIgMTA6NTM6MjIgMjAwOSArMDAwMAorCisgICAgQmxhY2tmaW46IGJmNTMzLXN0YW1wL2JmNTM3LXN0YW1wOiBmaXggZW52IHNldHRpbmdzIGZvciBTUEkgZmxhc2gKKworICAgIFRoZSBTUEkgZmxhc2ggbGF5ZXIgaXMgbXVjaCBzdHJpY3RlciBhYm91dCBzZWN0b3IgdXNhZ2UgdGhhbiB0aGUgZWVwcm9tCisgICAgbGF5ZXIgd2UgdXNlZCB0byB1c2UsIHNvIHVwZGF0ZSB0aGUgZW52IHNldHRpbmdzIHRvIGJldHRlciBtYXRjaCB0aGUKKyAgICBzZWN0b3IgYWxpZ25tZW50IG9mIHRoZSBmbGFzaGVzIHdlIHVzZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFZpdmkgTGkgPHZpdmkubGlAYW5hbG9nLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCA2M2NiMGY0ZWIyZDNjZjE1ZTdhMWFkZDE5ZDEyODlmNGFlNzU4MTZjCitBdXRob3I6IFZpdmkgTGkgPHZpdmkubGlAYW5hbG9nLmNvbT4KK0RhdGU6CUZyaSBKdW4gMTIgMTA6MzM6MjMgMjAwOSArMDAwMAorCisgICAgQmxhY2tmaW46IGJ1bXAgdXAgZGVmYXVsdCBKVEFHIGNvbnNvbGUgdGltZW91dAorCisgICAgVGhlIGRlYnVnIHRvb2xzIHRoYXQgaW50ZXJmYWNlIHdpdGggdGhlIG90aGVyIHNpZGUgb2YgdGhlIEpUQUcgY29uc29sZQorICAgIGdvdCBtdWNoIHNsb3dlciB3aGVuIGdlbmVyYWxpemluZyB0aGluZ3MsIHNvIGJ1bXAgdXAgdGhlIGRlZmF1bHQgdGltZW91dAorICAgIHZhbHVlIG9uIHRoZSBVLUJvb3Qgc2lkZSB0byBjb3BlLiAgSG9wZWZ1bGx5IGF0IHNvbWUgcG9pbnQgd2UgY2FuIGltcHJvdmUKKyAgICB0aGUgZGVidWcgdG9vbHMgdG8gc3BlZWQgdGhpbmdzIGJhY2sgdXAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBWaXZpIExpIDx2aXZpLmxpQGFuYWxvZy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgYzExZmY3NzlmNGUwZTBjN2VkYzMyMmU4NGRkMjI5YWQyODcwOTU5NQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglNb24gSnVuIDEgMTk6MDg6MzMgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IGFkZCBqdGFnY29uc29sZSBoZWxwZXIgc2NyaXB0CisKKyAgICBUaGlzIHNjcmlwdCBpcyBzaW1pbGFyIHRvIHRoZSBuZXRjb25zb2xlIHNjcmlwdCwgYnV0IGluc3RlYWQgd29ya3Mgd2l0aAorICAgIHRoZSBKVEFHIGNvbnNvbGUgZGV2aWNlIGRyaXZlciB0aGF0IGV4aXN0cyBvbiBCbGFja2ZpbiBwYXJ0cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDYwZjYxZTZkNzY1NTQwMGJiNzg1YTJlZjYzNzU4MTY3OTk0MWY2ZDEKK0F1dGhvcjogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CitEYXRlOglTYXQgTWF5IDIgMjE6NDk6MTggMjAwOSArMDIwMAorCisgICAgQ29udmVydCBETTkwMDAgZHJpdmVyIGZvciBDT05GSUdfTkVUX01VTFRJCisKKyAgICBBbGwgZHJpdmVycyBuZWVkIHRvIGJlIGNvbnZlcnRlZCB0byBDT05GSUdfTkVUX01VTFRJLgorICAgIFRoaXMgcGF0Y2ggY29udmVydHMgdGhlIGRtOTAwMCBkcml2ZXIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgU21pdHMgPHRzLnNtaXRzQGdtYWlsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgOTEzMTU4OWFkYTRkZGEwNzE4NjA0ZDBhNDI1Y2E0NmU1Mjc3NWY2ZQorQXV0aG9yOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CitEYXRlOglTdW4gSnVuIDE0IDIyOjMzOjQ2IDIwMDkgKzA1MzAKKworICAgIG5ldDogQWRkIE1hcnZlbGwgS2lya3dvb2QgZ2lnYWJpdCBldGhlcm5ldCBkcml2ZXIKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGVnaWdhIGRyaXZlciBmb3IgdGhlIE1hcnZlbGwgS2lya3dvb2QgU29DJ3MuCisKKyAgICBDb250cmlidXRvcnM6CisgICAgWW90YW0gQWRtb24gPHlvdGFtQG1hcnZlbGwuY29tPgorICAgIE1pY2hhZWwgQmxvc3RlaW4gPG1pY2hhZWxibEBtYXJ2ZWxsLmNvbQorCisgICAgUmV2aWV3ZWQtYnk6IFJvbmVuIFNoaXRyaXQgPHJzaGl0cml0QG1hcnZlbGwuY29tPgorICAgIEFja2VkLWJ5OiBTdGVmYW4gUm9zZSA8c3JAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDc4MzVmNGI5NDkyN2VjYjVhZmZkOTlhYWQ2MjU5MjEwOGRiNjA2YWQKK0F1dGhvcjogcy1wYXVscmFqQHRpLmNvbSA8cy1wYXVscmFqQHRpLmNvbT4KK0RhdGU6CVR1ZSBNYXkgMTIgMTE6NDU6MzQgMjAwOSAtMDQwMAorCisgICAgRGFWaW5jaSBOZXR3b3JrIERyaXZlciBVcGRhdGVzCisKKyAgICBEaWZmZXJlbnQgZmxhdm91cnMgb2YgRGFWaW5jaSBTT0MncyBoYXZlIGRpZmZlcmVuY2VzIGluIHRoZWlyIEVNQUMgSVAKKyAgICBUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZworICAgIDEpIFVwZGF0ZXMgYmFzZSBhZGRyZXNzZXMgZm9yIERNMzY1CisgICAgMikgVXBkYXRlcyBNRElPIGZyZXF1ZW5jaWVzIGZvciBETTM2NSBhbmQgRE02NDZ4CisgICAgMykgVXBkYXRlIEVNQUMgd3JhcHBlciByZWdpc3RlcnMgZm9yIERNMzY1IGFuZCBETTY0NngKKworICAgIFBhdGNoIGFwcGxpZXMgdG8gdS1ib290LW5ldCBnaXQuIHRoZSBFTUFDIGRyaXZlciBpdHNlbGYKKyAgICB3aWxsIGJlIHVwZGF0ZWQgc2hvcnRseSB0byBhZGQgc3VwcG9ydCBmb3IgRE0zNjUgYW5kIERNNjQ2eAorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA0NDU3OGJlYTE0ZTQ5MDM1MzMxYThmMGUwMDBlOTM1ZTBkODMwZmY0CitBdXRob3I6IFJpY2hhcmQgUmV0YW51YnVuIDxSaWNoYXJkUmV0YW51YnVuQFJ1Z2dlZENvbS5jb20+CitEYXRlOglUdWUgTWF5IDI2IDA4OjI5OjI5IDIwMDkgLTA0MDAKKworICAgIFN1YmplY3Q6IFtQQVRDSF0gW3JlcG9zdF0gU3RhbmRhcmRpemUgdGhlIHVzZSBvZiBNQ0ZGRUNfVE9VVF9MT09QIGFzIGEgdWRlbGF5KDEpIGxvb3AgY291bnRlci4KKworICAgICBGcm9tIDU4NGI1ZmJkNGFiZmM0M2Y5MjBjYzFjMzI5NjMzZTAzODE2ZTI4YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCisgICAgRnJvbTogUmljaGFyZCBSZXRhbnVidW4gPFJpY2hhcmRSZXRhbnVidW5AUnVnZ2VkQ29tLmNvbT4KKyAgICBEYXRlOiBXZWQsIDIwIE1heSAyMDA5IDE4OjI2OjAxIC0wNDAwCisgICAgU3ViamVjdDogW1BBVENIXSBTdGFuZGFyZGl6ZSB0aGUgdXNlIG9mIE1DRkZFQ19UT1VUX0xPT1AgYXMgYSB1ZGVsYXkoMSkgbG9vcCBjb3VudGVyLgorCisgICAgU2lnbmVkLW9mZi1ieTogUmljaGFyZCBSZXRhbnVidW4gPFJpY2hhcmRSZXRhbnVidW5AUnVnZ2VkQ29tLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgYzlhMmFhYjE1MTJmYjJkMTMyNjcwZmZmOWMyNzY1NmQyZWI5NDljZAorQXV0aG9yOiBOb3JiZXJ0IHZhbiBCb2xodWlzIDxudmJvbGh1aXNAYWltdmFsbGV5Lm5sPgorRGF0ZToJVGh1IEp1biA0IDA5OjM5OjQ4IDIwMDkgKzAyMDAKKworICAgIEEgVkxBTiB0YWdnZWQgREhDUCByZXF1ZXN0L2Rpc2NvdmVyIGlzIDQgYnl0ZXMgc2hvcnQKKworICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgQk9PVFBfU0laRSB1c2VzIEVUSEVSX0hEUl9TSVpFIHdoaWNoIGlzIDE0IGJ5dGVzLgorICAgIElmIHNlbmRpbmcgYSBWTEFOIHRhZ2dlZCBmcmFtZSAod2hlbiBlbnYgdmFyaWFibGUgdmxhbiBpcyBzZXQpIHRoaXMKKyAgICBzaG91bGQgYmUgVkxBTl9FVEhFUl9IRFJfU0laRT0xOCB3aGljaCBpcyB3aGF0IE5ldFNldEV0aGVyIHJldHVybnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBOb3JiZXJ0IHZhbiBCb2xodWlzIDxudmJvbGh1aXNAYWltdmFsbGV5Lm5sPgorICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCA2ZTBkMmZjN2ZlMGRjZmEyZjUxYWI4OTMxZDcwNjk0MGVlMzY0MTkzCitBdXRob3I6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CitEYXRlOglUdWUgQXByIDI4IDE2OjM5OjE5IDIwMDkgLTA3MDAKKworICAgIFJlbW92ZSBzdXBwb3J0IGZvciBub24tQ09ORklHX05FVF9NVUxUSSBvbiBQUEM0eHggRU1BQworCisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDg0NTM1ODdlZjkxMzdkYWY5OGI3YzljZjRmM2I4NjVmNDAzOWNlYTAKK0F1dGhvcjogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KK0RhdGU6CVR1ZSBNYXkgMjYgMDA6MzQ6MDcgMjAwOSAtMDcwMAorCisgICAgU3dpdGNoZWQgZGF2aW5jaV9lbWFjIEV0aGVybmV0IGRyaXZlciB0byB1c2UgbmV3ZXIgQVBJCisKKyAgICBBZGRlZCBDT05GSUdfTkVUX01VTFRJIHRvIGFsbCBEYXZpbmNpIGJvYXJkcworICAgIFJlbW92ZWQgYWxsIGNhbGxzIHRvIERhdmluY2kgbmV0d29yayBkcml2ZXIgZnJvbSBib2FyZCBjb2RlCisgICAgQWRkZWQgY3B1X2V0aF9pbml0KCkgdG8gY3B1L2FybTkyNmVqcy9jcHUuYworCisgICAgU2lnbmVkLW9mZi1ieTogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KKworY29tbWl0IDhjYzEzYzEzZjFkMTU0YzhmYThmZmY1NmNlYTM1N2VkMzhhZjc2YmYKK0F1dGhvcjogQmVuIFdhcnJlbiA8YmlnZ2VyYmFkZGVyYmVuQGdtYWlsLmNvbT4KK0RhdGU6CU1vbiBBcHIgMjcgMjM6MTk6MTAgMjAwOSAtMDcwMAorCisgICAgSW5pdGlhbCBjbGVhbnVwIG9mIERhdmluY2kgRXRoZXJuZXQgZHJpdmVyCisKKyAgICAgUmVtb3ZlZCBwb2ludGxlc3MgI2lmZGVmcworICAgICBNb3ZlZCBmdW5jdGlvbnMgYXJvdW5kIGluIGZpbGUgaW4gcHJlcGFyYXRpb24gZm9yIHN3aXRjaCB0byBuZXdlciBBUEkKKworICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCAwOWNkZDFiOWIwMTQ1MGU5MTc4NmQyNmZmM2M4NjZkYzljOGQ4ZDZiCitBdXRob3I6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CitEYXRlOglUdWUgTWF5IDI2IDAwOjE3OjU5IDIwMDkgLTA3MDAKKworICAgIE1vdmVkIERhdmluY2kgRXRoZXJuZXQgZHJpdmVyIHRvIGRyaXZlcnMvbmV0CisKKyAgICBUaGlzIGRyaXZlciBoYXMgYmVlbiByZW5hbWVkIGRhdmluY2lfZW1hYy5jCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgNmY1MWRlYjdmMjk4NDEzY2ZjYjBhMzZkMjRjOTdlZjdkZDY5ZDQ4ZgorQXV0aG9yOiBQcmFmdWxsYSBXYWRhc2thciA8cHJhZnVsbGFAbWFydmVsbC5jb20+CitEYXRlOglUdWUgTWF5IDE5IDAxOjQwOjE2IDIwMDkgKzA1MzAKKworICAgIE1hcnZlbGwgTVY4OEU2MVhYIFN3aXRjaCBEcml2ZXIgc3VwcG9ydAorCisgICAgQ2hpcHMgc3VwcG9ydGVkOi0KKyAgICAxLiA4OEU2MTYxIDYgcG9ydCBnYmUgc3d0aWNoIHdpdGggNSBpbnRlZ3JhdGVkIFBIWXMKKyAgICAyLiA4OEU2MTY1IDYgcG9ydCBnYmUgc3d0aWNoIHdpdGggNSBpbnRlZ3JhdGVkIFBIWXMKKyAgICAyLiA4OEU2MTMyIDMgcG9ydCBnYmUgc3d0aWNoIHdpdGggMiBpbnRlZ3JhdGVkIFBIWXMKKyAgICBQbGF0Zm9ybSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIHN1cHBvcnRlZCBmb3I6LQorICAgIGRlZmF1bHQgb3Igcm91dGVyIHBvcnQgdmxhbiBjb25maWd1cmF0aW9uCisgICAgbGVkX2luaXQgY29uZmlndXJhdGlvbgorICAgIG1kaXAvbiBwb2xhcml0eSByZXZlcnNhbCBjb25maWd1cmF0aW9uCisKKyAgICBOb3RlOiBUaGlzIGRyaXZlciBpcyBzdXBwb3J0ZWQgYW5kIHRlc3RlZCBhZ2FpbnN0CisgICAga2lya3dvb2QgZWdpZ2EgaW50ZXJmYWNlCisKKyAgICBDb250cmlidXRvcnM6CisgICAgWW90YW0gQWRtb24gPHlvdGFtQG1hcnZlbGwuY29tPgorICAgIE1pY2hhZWwgQmxvc3RlaW4gPG1pY2hhZWxibEBtYXJ2ZWxsLmNvbQorCisgICAgUmV2aWV3ZWQgYnk6IFJvbmVuIFNoaXRyaXQgPHJzaGl0cml0QG1hcnZlbGwuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgMDkxZGM5ZjZhZGFmNTcyYjA2N2FlOTFhZjkyYzRlN2RiMzNkNzkwMworQXV0aG9yOiBaYWNoIExlUm95IDx6bGVyb3lAeGVzLWluYy5jb20+CitEYXRlOglGcmkgTWF5IDIyIDEwOjI2OjMzIDIwMDkgLTA1MDAKKworICAgIHRzZWM6IEFkZCBzdXBwb3J0IGZvciBCQ001NDgyUyBQSFkKKworICAgIFNpZ25lZC1vZmYtYnk6IFphY2ggTGVSb3kgPHpsZXJveUB4ZXMtaW5jLmNvbT4KKyAgICBBY2tlZC1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKyAgICBTaWduZWQtb2ZmLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgOWZmNjdlNWU0YzcxOTU1NmQ1N2YxMzZhNjQ1M2Y4ZTQ3OThkODVjMAorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gSnVuIDE0IDA2OjI5OjA3IDIwMDkgLTA0MDAKKworICAgIEJsYWNrZmluOiB1bmlmeSB1LWJvb3QgbGlua2VyIHNjcmlwdHMKKworICAgIEFsbCB0aGUgQmxhY2tmaW4gbGlua2VyIHNjcmlwdHMgd2VyZSBkdXBsaWNhdGVkIGFjcm9zcyB0aGUgYm9hcmQgZGlycyB3aXRoCisgICAgbm8gZGlmZmVyZW5jZSBzYXZlIGZyb20gdGhlIHNlbWktb2Z0ZW4gdXNlZCBFTlZfSVNfRU1CRURERUQgb3B0aW9uLiAgU28KKyAgICB1bmlmeSBhbGwgb2YgdGhlbSBpbiB0aGUgbGliX2JsYWNrZmluLyBkaXIgYW5kIGZvciB0aGUgZmV3IGJvYXJkcyB0aGF0CisgICAgbmVlZCB0byBlbWJlZGRlZCB0aGUgZW52aXJvbm1lbnQgZGlyZWN0bHksIGFkZCBhIExEU19CT0FSRF9URVhUIGRlZmluZSBmb3IKKyAgICB0aGVtIHRvIGN1c3RvbWl6ZSB2aWEgdGhlaXIgYm9hcmQgY29uZmlnIGZpbGUuICBUaGlzIGlzIG11Y2ggc2ltcGxlciB0aGFuCisgICAgZm9yY2luZyB0aGVtIHRvIGR1cGxpY2F0ZSB0aGUgcmVzdCBvZiB0aGUgbGlua2VyIHNjcmlwdC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGY1MmVmY2FlOThjYmI4YTM5ZjFkMDUzNWRmOGQ5NjQ2YTc3NmFmOWUKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJRnJpIE1heSAyOSAxNzowMjozNyAyMDA5IC0wNDAwCisKKyAgICBCbGFja2ZpbjogYmY1MThmLWV6YnJkOiBlbmFibGUgU1NUIFNQSSBmbGFzaCBkcml2ZXIKKworICAgIFRoZSBCRjUxeEYgcGFydHMgaGF2ZSBhbiBpbnRlcm5hbCBTU1QgU1BJIGZsYXNoLCBzbyBtYWtlIHN1cmUgdGhlIGRyaXZlciBpcworICAgIGVuYWJsZWQgYnkgZGVmYXVsdCBzbyB3ZSBjYW4gYWNjZXNzIGl0LgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgZjM0OGFiODVmNzQxZGM5OGIyZDIwMmMwNGI1ZjQzMGVhY2U5NDkyNQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglGcmkgQXByIDI0IDE3OjIyOjQwIDIwMDkgLTA0MDAKKworICAgIEJsYWNrZmluOiBjb252ZXJ0IHNwZWNpZmljIHByZS9wb3N0IGNvbmZpZyBoZWFkZXJzIHRvIGNvbW1vbiBtZXRob2QKKworICAgIFRoZSBCbGFja2ZpbiBwb3J0IHdhcyB1c2luZyBhc20vYmxhY2tmaW4tY29uZmlnLXtwcmUscG9zdH0uaCB0byBzZXR1cAorICAgIGNvbW1vbiBCbGFja2ZpbiBib2FyZCBkZWZpbmVzLiAgVGhlIGNvbW1vbiBtZXRob2Qgbm93IGlzIHRvIHVzZSBjb25maWcuaCwKKyAgICBzbyBjb252ZXJ0IGJsYWNrZmluLWNvbmZpZy1wb3N0LmggdG8gdGhhdC4JUmVuYW1lIHRoZSBzdGlsbCBCbGFja2ZpbgorICAgIHNwZWNpZmljIGJsYWNrZmluLWNvbmZpZy1wcmUuaCB0byBjb25maWctcHJlLmggc28gdGhlIG5hbWluZyBjb252ZW50aW9ucworICAgIGF0IGxlYXN0IGxpbmUgdXAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCA3Yzc1MDNlZTZjZDAzYzBmM2IxNmU5OGQzM2Q1YWEyM2IzMGQ2NWIxCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CUZyaSBBcHIgMjQgMTc6MTE6NDcgMjAwOSAtMDQwMAorCisgICAgQmxhY2tmaW46IGVuYWJsZSBMWk1BIGZvciBhbGwgQURJIGJvYXJkcworCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgMGU2M2RjMDY3OTQ1MWQ0OGY4YjcyN2M1NDNjZTQ4YjQ4OGY3YTMzZgorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglNb24gQXByIDEzIDA1OjUyOjQ1IDIwMDkgLTA0MDAKKworICAgIEJsYWNrZmluOiBtYWtlIGRlZmF1bHQgQURJIGVudiBtb3JlIGZsZXhpYmxlCisKKyAgICBBbGxvdyBib2FyZHMgdG8gZWFzaWx5IG92ZXJyaWRlIHRoZSByb290PSBhbmQgZGVmYXVsdCBib290Y21kLCBhbGxvdworICAgIHBlb3BsZSB0byB0d2VhayB0aGUgZmlsZSB1c2VkIGluIGRlZmF1bHQgYm9vdGNtZHMgYXQgcnVudGltZSB2aWEgb25lIGVudgorICAgIHZhciwgYW5kIGFkZCBhIHN0b2NrIG5hbmRib290IGNvbW1hbmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAwZjUyYjU2MGYxOTYyM2VjNjUxZjliOWI0MDQwNWQxMzhlYzI1MWQzCitBdXRob3I6IEhvYW4gSG9hbmcgPGhuaG9hbkBpLXN5c3QuY29tPgorRGF0ZToJU3VuIEphbiAxOCAyMjo0NDoxNyAyMDA5IC0wNTAwCisKKyAgICBCbGFja2ZpbjogaWJmLWRzcDU2MTogbmV3IGJvYXJkIHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IEhvYW4gSG9hbmcgPGhuaG9hbkBpLXN5c3QuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDMwODgxODlhMTVkMjE5YzQ4ZmQ3ZTcxNjIzY2E0ZGFhMDhiODBiNTkKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJU3VuIE9jdCAxMiAyMzoyODozMyAyMDA4IC0wNDAwCisKKyAgICBCbGFja2ZpbjogYmxhY2tzdGFtcDogbmV3IGJvYXJkIHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDU5YWM5NzI5NzAwZGIxZDQ0NDZjMWE2ZGIzZmZlMzgzOThiN2FiYjIKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJU3VuIE9jdCAxMiAyMzoyMjoyNSAyMDA4IC0wNDAwCisKKyAgICBCbGFja2ZpbjogYmY1Mzctc3J2MTogbmV3IGJvYXJkIHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGQ3ZmRjMTQxMGI1ZmE1ZWY2MjNiMzVhMjgzNzMzYjZiY2VlMzc1M2IKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJU3VuIE9jdCAxMiAyMzoxNjo1MiAyMDA4IC0wNDAwCisKKyAgICBCbGFja2ZpbjogYmY1MzctbWlub3RhdXI6IG5ldyBib2FyZCBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCBjYjRiNWU4NzRmM2M5Yjg4MmE2ZjQzOTRiYmViYmJkOTFmZDAxYmJmCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVN1biBPY3QgMTIgMjM6MDg6MDMgMjAwOCAtMDQwMAorCisgICAgQmxhY2tmaW46IGJmNTM3LXBuYXY6IG5ldyBib2FyZCBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCA1OWU0YmU5NDViNjQ2OWUzMWVlZTcyMWUwYmNkY2NmNDk0MGQ3NWFjCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVN1biBPY3QgMTIgMjE6NTU6NDUgMjAwOCAtMDQwMAorCisgICAgQmxhY2tmaW46IGNtLWJmNTI3OiBuZXcgYm9hcmQgcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgOGIyMTljZjA3YzE4NmNjOWQ5NzM1NGNmNGIxNGYyNGE1M2QxOTNjNQorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gT2N0IDEyIDIxOjU0OjA3IDIwMDggLTA0MDAKKworICAgIEJsYWNrZmluOiBjbS1iZjU0ODogbmV3IGJvYXJkIHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDk0MTdkOWEyMTM4NDI3OTMwOGFiZTViNGRkOGRmZDQxODc0MjQ4NGMKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJU3VuIE9jdCAxMiAyMTo0OToyOCAyMDA4IC0wNDAwCisKKyAgICBCbGFja2ZpbjogdGNtLWJmNTM3OiBuZXcgYm9hcmQgcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgZTU0ODMyMWFmMDBlODY5YWY3MTk0ODk2NTc2YmViOWI2ODQ1N2ZmNworQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gT2N0IDEyIDIxOjQ1OjA1IDIwMDggLTA0MDAKKworICAgIEJsYWNrZmluOiBjbS1iZjU2MTogbmV3IGJvYXJkIHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDhhOWJhYjA4YTZmZTkzZTVmM2JmNTdiOTA0MzhmMWQyYTY3ZmFkM2MKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJU3VuIE9jdCAxMiAyMTo0MTowNiAyMDA4IC0wNDAwCisKKyAgICBCbGFja2ZpbjogY20tYmY1MzdlOiBuZXcgYm9hcmQgcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgZTgyZDhhMWYwMjhiZWRiMTJjNGFiODhhMzVhOTM1MDEwZDkyODk4YworQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gT2N0IDEyIDIxOjM2OjIyIDIwMDggLTA0MDAKKworICAgIEJsYWNrZmluOiBjbS1iZjUzMzogbmV3IGJvYXJkIHBvcnQKKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IGRkMTRhZjc2NDBmN2Q0OGQ4ZTk3NjhlZWViMDk1OTJlNmY5NGVkMzgKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJVGh1IE5vdiAyNyAxNjo1MDozMiAyMDA4IC0wNTAwCisKKyAgICBCbGFja2ZpbjogbmV3IHNwaWJvb3RsZHIgY29tbWFuZAorCisgICAgTmV3ZXIgQmxhY2tmaW4gcGFydHMgY2FuIGFuIG9uLWNoaXAgUk9NIHRoYXQgY2FuIGJvb3QgTERScyBvdmVyIFNQSSBmbGFzaGVzLAorICAgIHNvIGFkZCBhIG5ldyAnc3BpYm9vdGxkcicgY29tbWFuZCB0byB0YWtlIGFkdmFudGFnZSBvZiBpdC4KKworICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDY3YzI4MjliNjQ2YmI1Yjg1OTA4OGIzNmZiYzg5ZTk3MWI5YzE5NjAKK0F1dGhvcjogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorRGF0ZToJTW9uIE9jdCA2IDA0OjQyOjMzIDIwMDggLTA0MDAKKworICAgIEJsYWNrZmluOiBzdXBwb3J0IGVtYmVkZGluZyB0aGUgZW52aXJvbm1lbnQgaW50byBsb2FkZXIgZmlsZXMgKExEUnMpCisKKyAgICBGb3IgdGhlIG1vc3QgcGFydCwgdGhlIEJsYWNrZmluIHByb2Nlc3NvciBib290cyBmaWxlcyBpbiB0aGUgTERSIGZvcm1hdAorICAgIHJhdGhlciB0aGFuIGJpbmFyeS9FTEYgZmlsZXMuICBTbyB3ZSB3YW50IHRvIGV4cG9ydCB0aGUgZW52aXJvbm1lbnQgYXMgYQorICAgIHJhdyBibG9iIHRvIHRoZSBMRFIgdXRpbGl0eSBzbyBpdCBjYW4gZW1iZWQgaXQgYXQgdGhlIHJpZ2h0IGxvY2F0aW9uLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgMzFmMzBjOWViNjBkOWFiMGJkNzAyZTMxZjY2MzQ1Zjk5YjM0YmRjNgorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gSnVuIDE0IDExOjAzOjQ4IDIwMDkgLTA0MDAKKworICAgIGFkZCAlLmMtPiUuaSBhbmQgJS5jLT4lLnMgcnVsZXMKKworICAgIFRoZSBMaW51eCBrZXJuZWwgaGFzIHNvbWUgaGVscGVyIHJ1bGVzIHdoaWNoIGFsbG93IHlvdSB0byBxdWlja2x5IHByb2R1Y2UKKyAgICBzb21lIG9mIHRoZSBpbnRlcm1lZGlhcnkgZmlsZXMgZnJvbSBDIHNvdXJjZS4gIFNwZWNpZmljYWxseSwgeW91IGNhbgorICAgIGNyZWF0ZSAuaSBmaWxlcyB3aGljaCBpcyB0aGUgcHJlcHJvY2Vzc2VkIG91dHB1dCBhbmQgeW91IGNhbiBjcmVhdGUgLnMKKyAgICBmaWxlcyB3aGljaCBpcyB0aGUgYXNzZW1ibGVyIG91dHB1dC4gIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IGFyZSB0cnlpbmcKKyAgICB0byB0cmFjayBkb3duIGhlYWRlci9tYWNybyBleHBhbnNpb24gZXJyb3JzIG9yIGlubGluZSBhc3NlbWJseSBlcnJvcnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisgICAgQWNrZWQtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA2ZDFjZTM4Nzg3NGMxMDYwZjI3NjU2ZjcwMTUxYTUyYzUxMWNkMGUzCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVNhdCBNYXkgMzAgMDE6MDI6MDMgMjAwOSAtMDQwMAorCisgICAgbWFrZSBzdXJlIHRvcGxldmVsICQoU1VCRElSUykgaXMgYWx3YXlzIGRlY2xhcmVkCisKKyAgICBUaGUgJChTVUJESVJTKSB2YXJpYWJsZSBpcyBvbmx5IGRlY2xhcmVkIHdoZW4gVS1Cb290IGhhcyBiZWVuIGNvbmZpZ3VyZWQsCisgICAgYnV0IGl0IGdldHMgdXNlZCBhbGwgdGhlIHRpbWUuICBJbiB0aGUgbm9uLWNvbmZpZ3VyZWQgY2FzZSwgaXQgaXMgdXNlZCB0bworICAgIGdlbmVyYXRlIGEgaGVscGZ1bCBlcnJvciBtZXNzYWdlLCBidXQgaXQgbmVlZHMgdG8gYmUgc2V0IHByb3Blcmx5IGZvciB0aGF0CisgICAgdG8gb2NjdXIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAxMjYwMjMzOTgyZjdkZmJkZmQxYWRlZTEyZGFhOTVhMGMwZTg0YTQzCitBdXRob3I6IEdyemVnb3J6IEJlcm5hY2tpIDxnamJAc2VtaWhhbGYuY29tPgorRGF0ZToJRnJpIEp1biAxMiAxMTozMzo1NSAyMDA5ICswMjAwCisKKyAgICBkaWdzeSBtdGM6IEFkZCBkZXNjcmlwdGlvbiB0byBHUElPIGluaXRpYWwgY29uZmlndXJhdGlvbi4KKworICAgIFNpZ25lZC1vZmYtYnk6IEdyemVnb3J6IEJlcm5hY2tpIDxnamJAc2VtaWhhbGYuY29tPgorCitjb21taXQgMTIzMDQ4NzFiYzc4MzkxNDVmMmI0MjM4OTIzZTkwMjM2MTZkNzM5OQorQXV0aG9yOiBHcnplZ29yeiBCZXJuYWNraSA8Z2piQHNlbWloYWxmLmNvbT4KK0RhdGU6CUZyaSBKdW4gMTIgMTE6MzM6NTQgMjAwOSArMDIwMAorCisgICAgZGlnc3kgTVRDOiBBZGQgJ210YycgY29tbWFuZC4KKworICAgIE5ldyBjb21tYW5kIGFsbG93cyB0bzoKKwkgbyBjaGVjayBGVyB2ZXJzaW9uCisJIG8gc2V0IExFRCBzdGF0dXMKKwkgbyBzZXQgZGlnaXRhbCBvdXRwdXQgc3RhdHVzCisJIG8gZ2V0IGRpZ2l0YWwgaW5wdXQgc3RhdHVzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBHcnplZ29yeiBCZXJuYWNraSA8Z2piQHNlbWloYWxmLmNvbT4KKworY29tbWl0IGYxZjY2ZWRmYzc2ZjRhOWY1YjlmNjM5NzJkOTAzMDk3ODRhOGNhZTUKK0F1dGhvcjogR3J6ZWdvcnogQmVybmFja2kgPGdqYkBzZW1paGFsZi5jb20+CitEYXRlOglGcmkgSnVuIDEyIDExOjMzOjUzIDIwMDkgKzAyMDAKKworICAgIGRpZ3N5IE1UQzogQWRkIFNQSSBzdXBwb3J0LgorCisgICAgU2lnbmVkLW9mZi1ieTogR3J6ZWdvcnogQmVybmFja2kgPGdqYkBzZW1paGFsZi5jb20+CisKK2NvbW1pdCA2MzI1Yjc3ODBkYWQ4YmUyNmJhNmZjMjVlZjg4YmEzMzhjNTAyMDViCitBdXRob3I6IEdyemVnb3J6IEJlcm5hY2tpIDxnamJAc2VtaWhhbGYuY29tPgorRGF0ZToJRnJpIEp1biAxMiAxMTozMzo1MiAyMDA5ICswMjAwCisKKyAgICBtcGM1Mnh4OiBBZGQgU1BJIGRyaXZlci4KKworICAgIFNpZ25lZC1vZmYtYnk6IEdyemVnb3J6IEJlcm5hY2tpIDxnamJAc2VtaWhhbGYuY29tPgorCitjb21taXQgNWVjNTUyOWI4MmYzMTRjYTJjZjljMjYyY2RmYzk4NWQ1ZmM0NjhhMAorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglTdW4gSnVuIDE0IDA5OjMzOjAwIDIwMDkgLTA0MDAKKworICAgIGFsbG93IGJvYXJkcyB0byBjdXN0b21pemUgY29tcGlsZXIgb3B0aW9ucyBvbiBhIHBlci1maWxlL2RpciBiYXNpcworCisgICAgV2l0aCBvdXIgQmxhY2tmaW4gYm9hcmRzLCB3ZSBsaWtlIHRvIGJ1aWxkIHRoZSBjb21wcmVzc2lvbiByb3V0aW5lcyB3aXRoCisgICAgLU8yIGFzIG91ciB0ZXN0cyBzaG93IGEgcHJldHR5IGdvb2Qgc2l6ZS9zcGVlZCB0cmFkZW9mZi4gIEZvciB0aGUgcmVzdCBvZgorICAgIFUtQm9vdCB0aG91Z2gsIHdlIHdhbnQgdG8gc3RpY2sgd2l0aCB0aGUgZGVmYXVsdCAtT3MgYXMgdGhhdCBpcyBtb3N0bHkKKyAgICBjb250cm9sIGNvZGUuICBTbyBpbiBvdXIgY2FzZSwgd2Ugd291bGQgYWRkIGEgbGluZSBsaWtlIHNvIHRvIHRoZSBib2FyZAorICAgIHNwZWNpZmljIGNvbmZpZy5tayBmaWxlOgorCUNGTEFHU19saWJfZ2VuZXJpYyArPSAtTzIKKworICAgIE5vdyBhbGwgZmlsZXMgdW5kZXIgbGliX2dlbmVyaWMvIHdpbGwgaGF2ZSAtTzIgYXBwZW5kZWQgdG8gdGhlaXIgYnVpbGQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisgICAgQWNrZWQtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA2YjFmNzhhZTZhZDAzNzM4MmFkNDMwYjA3MDY0MTA1Yzg4ZjdhYzAyCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglTdW4gSnVuIDE0IDIxOjMwOjM5IDIwMDkgKzAyMDAKKworICAgIFByZXBhcmUgdjIwMDkuMDYKKworICAgIFVwZGF0ZSBDSEFOR0VMT0csIGZpeCBtaW5vciBjb2Rpbmcgc3R5bGtlIGlzc3VlLiBVcGRhdGUgTWFrZWZpbGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCiBjb21taXQgYzMxNDdjMTc2MmY4Y2FmOTk2NDkwNTExMTZhMjQxMWJkZjg4N2MxMAogQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgogRGF0ZToJU3VuIEp1biAxNCAyMDozMTozNiAyMDA5ICswMjAwCkBAIC0xNCw2ICsxMzE2LDIwNjIgQEAKICAgICBCZWluZyBjbG9zZSB0byBhIHJlbGVhc2UsIHdpdGggbm9ib2R5IGF2YWlsYWJsZSB0byBhY3R1YWxseSB0ZXN0IHRoZQogICAgIGNvZGUgb3IgdGhlIHN1Z2dlc3RlZCBmaXhlcywgaXQgc2VlbXMgYmV0dGVyIHRvIHJldmVydCB0aGUgcGF0Y2guCiAKK2NvbW1pdCAzODg1MTdlNGI3NDViMDAyNTZjMmZhMjAxY2U3YmNjYjY3YjRmMjQ1CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgTWF5IDIyIDEwOjI2OjM3IDIwMDkgLTA1MDAKKworICAgIHhlczogVXBkYXRlIEZyZWVzY2FsZSBjbG9jayBjb2RlIHRvIHdvcmsgd2l0aCA4Nnh4IHByb2Nlc3NvcnMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDI1NjIzOTM3YmI4MWNhZTc4OGQ3NjdlNmM1OWExMWM5NmZjODI4NjYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CUZyaSBNYXkgMjIgMTA6MjY6MzYgMjAwOSAtMDUwMAorCisgICAgeGVzOiBVcGRhdGUgRnJlZXNjYWxlIEREUiBjb2RlIHRvIHdvcmsgd2l0aCA4Nnh4IHByb2Nlc3NvcnMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGJlZjMwMTM5MDhiYmM2OGYyNDA4NDE3NGEzY2E4NmNjMmEzZWI5ODYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CUZyaSBNYXkgMjIgMTA6MjY6MzUgMjAwOSAtMDUwMAorCisgICAgeGVzOiBVcGRhdGUgRnJlZXNjYWxlIFBDSSBjb2RlIHRvIHdvcmsgd2l0aCA4Nnh4IHByb2Nlc3NvcnMKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDY0NDJiNzFiNTIyZmFjZTc3NWMxYzMxYmQ0MzEyMWRiM2I0YmY3ZDYKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CUZyaSBNYXkgMjIgMTA6MjY6MzIgMjAwOSAtMDUwMAorCisgICAgODV4eDogQWRkIFBPUkJNU1IgYW5kIFBPUkRFVlNSIHNoaWZ0IGRlZmluZXMKKworICAgIEFkZCBkZWZpbmVzIHNpbWlsYXIgdG8gdGhvc2UgYWxyZWFkeSB1c2VkIGZvciB0aGUgdGhlIDg2eHggYXJjaGl0ZWN0dXJlLgorICAgIFRoaXMgd2lsbCBlYXNlIHNoYXJpbmcgb2YgUENJIGNvZGUgYmV0d2VlbiB0aGUgODV4eCBhbmQgODZ4eAorICAgIGFyY2hpdGVjdHVyZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCAyZjIxY2U0ZDU0NmQzMTI4OWFjNDlhNjgwZjc4YmNjOWE3OTJjNmVjCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglUaHUgTWF5IDIxIDEyOjEwOjAwIDIwMDkgLTA1MDAKKworICAgIGZzbC84NXh4LCA4Nnh4OiBTeW5jIHVwIERNQSBjb2RlCisKKyAgICBUaGUgZm9sbG93aW5nIGNoYW5nZXMgd2VyZSBtYWRlIHRvIHN5bmMgdXAgdGhlIERNQSBjb2RlIGJldHdlZW4gdGhlIDg1eHgKKyAgICBhbmQgODZ4eCBhcmNoaXRlY3R1cmVzIHdoaWNoIHdpbGwgbWFrZSBpdCBlYXNpZXIgdG8gYnJlYWsgb3V0IGNvbW1vbgorICAgIDh4eHggRE1BIGNvZGU6CisKKyAgICA4NXh4OgorICAgIC0gRG9uJ3Qgc2V0IFNUUkFOU0lOVCBhbmQgU1BDSU9SREVSIGZpZWxkcyBpbiBTQVRSIHJlZ2lzdGVyLiAgVGhlc2UgYml0cworICAgICAgb25seSBoYXZlIGFuIGFmZmVjdCB3aGVuIHRoZSBTQlBBVE1VIGJpdCBpcyBzZXQuCisgICAgLSBXcml0ZSAweGZmZmZmZmZmIGluc3RlYWQgb2YgMHhmZmZmZmZmIHRvIGNsZWFyIGVycm9ycyBpbiB0aGUgRE1BCisgICAgICBzdGF0dXMgcmVnaXN0ZXIuCVdlIG1heSBhcyB3ZWxsIGNsZWFyIGFsbCAzMiBiaXRzIG9mIHRoZSByZWdpc3Rlci4uLgorCisgICAgODZ4eDoKKyAgICAtIEFkZCBDT05GSUdfU1lTX01QQzg2eHhfRE1BX0FERFIgZGVmaW5lIHRvIGFkZHJlc3MgRE1BIHJlZ2lzdGVycworICAgIC0gQWRkIGNsZWFyaW5nIG9mIGVycm9ycyBpbiB0aGUgRE1BIHN0YXR1cyByZWdpc3RlciB3aGVuIGluaXRpYWxpemluZworICAgICAgdGhlIGNvbnRyb2xsZXIKKyAgICAtIENsZWFyIHRoZSBjaGFubmVsIHN0YXJ0IGJpdCBpbiB0aGUgRE1BIG1vZGUgcmVnaXN0ZXIgYWZ0ZXIgYSB0cmFuc2ZlcgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgYjFmMTI2NTBkMzMyZWFkYWMxMzA2YTc3MmNhYjYwOTZhYmVlNmRkZAorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJVGh1IE1heSAyMSAxMjowOTo1OSAyMDA5IC0wNTAwCisKKyAgICBmc2w6IENyZWF0ZSBjb21tb24gZnNsX2RtYS5oIGZvciA4NXh4IGFuZCA4Nnh4IGNwdXMKKworICAgIEJyZWFrIG91dCBETUEgc3RydWN0dXJlcyBmb3IgdGhlIEZyZWVzY2FsZSBNUEM4NXh4IGFuZCBNUEM4Nnh4IGNwdXMgdG8KKyAgICByZWR1Y2UgYSBsYXJnZSBhbW91bnQgb2YgY29kZSBkdXBsaWNhdGlvbgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgM2JkOGU1MzJiNWRlMjA2NDdhZWFmZjk0YTFjYmYzM2ZiOGI4OTdiOQorQXV0aG9yOiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIE1heSAyMCAxMjozMDo0MSAyMDA5IC0wNDAwCisKKyAgICA4NXh4OiBBZGQgVUVDNiBhbmQgVUVDOCBhdCBTR01JSSBtb2RlIGZvciBNUEM4NTY5TURTCisKKyAgICBPbiBNUEM4NTY5TURTIGJvYXJkLCBVQ0M2IGFuZCBVQ0M4IGNhbiBiZSBjb25maWd1cmVkIHRvIHdvcmsgYXQgU0dNSUkgbW9kZSB2aWEKKyAgICBVRU0gb24gUEIgYm9hcmQuIFNpbmNlIE1QQzg1Njkgc3VwcG9ydHMgdXAgdG8gNCBHaWdhYml0IEV0aGVybmV0IHBvcnRzLCB3ZQorICAgIGRpc2FibGUgVUVDNiBhbmQgVUVDOCBieSBkZWZhdWx0LgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFpeWluZyBXYW5nIDxIYWl5aW5nLldhbmdAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgZThlZmVmN2MxYjQ1NzQ0MjU4M2E4YjlkMzhkOGE1YjY2NzY2MTYxNgorQXV0aG9yOiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IEp1biA0IDE2OjEyOjQyIDIwMDkgLTA0MDAKKworICAgIGRyaXZlcnMvcWU6IGFkZCBzZ21paSBzdXBwb3J0IGluIGZvciBVRUMgZHJpdmVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA4ZTU1MjU4ZjE0NDc2NGRlODkwMmU5ZjA3OGE3YWQ0YzZjMDIyYzJmCitBdXRob3I6IEhhaXlpbmcgV2FuZyA8SGFpeWluZy5XYW5nQGZyZWVzY2FsZS5jb20+CitEYXRlOglUaHUgSnVuIDQgMTY6MTI6NDEgMjAwOSAtMDQwMAorCisgICAgcWU6IFBhc3MgaW4gdWVjX2luZm8gc3RydWN0IHRocm91Z2ggdWVjX2luaXRpYWxpemUKKworICAgIFRoZSB1ZWMgZHJpdmVyIGNvbnRhaW5zIGNvZGUgdG8gaGFyZCBjb2RlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSB1ZWMKKyAgICBldGhlcm5ldCBjb250cm9sbGVycy4gVGhpcyBwYXRjaCBjcmVhdGVzIGFuIGFycmF5IG9mIHVlY19pbmZvIHN0cnVjdHVyZXMsIHdoaWNoCisgICAgYXJlIHRoZW4gcGFyc2VkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIGRyaXZlciBpbnN0YW5jZSB0byBkZXRlcm1pbmUgY29uZmlndXJhdGlvbi4KKyAgICBJdCBhbHNvIGNyZWF0ZXMgZnVuY3Rpb24gdWVjX3N0YW5kYXJkX2luaXQoKSB0byBpbml0aWFsaXplIGFsbCBVRUMgaW50ZXJmYWNlcworICAgIGZvciA4M3h4IGFuZCA4NXh4LgorCisgICAgU2lnbmVkLW9mZi1ieTogSGFpeWluZyBXYW5nIDxIYWl5aW5nLldhbmdAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgOWE2MTEwODk3ZmM5MjgyYWRlNTk4YmJiYTcwYWQ3MmI5NDA0MzZlMworQXV0aG9yOiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IEp1biA0IDE2OjEyOjQwIDIwMDkgLTA0MDAKKworICAgIGZzbDogVXBkYXRlIHRoZSBudW1iZXIgb2YgZXRoeGFkZHIgaW4gcmVhZGluZyBzeXN0ZW0gZWVwcm9tCisKKyAgICBXZSBzdXBwb3J0IHVwIHRvIDggbWFjIGFkZHJlc3NlcyBpbiBzeXN0ZW0gZWVwcm9tLCBzbyB3ZSBkZWZpbmUgdGhlIG1hY3JvCisgICAgTUFYX05VTV9QT1JUUyB0byBsaW1pdCB0aGUgbWFjX2NvdW50IHRvIDgsIGFuZCB1cGRhdGUgdGhlIG51bWJlciBvZiBldGh4YWRkcgorICAgIGFjY29yZGluZyB0byBtYWNfY291bnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCBmODIxMDdmNjM3ZjE2N2E3NzgwM2MwOTMzZjliMjQ3NDFhOTFjNzExCitBdXRob3I6IEhhaXlpbmcgV2FuZyA8SGFpeWluZy5XYW5nQGZyZWVzY2FsZS5jb20+CitEYXRlOglXZWQgTWF5IDIwIDEyOjMwOjM3IDIwMDkgLTA0MDAKKworICAgIDg1eHg6IEFkZCBSTUlJIHN1cHBvcnQgZm9yIE1QQzg1NjlNRFMKKworICAgIFRoaXMgcGF0Y2ggc3VwcG9ydHMgVUNDIHdvcmtpbmcgYXQgUk1JSSBtb2RlIG9uIFBJQiBib2FyZCwgZml4dXAgZmR0IGJsb2IgdG8KKyAgICBzdXBwb3J0IHJtaWkgaW4ga2VybmVsLiBJdCBhbHNvIGNoYW5nZXMgdGhlIG5hbWUgb2YgZW5hYmxlX21wYzg1NjltZHNfcWVfbWRpbyB0bworICAgIGVuYWxiZV9tcGM4NTY5bWRzX3FlX3VlYyB3aGljaCBpcyAgbW9yZSBhY2N1cmF0ZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhaXlpbmcgV2FuZyA8SGFpeWluZy5XYW5nQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDc1MDA5OGQzM2JjMzYyYWM0MjYzODYzZTkyZGExNThjZjAxMTA2M2YKK0F1dGhvcjogSGFpeWluZyBXYW5nIDxIYWl5aW5nLldhbmdAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVdlZCBNYXkgMjAgMTI6MzA6MzYgMjAwOSAtMDQwMAorCisgICAgODV4eDogQWRkIFVFQzMgYW5kIFVFQzQgc3VwcG9ydCBmb3IgTVBDODU2OU1EUworCisgICAgU2lnbmVkLW9mZi1ieTogSGFpeWluZyBXYW5nIDxIYWl5aW5nLldhbmdAZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorCitjb21taXQgNGU3YjI1ZTRmZTc3N2Y1MjVlNDI2Y2JkNThjM2EzOTc2YzU2NGYyZQorQXV0aG9yOiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJV2VkIE1heSAyMCAxMjozMDozNSAyMDA5IC0wNDAwCisKKyAgICBkcml2ZXJzL3FlOiBBZGQgbW9yZSBTTlVNIG51bWJlciBmb3IgUUUKKworICAgIFNvbWUgUUUgY2hpcHMgbGlrZSA4NTY5IG5lZWQgbW9yZSBTTlVNIG51bWJlcnMgZm9yIHN1cHBvcnRpbmcgNCBVRUNzIGluIFJHTUlJLQorICAgIDEwMDAgbW9kZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhaXlpbmcgV2FuZyA8SGFpeWluZy5XYW5nQGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IFRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDcyMTFmYmZhMThmMzA2MTg1ODY5NjE1MGVlNmU5ZTA5M2Q5ZWNlYWUKK0F1dGhvcjogSGFpeWluZyBXYW5nIDxIYWl5aW5nLldhbmdAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVRodSBNYXkgMjEgMTU6MzQ6MTQgMjAwOSAtMDQwMAorCisgICAgZHJpdmVycy9xZTogQ2hhbmdlIFFFIFJJU0MgQUxMT0NBVElPTiB0byBzdXBwb3J0IDQgUklTQ3MKKworICAgIEFsc28gZGVmaW5lIHRoZSBRRV9SSVNDX0FMTE9DQVRJT05fUklTQ3MgdG8gTUFDUk9zIGluc3RlYWQgb2YgdXNpbmcgZW51bSwgYW5kCisgICAgZGVmaW5lIE1BWF9RRV9SSVNDIGZvciBRRSBiYXNlZCBzaWxpY29ucy4KKworICAgIFNpZ25lZC1vZmYtYnk6IEhhaXlpbmcgV2FuZyA8SGFpeWluZy5XYW5nQGZyZWVzY2FsZS5jb20+CisgICAgQWNrZWQtYnk6IFRpbXVyIFRhYmkgPHRpbXVyQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IGIzZDdmMjBmNDNhMGY4ZDExYzY1ZTJmOTIxNTNiNTUxMmIxMTU4MGMKK0F1dGhvcjogSGFpeWluZyBXYW5nIDxIYWl5aW5nLldhbmdAZnJlZXNjYWxlLmNvbT4KK0RhdGU6CVdlZCBNYXkgMjAgMTI6MzA6MjkgMjAwOSAtMDQwMAorCisgICAgODV4eDogQWRkIFFFIGNsayBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorICAgIEFja2VkLWJ5OiBUaW11ciBUYWJpIDxUaW11ckBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CisKK2NvbW1pdCA3MWIzNThjYzI2NzkyODg5YmJhYzM1MDU0ZDhlODlkNTliM2ZhYmM0CitBdXRob3I6IEt1bWFyIEdhbGEgPGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc+CitEYXRlOglXZWQgTWF5IDIwIDAxOjExOjMzIDIwMDkgLTA1MDAKKworICAgIDg1eHg6IEFkZGVkIE1QQzg1MzUvRSBpZGVudGlmaWVycworCisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDIyNDE5ZDc3OTc2YmJkMGRmOWZjZjQ1NTEzZjFiOTZiZDczZTUwZDEKK0F1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KK0RhdGU6CVRodSBNYXkgMjEgMDg6MzY6NDMgMjAwOSAtMDUwMAorCisgICAgODV4eDogQWx3YXlzIGF0dGVtcHQgZXRoZXJuZXQgZGV2aWNlIHRyZWUgZml4dXAKKworICAgIEl0cyByZWFzb25hYmxlIHRoYXQgd2UgbWF5IGhhdmUgZXRoZXJuZXQgZGV2aWNlcyBidXQgZG9udCBoYXZlIGRyaXZlcnMKKyAgICBvciBzdXBwb3J0IGVuYWJsZWQgZm9yIHRoZW0gaW4gdS1ib290IGFuZCB3YW50IHRoZSBkZXZpY2UgdHJlZSBmaXhlZCB1cC4KKyAgICBVbmNvbmRpdGlvbmFsbHkgY2FsbGluZyB0aGUgZXRoZXJuZXQgZml4dXAgaXMgZmluZSBzaW5jZSBpZiB3ZSBkb250IGhhdmUKKyAgICBldGhlcm5ldCBub2RlcyB0aGF0IG1hdGNoIChvciBhbGlhc2VzKSB3ZSB3aWxsIG5vdCBhdHRlbXB0IHRvIGRvCisgICAgYW55dGhpbmcuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBLdW1hciBHYWxhIDxnYWxha0BrZXJuZWwuY3Jhc2hpbmcub3JnPgorICAgIEFja2VkLWJ5OiBUaW11ciBUYWJpIDx0aW11ckBmcmVlc2NhbGUuY29tPgorCitjb21taXQgNTJkNmFkNWVjZmIyMjkzODQ0MWM4ZTNlNjI5MzVmYmQ3YjBmMDkyMAorQXV0aG9yOiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE1heSAyMSAxNTozMjoxMyAyMDA5IC0wNDAwCisKKyAgICBkcml2ZXJzL3FlOiBSZW5hbWUgdGhlIGNhbWVsLWNhc2UgaWRlbnRpZmllcnMgaW4gdWVjCisKKyAgICBSZW5hbWUgcmlzY1J4L3Jpc2NUeCB0byByaXNjX3J4L3Jpc2NfdHggdG8gY29tcGx5IHdpdGggQ29kaW5nc3R5bGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBIYWl5aW5nIFdhbmcgPEhhaXlpbmcuV2FuZ0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgZmViNzgzOGY5NzllYzJiNTgxZGYzYzc5MWI5YWUzMjg0YzM2YmI0NworQXV0aG9yOiBTcmlrYW50aCBTcmluaXZhc2FuIDxzcmlrYW50aC5zcmluaXZhc2FuQGZyZWVzY2FsZS5jb20+CitEYXRlOglGcmkgQXByIDMgMTU6MzY6MTMgMjAwOSAtMDUwMAorCisgICAgODV4eDogQWRkIFAyMDIwRFMgc3VwcG9ydAorCisgICAgVGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgUDIwMjBEUyByZWZlcmVuY2UgcGxhdGZvcm0uCisgICAgRERSMyBpbnRlcmZhY2UgdXNlcyBoYXJkLWNvZGVkIGluaXRpYWxpemF0aW9uIHJhdGhlciB0aGFuIFNQRAorICAgIGZvciBub3cgYW5kIHdhcyB0ZXN0ZWQgYXQgNjY3TWh6LiBTb21lIFBJWElTIHJlZ2lzdGVyCisgICAgZGVmaW5pdGlvbnMgYW5kIGFzc29jaWF0ZWQgY29kZSBzZWN0aW9ucyBuZWVkIHRvIGJlIGZpeGVkLgorICAgIFRTRUMxLzIvMywgTk9SIGZsYXNoLCBNQUMvU1lTIElEIEVFUFJPTSwgUENJRTEvMi8zIGFyZSBhbGwKKyAgICB0ZXN0ZWQgdW5kZXIgdS1ib290LgorCisgICAgU2lnbmVkLW9mZi1ieTogU3Jpa2FudGggU3Jpbml2YXNhbiA8c3Jpa2FudGguc3Jpbml2YXNhbkBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFRyYXZpcyBXaGVhdGxleSA8VHJhdmlzLldoZWF0bGV5QGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KKworY29tbWl0IDIyOTU0OWE1NmQ5YWU0MTNjMDBmNjRmZDdjNzI4YzY4NzlhMWI1NGIKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVHVlIEp1biA5IDE2OjU3OjQ3IDIwMDkgKzAyMDAKKworICAgIG1wYzUxMng6IE1QQzUxMjFBRFM6IEFkZCBOQU5EIHN1cHBvcnQKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBOQU5EIHN1cHBvcnQgdG8gdGhlIE1QQzUxMjFBRFMgYm9hcmQuIFBsZWFzZQorICAgIG5vdGUgdGhhdCB0aGUgaW1hZ2Ugc2l6ZSBpbmNyZWFzZWQgc2luY2UgTkFORCBzdXBwb3J0IGRpZG4ndAorICAgIGZpdCBpbiB0aGUgY3VycmVudCBpbWFnZSBzaXplICgyNTZrKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgMzVmMmVkYmI2Y2FkMDQzY2NkNWVhNmU3OGZlOWI3YWEyMWQ4Mzk1ZgorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUdWUgSnVuIDkgMTY6NTc6MDMgMjAwOSArMDIwMAorCisgICAgbmFuZC9tcGM1MTJ4OiBBZGQgTVBDNTEyeCBOQU5EIHN1cHBvcnQgKE5GQykKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBOQU5EIEZsYXNoIENvbnRyb2xsZXIgZHJpdmVyIGZvciBNUEM1MTIxIHJldmlzaW9uIDIuCisgICAgQWxsIGRldmljZSBmZWF0dXJlcywgZXhjZXB0IGhhcmR3YXJlIEVDQyBhbmQgcG93ZXIgbWFuYWdlbWVudCwgYXJlCisgICAgc3VwcG9ydGVkLgorCisgICAgVGhpcyBORkMgZHJpdmVyIHJlcGxhY2VzIHRoZSBvbmUgb3JpZ25hbGx5IHBvc3RlZCBieSBKb2huIFJpZ2J5OgorCisgICAgIltQQVRDSF0gRnJlZXNjYWxlIE5GQyBOQU5EIGRyaXZlciIKKworICAgIEl0J3MgYSBwb3J0IG9mIHRoZSBMaW51eCBkcml2ZXIgdmVyc2lvbiBwb3N0ZWQgYnkgUGlvdHIgWmllY2lrIGEgZmV3CisgICAgd2Vla3MgYWdvLiBVc2luZyB0aGlzIGRyaXZlciBoYXMgdGhlIGZvbGxvd2luZyBhZHZhbnRhZ2VzIChmcm9tIG15CisgICAgcG9pbnQgb2Ygdmlldyk6CisKKyAgICAtIENvbXBhdGliaWxpdHkgd2l0aCB0aGUgTGludXggTkFORCBkcml2ZXIgKGUuZy4gRUNDIHVzYWdlKQorICAgIC0gQmV0dGVyIGNvZGUgcXVhbGl0eSBpbiBnZW5lcmFsCisgICAgLSBSZXN1bHRpbmcgVS1Cb290IGltYWdlIGlzIGEgYml0IHNtYWxsZXIgKGFwcHJveC4gM2spCisgICAgLSBCZXR0ZXIgdG8gc3luYyB3aXRoIG5ld2VyIExpbnV4IGRyaXZlciB2ZXJzaW9ucworCisgICAgVGhlIG9ubHkgZGlzYWR2YW50YWdlIEkgY2FuIHNlZSwgaXMgdGhhdCBIVy1FQ0MgaXMgbm90IHN1cHBvcnRlZCByaWdodAorICAgIG5vdy4gQnV0IHRoaXMgY291bGQgYmUgYWRkZWQgbGF0ZXIgKGUuZy4gcG9ydCBmcm9tIExpbnV4IGRyaXZlciBhZnRlcgorICAgIGl0J3Mgc3VwcG9ydGVkIHRoZXJlKS4gVXNpbmcgSFctRUNDIG9uIHRoZSBNQ1A1MTIxIE5GQyBoYXMgYSBnZW5lcmFsCisgICAgcHJvYmxlbSBiZWNhdXNlIG9mIHRoZSBFQ0MgdXNhZ2UgaW4gdGhlIHNwYXJlIGFyZWEuIFRoaXMgY29sbGlkZXMgd2l0aAorICAgIEpGRlMyIGZvciBleGFtcGxlLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIENjOiBQaW90ciBaaWVjaWsgPGtvc21vQHNlbWloYWxmLmNvbT4KKyAgICBDYzogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogSm9obiBSaWdieSA8amNyaWdieUBnbWFpbC5jb20+CisgICAgQ2M6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZTUzYjUwN2NlZTVkOTc2OTUzMTM0YTU2NWM3MmZkMzJjOTY3ZDdkZAorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUdWUgSnVuIDkgMTE6NTA6NDAgMjAwOSArMDIwMAorCisgICAgbXBjNTEyeDogQWRkIGVzZCBnbWJoIG1lY3A1MTIzIGJvYXJkIHN1cHBvcnQKKworICAgIE1FQ1A1MTIzIGlzIGEgTVBDNTEyMUUgYmFzZWQgbW9kdWxlIGJ5IGVzZCBnbWJoLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIENjOiBSZWluaGFyZCBBcmx0IDxyZWluaGFyZC5hcmx0QGVzZC1lbGVjdHJvbmljcy5jb20+CisKK2NvbW1pdCA2YmQ1NWNjNjVkMGMzYWE4NGQ3MTk1MTgyNTRmYjNjNjUwMjM5ZWQ5CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CVR1ZSBKdW4gOSAxMTo1MDowNSAyMDA5ICswMjAwCisKKyAgICBtY3A1MTJ4OiBBZGQgbWFjcm9zIGZvciBTQ0ZSIExQQyBkaXZpc29yIGFjY2VzcworCisgICAgVGhvcyBtYWNyb3Mgd2lsbCBiZSB1c2VkIGJ5IHRoZSBlc2QgbWVjcDUxMjMgYm9hcmQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBjNjBkYzg1MjdkYmIyYTEzMThjMDNiYzE4YmRlYmNmYmQwMTY0NTUxCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBKdW4gOCAwOTozODowNyAyMDA5ICswMjAwCisKKyAgICBtcGM1MTJ4OiBGaXggcHJvYmxlbSB3aXRoIEkyQyBhY2Nlc3MgYmVmb3JlIHJlbG9jYXRpb24KKworICAgIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgdXBjb21pbmcgZXNkIE1FQ1A1MTIzIGJvYXJkIHBvcnQgd2hpY2ggdXNlcworICAgIEkyQyBFRVBST00gZm9yIGVudmlyb25tZW50IHN0b3JhZ2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQ2M6IFJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KKyAgICBBY2tlZC1ieTogSGVpa28gU2Nob2NoZXI8aHNAZGVueC5kZT4KKworY29tbWl0IDU4ZjEwNDYwYjA1ZTA5MjhkOTg2YjE1ZWRkNGYyZTFlOTk0MDNmN2UKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVGh1IEp1biA0IDEzOjM1OjM5IDIwMDkgKzAyMDAKKworICAgIDc0eHhfN3h4OiBDUENJNzUwOiBBZGQgQ1BDSSBhZGFwdGVyL3RhcmdldCBzdXBwb3J0CisKKyAgICBUaGUgQ1BDSTc1MCBjYW4gYmUgYnVpbHQgYXMgQ1BDSSBob3N0IG9yIGFkYXB0ZXIvdGFyZ2V0IGJvYXJkLiBUaGlzIHBhdGNoCisgICAgYWRkcyBzdXBwb3J0IGZvciBydW50aW1lIGRldGVjdGlvbiBvZiB0aG9zZSB2YXJpYW50cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogUmVpbmhhcmQgQXJsdCA8cmVpbmhhcmQuYXJsdEBlc2QtZWxlY3Ryb25pY3MuY29tPgorCitjb21taXQgYWU3YTI3MzlkN2EwNzA0NDM3Mzc2ZTIyOWJiMjE5NDA5NTJjNTViZQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglGcmkgSnVuIDUgMDU6NDU6NDEgMjAwOSArMDIwMAorCisgICAgNzR4eF83eHg6IENQQ0k3NTA6IEVuYWJsZSBhY2Nlc3MgdG8gUENJIGZ1bmN0aW9uID4gMAorCisgICAgVGhlIE1hcnZlbGwgYnJpZGdlIDY0MzYwIHN1cHBvcnRzIHNlcnZlcmFsIFBDSSBmdW5jdGlvbnMsIG5vdCBvbmx5IDAuIFRoaXMKKyAgICBwYXRjaCBlbmFibGVzIGFjY2VzcyB0byB0aG9zZSBmdW5jdGlvbnMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQ2M6IFJlaW5oYXJkIEFybHQgPHJlaW5oYXJkLmFybHRAZXNkLWVsZWN0cm9uaWNzLmNvbT4KKworY29tbWl0IGU1YjU2M2U5ZWM1NGMzZjZkNzAyYzhmYTJiNzExYjRhNjE1MDI0M2EKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVGh1IEp1biA0IDEzOjM1OjM3IDIwMDkgKzAyMDAKKworICAgIDc0eHhfN3h4OiBDUENJNzUwOiBNaW5vciBjb2Rpbmcgc3R5bGUgY2xlYW51cCBvZiBjcGNpNzUwLmMKKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogUmVpbmhhcmQgQXJsdCA8cmVpbmhhcmQuYXJsdEBlc2QtZWxlY3Ryb25pY3MuY29tPgorCitjb21taXQgMGU1ZWYwN2QwZDkxYmQzZDg3ZWJlYTA1MzRmNTM4NTYxYWE5NzRkNQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUaHUgSnVuIDQgMTM6MzU6MzYgMjAwOSArMDIwMAorCisgICAgNzR4eF83eHg6IENQQ0k3NTA6IEFkZCBsb2FkcGNpIGNvbW1hbmQKKworICAgIFRoaXMgY29tbWFuZCBpcyB1c2VkIHRvIGxvYWQvYm9vdCBhbiBPUy1pbWFnZSB3aGljaCBpcyB0cmFuc2ZlcnJlZCBmcm9tCisgICAgdGhlIENQQ0kgaG9zdCB0byB0aGUgQ1BDSSB0YXJnZXQvYWRhcHRlci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogUmVpbmhhcmQgQXJsdCA8cmVpbmhhcmQuYXJsdEBlc2QtZWxlY3Ryb25pY3MuY29tPgorCitjb21taXQgMGExNGQ2YjhmNGQyMWZmNTlhOWI3Njg2YTQ5YTc3MDY5YTlmY2QyYQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUaHUgSnVuIDQgMTM6MzU6MzUgMjAwOSArMDIwMAorCisgICAgNzR4eF83eHg6IENQQ0k3NTA6IEFkZCBjb21tYW5kbGluZSBlZGl0aW5nL2hpc3RvcnkKKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogUmVpbmhhcmQgQXJsdCA8cmVpbmhhcmQuYXJsdEBlc2QtZWxlY3Ryb25pY3MuY29tPgorCitjb21taXQgNjBjZmU4N2JkMzllNmYwN2YyYjkyZWI0YmZmODJiZmQxMDVmNDcyNAorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUaHUgSnVuIDQgMTY6NTU6MzQgMjAwOSArMDIwMAorCisgICAgVUJJOiBBZGQgY29tcGlsZS10aW1lIGNoZWNrIGZvciBjb3JyZWN0IG1hbGxvYyBhcmVhIGNvbmZpZ3VyYXRpb24KKworICAgIFVCSSBpcyBxdWl0ZSBtZW1vcnkgZ3JlZWR5IGFuZCByZXF1aXJlcyBhdCBsZWFzdCBhcHByb3guIDUxMmsgb2YgbWFsbG9jCisgICAgYXJlYS4gVGhpcyBwYXRjaCBhZGRzIGEgY29tcGlsZS10aW1lIGNoZWNrLCBzbyB0aGF0IGJvYXJkcyB3aWxsIG5vdAorICAgIGJ1aWxkIHdpdGggbGVzcyBtZW1vcnkgcmVzZXJ2ZWQgZm9yIHRoaXMgYXJlYSAoQ09ORklHX1NZU19NQUxMT0NfTEVOKS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDdjZTYwMzFhZmM4NjcxYzhiNDdjNjEzNWIzNjc4ZDQzZmNkMDI4NTIKK0F1dGhvcjogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorRGF0ZToJTW9uIEFwciA2IDIxOjI0OjQzIDIwMDkgKzA1MzAKKworICAgIHNmOiBuZXcgTWFjcm9uaXggTVgyNXh4IFNQSSBmbGFzaCBkcml2ZXIKKworICAgIEFkZGVkIG1hY3Jvbml4IFNGIGRyaXZlciBmb3IgTVREIGZyYW1ld29yaworICAgIE1YMjVMMTI4MDVEIGlzIHN1cHBvcnRlZCBhbmQgdGVzdGVkCisgICAgVEJEOiBzZWN0b3IgZXJhc2UgaW1wbGVtZW50YXRpb24sIG90aGVyIGRlaXZjZXMgc3VwcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDJhNmNjNTg4NjkzMDVmMzQ2ZTM4OWVlZmRmYTk2ZGVhNTE0NmNiMGMKK0F1dGhvcjogVG9kb3IgSSBNb2xsb3YgPHRtb2xsb3ZAdWNzZC5lZHU+CitEYXRlOglTYXQgQXByIDQgMDc6MTQ6NDQgMjAwOSAtMDQwMAorCisgICAgc2Y6IGF0bWVsOiBpbXBsZW1lbnQgcG93ZXItb2YtdHdvIHdyaXRlL2VyYXNlIGZ1bmNzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb2RvciBJIE1vbGxvdiA8dG1vbGxvdkB1Y3NkLmVkdT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisgICAgQ0M6IEhhYXZhcmQgU2tpbm5lbW9lbiA8aGFhdmFyZC5za2lubmVtb2VuQGF0bWVsLmNvbT4KKworY29tbWl0IDRiYzZlYjc5YmUyYTczMTc0MjU1NzUxODQzMjRiOTRlM2I0M2ZiYzIKK0F1dGhvcjogVml2ZWsgTWFoYWphbiA8dml2ZWsubWFoYWphbkBmcmVlc2NhbGUuY29tPgorRGF0ZToJTW9uIE1heSAyNSAxNzoyMzoxOCAyMDA5ICswNTMwCisKKyAgICBtcGM4NXh4OiA4NTM2ZHM6IEFkZCBVU0IgcmVsYXRlZCBDT05GSUdzCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgQ09ORklHcyBmb3IgZW5hYmxpbmcgVVNCIGluIG1wYzg1MzZkcyBhbmQgYWxzbworICAgIGFkZHMgdXNiX3BoeV90eXBlIGluIENPTkZJR19FWFRSQV9FTlZfU0VUVElOR1MuIEFsc28gcmV2YW1wcyBpdHMKKyAgICBDb3B5cmlnaHQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBWaXZlayBNYWhhamFuIDx2aXZlay5tYWhhamFuQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CisKK2NvbW1pdCA2ODIzZTliMDEyOTA5NzdjNGQ5YzkwMzgxNDU5YzAxZjY2ZTEyZTc5CitBdXRob3I6IFZpdmVrIE1haGFqYW4gPHZpdmVrLm1haGFqYW5AZnJlZXNjYWxlLmNvbT4KK0RhdGU6CU1vbiBNYXkgMjUgMTc6MjM6MTcgMjAwOSArMDUzMAorCisgICAgbXBjODN4eDogODMxNWVyZGI6IEFkZCBVU0IgcmVsYXRlZCBDT05GSUdzCisKKyAgICBUaGlzIHBhdGNoIGFkZHMgQ09ORklHcyBmb3IgZW5hYmxpbmcgVVNCIGluIG1wYzgzMTVlcmRiIGFuZCBhbHNvCisgICAgYWRkcyB1c2JfcGh5X3R5cGUgaW4gQ09ORklHX0VYVFJBX0VOVl9TRVRUSU5HUy4gQWxzbyByZXZhbXBzIGl0cworICAgIENvcHlyaWdodC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFZpdmVrIE1haGFqYW4gPHZpdmVrLm1haGFqYW5AZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKworY29tbWl0IGEwN2JmMTgwZWZjM2MwZGU0YTg5YTNiZDQ5YTdjNzU4NGRmYjk1YTgKK0F1dGhvcjogVml2ZWsgTWFoYWphbiA8dml2ZWsubWFoYWphbkBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE1heSAyMSAxNzozMjo0OCAyMDA5ICswNTMwCisKKyAgICBtcGM4NXh4OiBVU0I6IEFkZCBzdXBwb3J0CisKKyAgICBUaGUgZm9sbG93aW5nIHBhdGNoIGFkZHMgODV4eC1zcGVjaWZpYyBVU0Igc3VwcG9ydCBhbmQgYWxzbworICAgIHJldmFtcHMgQ29weXJpZ2h0IGluIGltbWFwXzg1eHguaAorCisgICAgU2lnbmVkLW9mZi1ieTogVml2ZWsgTWFoYWphbiA8dml2ZWsubWFoYWphbkBmcmVlc2NhbGUuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IFJlbXkgQm9obWVyIDxsaW51eEBib2htZXIubmV0PgorCitjb21taXQgNGVmMDEwMTBhYTQ3OTljNzU5ZDc1ZTY3MDA3ZmRkM2EzOGM4OGM4YQorQXV0aG9yOiBWaXZlayBNYWhhamFuIDx2aXZlay5tYWhhamFuQGZyZWVzY2FsZS5jb20+CitEYXRlOglNb24gTWF5IDI1IDE3OjIzOjE2IDIwMDkgKzA1MzAKKworICAgIG1wYzgzeHg6IFVTQjogUmVvcmdhbml6ZWQgaXRzIHN1cHBvcnQKKworICAgIFRoZSBmb2xsb3dpbmcgcGF0Y2ggcmVvcmdhbml6ZXMvcmV3b3JrcyB0aGUgVVNCIHN1cHBvcnQgZm9yIG1wYzgzeHgKKyAgICBhcyB1bmRlcjotCisKKyAgICAgICogTW92ZXMgdGhlIDgzeHggVVNCIGNsb2NrIGluaXQgZnJvbSBkcml2ZXJzL3VzYi9ob3N0L2VoY2ktZnNsLmMgdG8KKwljcHUvbXB4ODN4eC9jcHVfaW5pdC5jCisKKyAgICAgICogQm9hcmQgc3BlY2lmaWMgdXNiX3BoeV90eXBlIGlzIHJlYWQgZnJvbSB0aGUgZW52aXJvbm1lbnQKKworICAgICAgKiBBZGRzIFVTQiBFSENJIHNwZWNpZmljIHN0cnVjdHVyZSBpbiBpbmNsdWRlL3VzYi9laGNpLWZzbC5oCisKKyAgICAgICogQ29weXJpZ2h0cyByZXZhbXBlZCBpbiBtb3N0IG9mIHRoZSBmb2xsb3dpbmcgZmlsZXMKKworICAgIFNpZ25lZC1vZmYtYnk6IFZpdmVrIE1haGFqYW4gPHZpdmVrLm1haGFqYW5AZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKworY29tbWl0IGVkOTBkMmM4NzE1OGU1MTE0YjYwMDlmYTk1YmI2NDE3ZTRiMjdiM2UKK0F1dGhvcjogVml2ZWsgTWFoYWphbiA8dml2ZWsubWFoYWphbkBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE1heSAyMSAxNzozMjoyNyAyMDA5ICswNTMwCisKKyAgICBtcGM4eHh4OiBVU0I6IFJlbG9jYXRlcyBlaGNpLWZzbC5oIHRvIGluY2x1ZGUvdXNiCisKKyAgICBUaGUgZm9sbG93aW5nIHBhdGNoIG1vdmVzIDh4eHgtc3BlY2lmYyBVU0IgI2RlZmluZXMgZnJvbQorICAgIGRyaXZlcnMvdXNiL2hvc3QvZWhjaS1mc2wuaCB0byBpbmNsdWRlL3VzYi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFZpdmVrIE1haGFqYW4gPHZpdmVrLm1haGFqYW5AZnJlZXNjYWxlLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBSZW15IEJvaG1lciA8bGludXhAYm9obWVyLm5ldD4KKworY29tbWl0IGNmZDM5Y2RmOTQyMmQzZDI1ZTliM2MwNTg4NjVmNGMxZjY2ZjM0ZGEKK0F1dGhvcjogVml2ZWsgTWFoYWphbiA8dml2ZWsubWFoYWphbkBmcmVlc2NhbGUuY29tPgorRGF0ZToJVGh1IE1heSAyMSAxNzozMjoxNSAyMDA5ICswNTMwCisKKyAgICBtcGM4eHh4OiBVU0I6IFJlbW92ZWQgcmVlbmFibGVtZW50IG9mIGl0cyBpbnRlcmZhY2UKKworICAgIFRvIHByZXBhcmUgZm9yIHRoZSA4NXh4IFVTQiBzdXBwb3J0LCB3aGljaCByZXF1aXJlcyBpbnRlcmZhY2UgZW5hYmxlbWVudAorICAgIG9ubHkgb25jZSBpbiAoc3BlY2lmaWVkKSBvcmRlciwgbm8gZGlmZmVyZW50IHRoYW4gaW5zdHJ1Y3Rpb25zIGZvcgorICAgIGVuYWJsaW5nIHRoZSBpbnRlcmZhY2UgdW5kZXIgODN4eC4JSXQgaXMgdW5rbm93biB3aHkgdGhlIG9yaWdpbmFsIGF1dGhvcgorICAgIGVuYWJsZWQgdGhlIGludGVyZmFjZSB0d2ljZSAoY2hlY2tlZCBmb3IgcmVmZXJlbmNlcyBpbiBlcnJhdGEsIGV0YykuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBWaXZlayBNYWhhamFuIDx2aXZlay5tYWhhamFuQGZyZWVzY2FsZS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogUmVteSBCb2htZXIgPGxpbnV4QGJvaG1lci5uZXQ+CisKK2NvbW1pdCAyYzc5MjBhZmFmOTZkOTc3OTMwNDIwMmNkOGEzNTViNGY3NTc2YTgzCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgTWF5IDIyIDE3OjIzOjI1IDIwMDkgLTA1MDAKKworICAgIDgzeHg6IFJlcGxhY2UgQ09ORklHX01QQzgzWzAtOV1YIHdpdGggTVBDODNbMC05XXgKKworICAgIFVzZSB0aGUgc3RhbmRhcmQgbG93ZXJjYXNlICJ4IiBjYXBpdGFsaXphdGlvbiB0aGF0IG90aGVyIEZyZWVzY2FsZQorICAgIGFyY2hpdGVjdHVyZXMgdXNlIGZvciBDUFUgZGVmaW5lcyB0byBwcmV2ZW50IGNvbmZ1c2lvbiBhbmQgZXJyb3JzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCAwZjg5ODYwNDk0NWFmNDU0M2MxNTI1ZmMzM2I2YmFlNjIxYTNiODA1CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgTWF5IDIyIDE3OjIzOjI0IDIwMDkgLTA1MDAKKworICAgIDgzeHg6IFJlcGxhY2UgQ09ORklHX01QQzgzWFggd2l0aCBDT05GSUdfTVBDODN4eAorCisgICAgVXNlIHRoZSBzdGFuZGFyZCBsb3dlcmNhc2UgInh4IiBjYXBpdGFsaXphdGlvbiB0aGF0IG90aGVyIEZyZWVzY2FsZQorICAgIGFyY2hpdGVjdHVyZXMgdXNlIGZvciBDUFUgZGVmaW5lcyB0byBwcmV2ZW50IGNvbmZ1c2lvbiBhbmQgZXJyb3JzCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCBiYTRmZWFlOTBjYTcxZGUxNjgxZDU4MDhmMTdlNzMyMjRkOGYwM2M0CitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CVR1ZSBKdW4gMiAxNjo1MzoxNiAyMDA5ICswMjAwCisKKyAgICBtcGM1MTJ4OiBVc2Ugc2VyaWFsX3NldGJyZygpIGluIHNlcmlhbF9pbml0KCkgdG8gbm90IGR1cGxpY2F0ZSB0aGUgY29kZQorCisgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBkdXBsaWNhdGVkIGNvZGUgZm9yIGJhdWRyYXRlIGdlbmVyYXRvciBjb25maWd1cmF0aW9uCisgICAgaW4gdGhlIFBTQyBzZXJpYWxfaW5pdCgpIGltcGxlbWVudGF0aW9uIGJ5IGNhbGxpbmcgc2VyaWFsX3NldGJyZygpIGluc3RlYWQKKyAgICBvZiBkdXBsaWNhdGluZyB0aGUgY29kZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGI4YzFkNmE1NGZmODE5NTQ4OGI2OGUxNjNkZThlYzMxZjE2MDM0OTYKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVHVlIEp1biAyIDE2OjUzOjE1IDIwMDkgKzAyMDAKKworICAgIG1wYzUxMng6IEZpeCBQU0MgZGl2aXNvciBjYWxjdWxhdGlvbiBmb3IgYmF1ZHJhdGUgc2V0dGluZworCisgICAgVGhlIHdyb25nIGlucHV0IGZyZXF1ZW5jeSB3YXMgdXNlZCBpbiBzZXJpYWxfc2V0YnJnKCkuIFRoaXMgcGF0Y2ggZml4ZXMKKyAgICB0aGlzIGJ5IHVzaW5nIGlwc19jbGsgYXMgaW5wdXQgZnJlcXVlbmN5IGZvciB0aGUgUFNDIGJhdWRyYXRlIGdlbmVyYXRvci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDUyNTY4YzM2NTRiMmIyNTcwMTZkNTIxNjc4MDVhZTEzMmZhYWMxNGUKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVNhdCBNYXkgMTYgMTA6NDc6NDYgMjAwOSArMDIwMAorCisgICAgTVBDNTEyeDogYWRkIHN1cHBvcnQgZm9yIEFSSUEgYm9hcmQKKworICAgIEFSSUEgaXMgYSBNUEM1MTIxRSBiYXNlZCBDT00gRXhwcmVzcyBtb2R1bGUgYnkgRGF2ZS9ERU5YLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogSm9obiBSaWdieSA8amNyaWdieUBnbWFpbC5jb20+CisKK2NvbW1pdCAzYjc0ZTdlYzU4ZTJjYzM1MmIwYTM5NmE2MTQwNjVjZmViOGQxMzhmCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglTYXQgTWF5IDE2IDEwOjQ3OjQ1IDIwMDkgKzAyMDAKKworICAgIE1QQzUxMng6IHJlbW92ZSBpbmNsdWRlL21wYzUxMnguaAorCisgICAgTW92ZSBuZWVkZWQgZGVmaW5pdGlvbnMgKHJlZ2lzdGVyIGRlc2NyaXB0aW9ucyBldGMuKSBmcm9tCisgICAgaW5jbHVkZS9tcGM1MTJ4LmggIGludG8gIGluY2x1ZGUvYXNtLXBwYy9pbW1hcF81MTJ4LmguCisKKyAgICBJbnN0ZWFkIG9mIHVzaW5nIGEgI2RlZmluZSdkIHJlZ2lzdGVyIG9mZnNldCwgdXNlIGEgZnVuY3Rpb24gdGhhdAorICAgIHByb3ZpZGVzIHRoZSBQQVRBIGNvbnRyb2xsZXIncyBiYXNlIGFkZHJlc3MuCisKKyAgICBBbGwgdGhlIHJlc3Qgb2YgaW5jbHVkZS9tcGM1MTJ4LmggYXJlIHJlZ2lzdGVyIG9mZnNldCBkZWZpbml0aW9ucworICAgIHdoaWNoIGNhbiBiZSBlbGltaW5hdGVkIGJ5IHByb3BlciB1c2Ugb2YgQyBzdHJ1Y3R1cmVzLgorCisgICAgVGhlcmUgYXJlIG9ubHkgYSBmZXcgcmVnaXN0ZXIgb2Zmc2V0cyByZW1haW5pbmcgdGhhdCBhcmUgbmVlZGVkIGluCisgICAgY3B1L21wYzUxMngvc3RhcnQuUzsgZm9yIHRoZXNlIHdlIHByb3ZpZGUgY3B1L21wYzUxMngvYXNtLW9mZnNldHMuaAorICAgIHdoaWNoIGlzIGludGVuZGVkIGFzIGEgdGVtcG9yYXJ5IHdvcmthcm91bmQgb25seS4gSW4gYSBsYXRlciBwYXRjaAorICAgIHRoaXMgZmlsZSB3aWxsIGJlIHJlbW92ZWQsIHRvbywgYW5kIHRoZW4gYXV0by1nZW5lcmF0ZWQgZnJvbSB0aGUKKyAgICByZXNwZWN0aXZlIEMgc3RydWN0cy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IEpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgorCitjb21taXQgYTkyN2U0OTFiMmEzMjZjMWU5YzQzMTNlM2NlNDA0Mjk4ODQyMjY5NworQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU2F0IE1heSAxNiAxMDo0Nzo0NCAyMDA5ICswMjAwCisKKyAgICBNUEM1MTJ4IEZFQzogZ2V0IHJpZCBvZiBkdXBsaWNhdGVkIHN0cnVjdCBldGhlcm5ldF9yZWdzCisKKyAgICBVc2UgZXhpc3Rpbmcgc3RydWN0IGZlYzUxMnggaW5zdGVhZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IEpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgorICAgIEFja2VkLWJ5OiBCZW4gV2FycmVuIDxiaWdnZXJiYWRkZXJiZW5AZ21haWwuY29tPgorCitjb21taXQgODQzZWZiMTE5MmNjOGZkNGY5MDRhMjNkYmFiNGUwZmUzZTFjNWJjMgorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU2F0IE1heSAxNiAxMDo0Nzo0MyAyMDA5ICswMjAwCisKKyAgICBNUEM1MTJ4OiB1c2UgSS9PIGFjY2Vzc29ycyBpbnN0ZWFkIG9mIHBvaW50ZXIgYWNjZXNzZXMKKworICAgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhlIE1QQzUxMnggY29kZSB0byB1c2UgSS9PIGFjY2Vzc29yIGNhbGxzIChpLmUuCisgICAgb3V0XyooKSBhbmQgaW5fKigpKSBpbnN0ZWFkIG9mIHVzaW5nIGRlcHJlY2F0ZWQgcG9pbnRlciBhY2Nlc3Nlcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IEpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgorCitjb21taXQgMTlkYzdlMTc5MjY4YmUxNDhlNTUwYzM2MjAzMjA4YzY2MjYxMGQ3NgorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU2F0IE1heSAxNiAxMDo0Nzo0MiAyMDA5ICswMjAwCisKKyAgICBNUEM1MTJ4OiBhZGQgbW9yZSBoYXJkd2FyZSBkZXNjcmlwdGlvbiB0byBpbW1hcF81MTJ4LmgKKworICAgIC0gYWRkIEdQSU8gbW9kdWxlIGRlc2NyaXB0aW9uCisgICAgLSBhZGQgQWRkcmVzcyBMYXRjaCBUaW1pbmcgUmVnaXN0ZXIgZGVzY3JpcHRpb24KKyAgICAtIGFkZCBJTyBDb250cm9sIE1lbW9yeSBNYXAKKyAgICAtIGFkZCBGRUMgTWVtb3J5IE1hcAorCisgICAgQWxzbyBjaGFuZ2UgYm9hcmQvZnJlZXNjYWxlL21wYzUxMjFhZHMvbXBjNTEyMWFkcy5jIGFuZAorICAgIGNwdS9tcGM1MTJ4L2lvcGluLmMgYXMgbmVlZGVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogSm9obiBSaWdieSA8amNyaWdieUBnbWFpbC5jb20+CisKK2NvbW1pdCA3MjYwMWQwNGZkZmRkNGM3NTk3YWZjZjFmNmFhYjY1NGJkOTkzNjZjCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglTYXQgTWF5IDE2IDEwOjQ3OjQxIDIwMDkgKzAyMDAKKworICAgIFJlbmFtZSBhZHM1MTIxIGJvYXJkIGludG8gbXBjNTEyMWFkcworCisgICAgV2UgcmVuYW1lIHRoZSBib2FyZCBzbyB3ZSB1c2UgYSBjb25zaXN0ZW50IG5hbWUgaW4gVS1Cb290IGFuZCBpbgorICAgIExpbnV4LiAgQWxzbywgd2UgdXNlIHRoaXMgb3Bwb3J0dW5pdHkgdG8gbW92ZSB0aGUgYm9hcmQgaW50byB0aGUKKyAgICBGcmVlY2FsZSB2ZW5kb3IgZGlyZWN0b3J5LgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogSm9obiBSaWdieSA8amNyaWdieUBnbWFpbC5jb20+CisKK2NvbW1pdCBkZWJmODc0MTU1NzljMGY1MGFhYjllMDgzMjk3NmQ0NTA2YmFiZTBmCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglTYXQgTWF5IDE2IDEwOjQ3OjQwIDIwMDkgKzAyMDAKKworICAgIGNwdS9tcGM1MTJ4L2RpdS5jOiBmaXggd2FybmluZzogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUKKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IEpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgorCitjb21taXQgOGIyNTEyNjMxOTFlYzU1NDk2N2RkMWFkZDYyMzdjMWJhN2Y3ZWIyNQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU2F0IE1heSAxNiAxMDo0NzozOSAyMDA5ICswMjAwCisKKyAgICBjcHUvbXBjNTEyeC9wY2kuYzogbWlub3IgY29kaW5nIHN0eWxlIGNsZWFudXAKKworICAgIEdldCByaWQgb2YgdmFyaWFibGUgZGVjbGFyYXRpb24gaW4gdGhlIG1pZGRsZSBvZiB0aGUgY29kZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisgICAgQ2M6IEpvaG4gUmlnYnkgPGpjcmlnYnlAZ21haWwuY29tPgorCitjb21taXQgZGUyNmVmOTliZGRiY2U0ZWQyMjVmOTNhZmNmMGJlZTk5YzNiNmY4NworQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU2F0IE1heSAxNiAxMDo0NzozOCAyMDA5ICswMjAwCisKKyAgICBtcGM1MTJ4OiBNb3ZlIGNvbW1vbiBmaWxlcyB0byBzaGFyZSB0aGVtIGJ5IHNldmVyYWwgYm9hcmRzCisKKyAgICBXZSB3aWxsIHNvb24gc2VlIHNldmVyYWwgbmV3IE1QQzUyMXggYmFzZWQgYm9hcmRzIGFkZGVkLiAgVGhpcyBwYXRjaAorICAgIG1vdmVzIGZpbGVzIHRoYXQgYXJlIG5vdCBib2FyZCBzcGVjaWZpYyB0byBhIGNvbW1vbiBkaXJlY3Rvcnkgc28gdGhleQorICAgIGNhbiBiZSBzaGFyZWQgYnkgYWxsIHN1Y2ggcG9ydHMuICBJdCBhbHNvIHNwbGl0cyBvZmYgY29tbW9uIElERSBjb2RlCisgICAgaW50byBhIG5ldyBmaWxlLCBjcHUvbXBjNTEyeC9pZGUuYyAuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBKb2huIFJpZ2J5IDxqY3JpZ2J5QGdtYWlsLmNvbT4KKworY29tbWl0IDAzZTA2OWRjMGE3NjVkNTA2Zjc4YTY4MzE5YWNmMzNkNDMyZTAzNWIKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVNhdCBNYXkgMTYgMTA6NDc6MzcgMjAwOSArMDIwMAorCisgICAgbXBjNTEyeDogY2hhbmdlIGNwdS9tcGM1MTJ4L01ha2VmaWxlIHRvIHVzZSBLY29uZmlnIHN0eWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBKb2huIFJpZ2J5IDxqY3JpZ2J5QGdtYWlsLmNvbT4KKworY29tbWl0IGE4OWMzM2RiOTZhMWU1NTMxOWEyODZkZDRjM2MwNWNhNjRhYzZiZmQKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CVN1biBNYXkgMjQgMTc6MDY6NTQgMjAwOSArMDIwMAorCisgICAgR2VuZXJhbCBoZWxwIG1lc3NhZ2UgY2xlYW51cAorCisgICAgTWFueSBvZiB0aGUgaGVscCBtZXNzYWdlcyB3ZXJlIG5vdCByZWFsbHkgaGVscGZ1bDsgZm9yIGV4YW1wbGUsIG1hbnkKKyAgICBjb21tYW5kcyB0aGF0IHRha2Ugbm8gYXJndW1lbnRzIHdvdWxkIG5vdCBwcmludCBhIGNvcnJlY3Qgc3lub3BzaXMKKyAgICBsaW5lLCBidXQgIk5vIGFkZGl0aW9uYWwgaGVscCBhdmFpbGFibGUuIiB3aGljaCBpcyBub3QgZXhhY3RseSB3cm9uZywKKyAgICBidXQgbm90IGhlbHBmdWwgZWl0aGVyLgorCisgICAgQ29tbWl0IGBgTWFrZSAidXNhZ2UiIG1lc3NhZ2VzIG1vcmUgaGVscGZ1bC4nJyBjaGFuZ2VkIHRoaXMKKyAgICBwYXJ0aWFsbHkuIEJ1dCBpdCBhbHNvIGJlY2FtZSBjbGVhciB0aGF0IGxvdHMgb2YgIlVzYWdlIiBhbmQgIkhlbHAiCisgICAgbWVzc2FnZXMgKGZpZWxkcyAidXNhZ2UiIGFuZCAiaGVscCIgaW4gc3RydWN0IGNtZF90YmxfcyByZXNwZWN0aXZlKQorICAgIHdlcmUgYWN0dWFsbHkgcmVkdW5kYW50LgorCisgICAgVGhpcyBwYXRjaCBjbGVhbnMgdGhpcyB1cCAtIGZvciBleGFtcGxlOgorCisgICAgQmVmb3JlOgorCT0+IGhlbHAgZHR0CisJZHR0IC0gRGlnaXRhbCBUaGVybW9tZXRlciBhbmQgVGhlcm1vc3RhdAorCisJVXNhZ2U6CisJZHR0CSAgICAtIFJlYWQgdGVtcGVyYXR1cmUgZnJvbSBkaWdpdGFsIHRoZXJtb21ldGVyIGFuZCB0aGVybW9zdGF0LgorCisgICAgQWZ0ZXI6CisJPT4gaGVscCBkdHQKKwlkdHQgLSBSZWFkIHRlbXBlcmF0dXJlIGZyb20gRGlnaXRhbCBUaGVybW9tZXRlciBhbmQgVGhlcm1vc3RhdAorCisJVXNhZ2U6CisJZHR0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgOTQ3OTZkODU0NGQ0MjQ4MDI4MTQxYmFkMTFjNmE3NGI4NDBlOWQ2ZQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJU3VuIE1heSAyNCAxOToxNzoyOSAyMDA5ICswMjAwCisKKyAgICBNYWtlICJ1c2FnZSIgbWVzc2FnZXMgbW9yZSBoZWxwZnVsLgorCisgICAgSW4gY2FzZSBvZiBpbmNvcnJlY3QgY29tbWFuZCBpbnZvY2F0aW9ucyBVLUJvb3QgdXNlZCB0byBwcmludCBwcmV0dHkKKyAgICB1c2VsZXNzICJ1c2FnZSIgbWVzc2FnZXMsIGZvciBleGFtcGxlOgorCisJPT4gbmFuZCBtYXJrYmFkCisJVXNhZ2U6CisJbmFuZCAtIE5BTkQgc3ViLXN5c3RlbQorCisgICAgSW4gdGhlIHJlc3VsdCwgdGhlIHVzZXIgd291bGQgaGF2ZSB0byBydW4gdGhlICJoZWxwIiBjb21tYW5kIHRvIGdldAorICAgIHRoZSAoYXZhaWxhYmxlKSBpbmZvcm1hdGlvbiBhYm91dCBjb3JyZWN0IGNvbW1hbmQgdXNhZ2UuIENoYW5nZSB0aGlzLAorICAgIHNvIHRoYXQgdGhpcyBpbmZvcm1hdGlvbiBnZXRzIGFsd2F5cyBwcmludGVkLgorCisgICAgTm90ZSB0aGF0IHRoaXMgY2hhbmdlcyB0aGUgdXNlciBpbnRlcmZhY2Ugb2YgYWxsIGNvbW1hbmRzLCBidXQKKyAgICBob3BlZnVsbHkgdG8gdGhlIGJldHRlci4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCA0Yzk0ZjZjNTRiYmM0ZGM1ZjQxOGRhMDFkOGVjMDFlMmFkZjYzNmJlCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVN1biBNYXkgMjQgMDI6MjY6MTkgMjAwOSAtMDQwMAorCisgICAgbnZlZGl0OiBzcGVlZCB1cCBwcmludGluZyBvZiBlbnZpcm9ubWVudAorCisgICAgVGhlIHByaW50aW5nIGNvZGUgd291bGQgY2hlY2sgdGhlIHNhbWUgZW52aXJvbm1lbnQgYnl0ZSBtdWx0aXBsZSB0aW1lcyBhbmQKKyAgICB3cml0ZSB0byB0aGUgY29uc29sZSBvbmUgYnl0ZSBhdCBhIHRpbWUuICBGb3Igc29tZSBkZXZpY2VzIChzdWNoIGFzIHRoZQorICAgIEJsYWNrZmluIEpUQUcgY29uc29sZSB3aGljaCBvcGVyYXRlcyBpbiA4IGJ5dGVzIGF0IGEgdGltZSksIHRoaXMgaXMgcHJldHR5CisgICAgZGFtbmVkIHNsb3cuICBTbyBjcmVhdGUgYSBzbWFsbCAxNiBieXRlIGJ1ZmZlciB0byBmaWxsIHVwIGFuZCBzZW5kIHRvIHB1dHMKKyAgICBhcyBuZWVkZWQuCUluIHRoZSBwcm9jZXNzLCB1bmlmeSB0aGUgZGlmZmVyZW50IHByaW50IGZ1bmN0aW9ucywgc2hyaW5rCisgICAgdGhlIHJlc3VsdGluZyBjb2RlIChzb3VyY2UgYW5kIGNvbXBpbGVkKSwgYW5kIGF2b2lkIGV4Y2VzcyBlbnYgcmVhZHMgYXMKKyAgICB0aG9zZSB0b28gY2FuIGJlIHNvbWV3aGF0IGV4cGVuc2l2ZSBkZXBlbmRpbmcgb24gdGhlIGJvYXJkLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorCitjb21taXQgMzExMjAzMGE0MzA1NTM3NjhkZTVkMzBjMDViZWRmODcxMDc4NDQ1MgorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJRnJpIE1heSAyMiAxOToyODo1MiAyMDA5ICswMjAwCisKKyAgICBjb25maWcubWs6IHJlbW92ZSB1bi1uZWVkZWQgUkVNT1RFX0JVSUxEIGNoZWNrCisKKyAgICBhcyAkKG9iaikgaXMgZW1wdHkgd2hlbiBpbiB0cmVlIGJ1aWxkCisKKyAgICAlLnM6CSUuUworCSQoQ1BQKSAkKEFGTEFHUykgLW8gJEAgJDwKKworICAgIGFuZAorCisgICAgJChvYmopJS5zOgklLlMKKwkkKENQUCkgJChBRkxBR1MpIC1vICRAICQ8CisKKyAgICBhcmUgdGhlIHNhbWUKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisgICAgQWNrZWQtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworY29tbWl0IDY1MTM1MWZlOTgwYjIwMjE3YjAxNGI5YTg4ODM5OGYxOGQ3Nzk1MWMKK0F1dGhvcjogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorRGF0ZToJV2VkIE1heSAyMCAwNzo1NTo0MSAyMDA5IC0wNTAwCisKKyAgICBGQVQgcmVwbGFjZSBjb21wYXJlX3NpZ24gd2l0aCBzdHJuY21wLgorCisgICAgVGhlIHN0YXRpYyBmdW5jdGlvbiBjb21wYXJlX3NpZ24gaXMgb25seSB1c2VkIHRvIGNvbXBhcmUgdGhlIGZzX3R5cGUgc3RyaW5nCisgICAgYW5kIGRvZXMgbm90IGRvIGFueXRoaW5nIG1vcmUgdGhhbiB3aGF0IHN0cm5jbXAgZG9lcy4KKworICAgIFRoZSBhZGRpdGlvbiBvZiB0aGUgdHJhaWxpbmcgJ1wwJyB0byBmc190eXBlLCB3aGlsZSBsZWdhbCwgaXMgbm90IG5lZWRlZAorICAgIGJlY2F1c2UgdGhlIGl0IGlzIG5ldmVyIHByaW50ZWQgb3V0IGFuZCBzdHJuY21wIGRvZXMgbm90IGRlcGVuZCBvbiBOVUxMCisgICAgdGVybWluYXRlZCBzdHJpbmdzLgorCisgICAgU2lnbmVkLW9mZi1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgZWNiMWRjODkyMjk3ZDVkOTk4NzY5MDczMjhmZWQ3MzJmZWVmZWFiMgorQXV0aG9yOiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CitEYXRlOglXZWQgTWF5IDIwIDA0OjM1OjE0IDIwMDkgLTA0MDAKKworICAgIEFkZCBzdXBwb3J0IGZvciBMaW51eC1saWtlIGthbGxzeXNtcworCisgICAgVGhlIGtlcm5lbCBzdG9yZXMgYWRkcmVzczwtPnN5bWJvbCBuYW1lcyBpbiBpdCBzbyB0aGluZ3MgY2FuIGJlIGRlY29kZWQgYXQKKyAgICBydW50aW1lLiAgRG8gaXQgaW4gVS1Cb290LCBhbmQgd2UgZ2V0IG5pY2Ugc3ltYm9sIGRlY29kaW5nIHdoZW4gY3Jhc2hpbmcuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAzNmM5MTY5YWE2Zjc5ZGRmNjA0YTNiY2E2NGUxNDU2NTRmOTQ4ODhiCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglTdW4gTWF5IDE3IDE2OjAxOjU0IDIwMDkgKzAyMDAKKworICAgIGNtZF9tdGRwYXJ0cy5jOiBhbGxvdyB0byBvbWl0IGRlZmluaXRpb25zIGZvciBkZWZhdWx0IHNldHRpbmdzCisKKyAgICBUaGVyZSBpcyBhY3R1YWxseSBubyBnb29kIHJlYXNvbiB0byBlbmZvcmNlIHRoYXQgYWxsIGJvYXJkCisgICAgY29uZmlndWF0aW9ucyBtdXN0IGRlZmluZSBkZWZhdWx0IHNldHRpbmdzIGZvciAibXRkaWRzIiBhbmQKKyAgICAibXRkcGFydHMiLiAgQWN0dWFsbHkgdGhpcyBtYXkgYmUgZGlmZmljdWx0IHRvIGhhbmRsZSwgZXNwZWNpYWxseSBvbgorICAgIGJvYXJkcyB3aGVyZSBkaWZmZXJlbnQgc2l6ZXMgb2YgZmxhc2ggY2hpcHMgY2FuIGJlIGZpdCwgc28gdGhlcmUgaXMgbm8KKyAgICByZWFsICJkZWZhdWx0IiBwYXJ0aXRpb24gbWFwIGZvciBhbGwgYm9hcmRzLgorCisgICAgTGlmdCB0aGlzIGFyYml0cmFyeSBsaW1pdGF0aW9uLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKworY29tbWl0IDg2NGFhMDM0ZjNhMGUxMGNlNzEwZThiYmRhMTcxZGYzY2FiNTk0MTQKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVHVlIE1heSAxMiAxNDozMTo1NiAyMDA5ICswMjAwCisKKyAgICBjbWRfbXRkcGFydHM6IE1vdmUgdG8gY29tbW9uIGhhbmRsaW5nIG9mIEZMQVNIIGRldmljZXMgdmlhIE1URCBsYXllcgorCisgICAgVGhpcyBwYXRjaCByZW1vdmVzIGFsbCByZWZlcmVuY2VzIHRvIHRoZSBkaXJlY3QgQ0ZJIEZMQVNIIGludGVyZmFjZQorICAgICh2aWEgZmxhc2hfaW5mb1tdKS4gTm93IHRoYXQgYWxsIEZMQVNIIHR5cGVzIGN1cnJlbnRseSBoYW5kbGVkIGluCisgICAgbXRkcGFydHMgYXJlIGF2YWlsYWJsZSAoaWYgc2VsZWN0ZWQsIHNlZSBiZWxvdykgdmlhIHRoZSBNVEQgaW5mcmFzdHJ1Y3R1cmUuCisgICAgVGhpcyBpcyBOT1IsIE5BTkQgYW5kIE9uZU5BTkQgcmlnaHQgbm93LiBUaGlzIGNhbiBiZSBhY2hpZXZlZCBieSBkZWZpbmluZworICAgIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoKKworICAgIENPTkZJR19NVERfREVWSUNFIChmb3IgYWxsIEZMQVNIIHR5cGVzKQorCisgICAgcGx1cworCisgICAgQ09ORklHX0ZMQVNIX0NGSV9NVEQgKGZvciBOT1IgRkxBU0gpCisKKyAgICBTbyB3ZSBuZWVkIHRvIGFkZCB0aG9zZSBkZWZpbmVzIHRvIHRoZSBib2FyZCBjb25maWcgaGVhZGVycyBjdXJyZW50bHkKKyAgICB1c2luZyB0aGUgbXRkcGFydHMgY29tbWFuZHMuIFRoaXMgaXMgZG9uZSB2aWEgYW5vdGhlciBwYXRjaCwgc28KKyAgICB3ZSBzaG91bGRuJ3QgYnJlYWsgbXRkcGFydHMgY29tcGF0aWJpbGl0eS4KKworICAgIE9uZSBiaWcgYWR2YW50YWdlIGZyb20gdGhpcyBzb2x1dGlvbiBpcyB0aGF0IHRoZSBjbWRfbXRkcGFydHMuYyBpcworICAgICptdWNoKiBjbGVhbmVyIG5vdy4gTG90J3Mgb2YgI2lmZGVmJ3MgYXJlIHJlbW92ZWQgYW5kIHRoZSBjb2RlIGl0c2VsZgorICAgIGlzIHNtYWxsZXIuIEFkZGl0aW9uYWxseSB0aGUgbmV3bHkgYWRkZWQgTURUIGNvbmNhdGVuYXRpb24gZmVhdHVyZQorICAgIGNhbiBuZXcgYmUgdXNlZCB2aWEgdGhlIG10ZHBhcnRzIGluZnJhc3RydWN0dXJlIGFuZCB0aGVyZWZvciB2aWEKKyAgICBVQkkgZXRjLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIENjOiBMYWRpc2xhdiBNaWNobCA8bGFkaXNAbGludXgtbWlwcy5vcmc+CisgICAgQ2M6IFNjb3R0IFdvb2QgPHNjb3R0d29vZEBmcmVlc2NhbGUuY29tPgorCitjb21taXQgZDU1ODEwN2MxODcwODA1MGYwNWI2NjM5YjIxOTJlZmI2N2M5MDVkYworQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUdWUgTWF5IDEyIDE0OjMxOjE4IDIwMDkgKzAyMDAKKworICAgIG10ZDogSW50cm9kdWNlIENPTkZJR19NVERfREVWSUNFIHRvIHNlbGVjdCBjb21waWxhdGlvbiBvZiBtdGRjb3JlLm8KKworICAgIFRoaXMgbmV3IGRlZmluZSBlbmFibGVzIG10ZGNvcmUuYyBjb21waWxhdGlvbiBhbmQgd2l0aCB0aGlzIHdlIGNhbgorICAgIHNlbGVjdCB0aGUgTVREIGRldmljZSBpbmZyYXN0cnVjdHVyZSBuZWVkZWQgZm9yIHRoZSByZXdvcmtlZCBtdGRwYXJ0cworICAgIGNvbW1hbmQuCisKKyAgICBXZSBub3cgaGF2ZSB0aGUgMiBNVEQgaW5mcmFzdHJ1Y3R1cmUgZGVmaW5lcywgQ09ORklHX01URF9ERVZJQ0UgYW5kCisgICAgQ09ORklHX01URF9QQVJUSVRJT05TLiBDT05GSUdfTVREX0RFVklDRSBpcyBuZWVkZWQgKGFzIGV4cGxhaW5lZCBhYm92ZSkKKyAgICBmb3IgdGhlICJtdGRwYXJ0cyIgY29tbWFuZCBhbmQgQ09ORklHX01URF9QQVJUSVRJT05TIGlzIG5lZWRlZCBmb3IgVUJJLgorCisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorICAgIENjOiBTY290dCBXb29kIDxzY290dHdvb2RAZnJlZXNjYWxlLmNvbT4KKworY29tbWl0IDk0MjU1NmE5MmE4YzFlYjFiZDc2NTg0YTUxNDNmNmY1N2RjYjI1YWQKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJVHVlIE1heSAxMiAxNDozMjo1OCAyMDA5ICswMjAwCisKKyAgICBtdGQ6IE1URCByZWxhdGVkIGNvbmZpZyBoZWFkZXIgY2hhbmdlcyAobXRkcGFydHMgY29tbWFuZCkKKworICAgIEJ5IGNoYW5naW5nIHRoZSBjbWRfbXRkcGFydHMgdG8gb25seSB1c2UgdGhlIE1URCBpbmZyYXN0cnVjdHVyZSBhbmQKKyAgICBub3QgdGhlIGRpcmVjdCBpbnRlcmZhY2UgdG8gdGhlIENGSSBOT1IgRkxBU0ggZHJpdmVyIHdlIG5vdyBuZWVkCisgICAgdG8gYWRkIHRoZSBNVEQgaW5mcmFzdHJ1Y3R1cmUgdG8gYWxsIGJvYXJkcyB1c2luZyB0aG9zZSBtdGRwYXJ0cworICAgIGNvbW1hbmRzLiBUaGlzIHBhdGNoIGFkZHMgdGhvc2UgY29tcG9uZW50czoKKworICAgIENPTkZJR19NVERfREVWSUNFIChmb3IgYWxsIEZMQVNIIHR5cGVzKQorCisgICAgcGx1cworCisgICAgQ09ORklHX0ZMQVNIX0NGSV9NVEQgKGZvciBOT1IgRkxBU0gpCisKKyAgICBUbyBhbGwgYm9hcmQgbWFpbnRhaW5lcnM6IFBsZWFzZSB0ZXN0IHRoaXMgb24geW91ciBwbGF0Zm9ybXMgYW5kCisgICAgcmVwb3J0IGFueSBwcm9ibGVtcy9pc3N1ZXMgZm91bmQuIFRoYW5rcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogUm9uIE1hZHJpZCA8aW5mb0BzaGVsZG9uaW5zdC5jb20+CisgICAgQ2M6IEdlb3JnIFNjaGFyZHQgPHNjaGFyZHRAdGVhbS1jdGVjaC5kZT4KKyAgICBDYzogTWljaGFsIFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1PgorICAgIENjOiBMYWRpc2xhdiBNaWNobCA8bGFkaXNAbGludXgtbWlwcy5vcmc+CisgICAgQ2M6IE1hcnRpbiBLcmF1c2UgPG1hcnRpbi5rcmF1c2VAdHFzLmRlPgorICAgIENjOiBHYXJ5IEplbm5lam9obiA8Z2FyeWpAZGVueC5kZT4KKyAgICBDYzogUmljYXJkbyBSaWJhbGRhIDxyaWNhcmRvLnJpYmFsZGFAdWFtLmVzPgorCitjb21taXQgOGQyZWZmZWEyM2U5Mzg2MzExMjZhNzg4ODAwOGEwNjM3ZTEzYjM4OQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglNb24gTWF5IDExIDE2OjAzOjU1IDIwMDkgKzAyMDAKKworICAgIG10ZDogVXBkYXRlIE1URCBpbmZyYXN0cnVjdHVyZSB0byBzdXBwb3J0IDY0Yml0IGRldmljZSBzaXplCisKKyAgICBUaGlzIHBhdGNoIGJyaW5ncyB0aGUgVS1Cb290IE1URCBpbmZyYXN0cnVjdHVyZSBpbiBzeW5jIHdpdGggdGhlIGN1cnJlbnQKKyAgICBMaW51eCBNVEQgdmVyc2lvbiAoMi42LjMwLXJjMykuIEJpZ2dlc3QgY2hhbmdlIGlzIHRoZSA2NGJpdCBkZXZpY2Ugc2l6ZQorICAgIHN1cHBvcnQgYW5kIGEgcmVzeW5jIG9mIHRoZSBtdGRwYXJ0LmMgZmlsZSB3aGljaCBoYXMgc2VlbiBtdWx0aXBsZSBmaXhlcworICAgIG1lYW53aGlsZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogU2NvdHQgV29vZCA8c2NvdHR3b29kQGZyZWVzY2FsZS5jb20+CisgICAgQ2M6IEt5dW5nbWluIFBhcmsgPGttcGFya0BpbmZyYWRlYWQub3JnPgorCitjb21taXQgMGE1NzI2NTUzM2M0MTJhZGY2MDI0ZjRiNDk1NTE0MWY0MzQ2YjJiOQorQXV0aG9yOiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CitEYXRlOglUdWUgTWF5IDEyIDE0OjI5OjM5IDIwMDkgKzAyMDAKKworICAgIG10ZDogQWRkIE1URCBjb25jYXQgc3VwcG9ydCB0byBjb25jYXRlbmF0ZSBtdWx0aXBsZSBNVEQgTk9SIGRldmljZXMKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBjb25jYXRlbmF0aW9uIHN1cHBvcnQgdG8gdGhlIFUtQm9vdCBNVEQgaW5mcmFzdHJ1Y3R1cmUuCisgICAgQnkgZW5hYmxpbmcgQ09ORklHX01URF9DT05DQVQgdGhpcyBNVEQgQ0ZJIHdyYXBwZXIgd2lsbCBjb25jYXRlbmF0ZQorICAgIGFsbCBmb3VuZCBOT1IgZGV2aWNlcyBpbnRvIG9uZSBzaW5nbGUgTVREIGRldmljZS4gVGhpcyBjYW4gYmUgdXNlZCBieQorICAgIGUuZyBieSBVQkkgdG8gYWNjZXNzIGEgcGFydGl0aW9uIHRoYXQgc3BhbnMgb3ZlciBtdWx0aXBsZSBOT1IgY2hpcHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA1NWUwZWQ2MDc4YjEwYjBkNDI1YjZhMDY3N2YzOGEwMTVjMjc3ZGY2CitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTYXQgQXByIDI1IDE0OjU3OjUyIDIwMDkgKzAyMDAKKworICAgIG1ha2UgTU9ERU0gU1VQUE9SVCBnZW5lcmljIGluc3RlYWQgb2YgZHVwbGljYXRlIGl0CisKKyAgICBhbmQgZml4IGNvbW1lbnQKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKKyAgICBBZGp1c3RlZCBDb3B5cmlnaHQgbWVzc2FnZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CisKK2NvbW1pdCBhMzBmNTE5YmQwY2RlNzhiYTQ2YjQyNDMxNGRlOTRmZGFiODYzNzI2CitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CVR1ZSBKdW4gMiAyMDo1Mzo1NiAyMDA5IC0wNTAwCisKKyAgICBaT09NMiBkZXRlY3QgdGhlIHZlcnNpb24gb2YgdGhlIHpvb20yIGJvYXJkIGF0IHJ1bnRpbWUuCisKKyAgICBUaGVyZSBhcmUgY3VycmVudGx5IDMgdmVyc2lvbnMgb2YgdGhlIHpvb20yIGJvYXJkLgorICAgIFRoZSBwcm9kdWN0aW9uIGJvYXJkLCB0aGF0IGlzIGN1cnJlbnRseSBiZWluZyByZWxlYXNlZC4KKyAgICBUaGUgYmV0YSBib2FyZCwgc2ltaWxhciBpbiBmb3JtIHRvIHRoZSBwcm9kdWN0aW9uIGJvYXJkIGJ1dCBub3QgcmVsZWFzZWQuCisgICAgVGhlIGFscGhhIGJvYXJkLCBhIHNldCBvZiBQQ0JzIHdpdGggYSB2ZXJ5IGxpbWl0ZWQgY2lyY3VsYXRpb24uCisKKyAgICBHUElPIDk0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSB2ZXJzaW9uIG9mIHRoZSBib2FyZC4gSWYgR1BJTyA5NCBpcyBjbGVhciwKKyAgICB0aGUgYm9hcmQgaXMgYSBwcm9kdWN0aW9uIGJvYXJkLCBvdGhlcndpc2UgaXQgaXMgYSBiZXRhIGJvYXJkLgorCisgICAgVGhlIGFscGhhIGJvYXJkIHdpbGwgbGlrZWx5IGJlIG1pc3Rha2VuIGZvciBhIGJldGEgYm9hcmQuICBBbiBhbHBoYSBib2FyZAorICAgIHdhcyB1bmF2YWlsaWJsZSBmb3IgdGVzdGluZy4KKworICAgIFRoaXMgaGFzIGJlZW4gdGVzdGVkIG9uIHRoZSBiZXRhIGFuZCBwcm9kdWN0aW9uIGJvYXJkcy4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgNzE4NzYzYzQ3NDVmZDNkOTg3YTU1NzZkMmE2NzMyNWU5NDQ0ZjlkNAorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglXZWQgSnVuIDMgMDE6NTM6NTcgMjAwOSAtMDUwMAorCisgICAgQmVhZ2xlIENvbnZlcnQgdGhlIGJvYXJkIHZlcnNpb24gZGV0ZWN0aW9uIHRvIHVzZSB0aGUgT01BUDMgR1BJTyBpbnRlcmZhY2UuCisKKyAgICBUaGVyZSBpcyBubyBuZXcgZnVuY3Rpb25hbGl0eSBpbiB0aGUgY2hhbmdlLgorCisgICAgVGhpcyBjaGFuZ2UgaXMgYSBjb252ZXJzaW9uIGZyb20gdGhlIHVzaW5nIHJhdyByZWdpc3RlciBhY2Nlc3MgdG8gdXNpbmcKKyAgICB0aGUgT01BUDMgR1BJTyBBUEkgZGVzY3JpYmVkIGluIGRvYy9SRUFETUUub21hcDMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisgICAgQWNrZWQtYnk6IERpcmsgQmVobWUgPGRpcmsuYmVobWVAZ29vZ2xlbWFpbC5jb20+CisKK2NvbW1pdCA3Y2FhMTNmZGQyZDNkYzk1N2I0ZTBhMjI4ODEwYTNhNGE4YmE0OTliCitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CVdlZCBKdW4gMyAwMTo1Mzo1NSAyMDA5IC0wNTAwCisKKyAgICBGaXggYSB0eXBvIGluIHRoZSBpbnN0cnVjdGlvbnMgb24gdXNpbmcgb21hcDMncyBncGlvIGludGVyZmFjZS4KKworICAgIFVzaW5nIHRoZSBleGFtcGxlIGZvciByZWFkaW5nIGEgZ3Bpbywgc2hvd3MgdGhlIHByb2JsZW0uCisgICAgTlVMTCBzaG91bGQgYmUgdGhlIGdwaW8gbnVtYmVyLgorCisgICAgU2lnbmVkLW9mZi1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorICAgIEFja2VkLWJ5OiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdvb2dsZW1haWwuY29tPgorCitjb21taXQgMGM5NTIwZWZkNjUxY2UxMzQ1MTY1NGEzNTMwN2VjODdkNGExM2E2OQorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglGcmkgTWF5IDI5IDE4OjU3OjMyIDIwMDkgLTA1MDAKKworICAgIFpPT00yIERlZmluZSBHUElPIGJhbmtzIHVzZWQuCisKKyAgICBFbmFibGUgdGhlIGZ1bmN0aW9uIGFuZCBpbnRlcmZhY2UgY2xvY2tzIGZvciBiYW5rcyAyLDMsNSBhbmQgNi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKyAgICBBY2tlZC1ieTogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKworY29tbWl0IDcwOGNmYjc0YjdjNmRmOWMzN2QzYzQ4OTg4YTE1NGJlNzlkYWVmZWIKK0F1dGhvcjogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorRGF0ZToJRnJpIE1heSAyOSAxODo1NzozMSAyMDA5IC0wNTAwCisKKyAgICBPTUFQMyBUdXJuIG9uIHRoZSBHUElPIGJhbmsgY2xvY2tzCisKKyAgICBUaGUgZnVuY3Rpb24gYW5kIGludGVyZmFjZSBjbG9ja3MgZm9yIGVhY2ggR1BJTyBiYW5rLCBleGNlcHQgdGhlIGZpcnN0LCBtdXN0CisgICAgYmUgZXhwbGljaXRseSB0dXJuZWQgb24uICBUaGVzZSBhcmUgY29udHJvbGxlZCBieSB0aGUgY29uZmlnIGxldmVsIGRlZmluZXMKKyAgICBDT05GSUdfT01BUDNfR1BJT19uIHdoZXJlIG4gaXMgZnJvbSAyIHRvIDYuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisgICAgQWNrZWQtYnk6IERpcmsgQmVobWUgPGRpcmsuYmVobWVAZ29vZ2xlbWFpbC5jb20+CisKK2NvbW1pdCA1OTI3MjYyMGMyNDU0OWI1YmNkMDNjOTRiYTEyZWMzMDJjMTQ3NmEyCitBdXRob3I6IFJpY2hhcmQgUmV0YW51YnVuIDxSaWNoYXJkUmV0YW51YnVuQFJ1Z2dlZENvbS5jb20+CitEYXRlOglUaHUgTWFyIDI2IDE1OjI2OjAxIDIwMDkgLTA0MDAKKworICAgIENvbGRmaXJlIE01MjcxOiBBY3RpdmF0ZSB1LWJvb3Qgc3lzdGVtIHRpbWVyIGludGVycnVwdC4KKworICAgIFRoaXMgcGF0Y2ggYXNzaWducyB0aGUgdS1ib290IHN5c3RlbSB0aW1lciBpbnRlcnJ1cHQgdG8KKyAgICBpbnRlcnJ1cHQgbGV2ZWwgMywgcHJpb3JpdHkgNi4gV2l0aG91dCB0aGlzIHBhdGNoIHRoZSBpbnRlcnJ1cHQKKyAgICB3aWxsIGJlIGEgbGV2ZWwgMCwgcHJpb3JpdHkgMCwgd2hpY2ggZGlzYWJsZXMgaXQgYW5kIGNhdXNlCisgICAgdS1ib290IGZ1bmN0aW9ucyB0aGF0IHJlbGllcyBvbiB0aGUgdGltZXIgKGUuZy4gc2xlZXAgY29tbWFuZCkKKyAgICB0byBuZXZlciByZXR1cm4uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIFJldGFudWJ1biA8UmljaGFyZFJldGFudWJ1bkBSdWdnZWRDb20uY29tPgorCitjb21taXQgZGMyNjk2NWFkM2FjZGZiMTg3ODAzNjFkNzdhMjc2YjI4NDNhOTBhZgorQXV0aG9yOiBSaWNoYXJkIFJldGFudWJ1biA8UmljaGFyZFJldGFudWJ1bkBSdWdnZWRDb20uY29tPgorRGF0ZToJTW9uIE1hciAyMyAxMzozNTo0OCAyMDA5IC0wNDAwCisKKyAgICBDb21waWVyIHdhcm5pbmcgY2xlYW51cAorCisgICAgRm9sbG93IHVwIHRvIGdpdCBjb21taXQ6IDE5YjViNTMzY2NkNTIyYWJlYjUwMWQ1MTA3NTA2OTNjMzVlMjA0NTYKKworICAgIENsZWFudXAgb24gY29tcGlsZXIgd2FybmluZ3Mgb24gdW51c2VkIHZhcmlhYmxlcyBub3cgdGhhdAorICAgIGJkLT5iaV9lbmV0YWRkciBpcyBubyBsb25nZXIgdXNlZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJpY2hhcmQgUmV0YW51YnVuIDxSaWNoYXJkUmV0YW51YnVuQFJ1Z2dlZENvbS5jb20+CisKK2NvbW1pdCA0MmE4Mzc2NWQ1NGYwNDJiNDA3OWUwNWEzNDM4Nzg5NTQyNDI5OTgxCitBdXRob3I6IFJpY2hhcmQgUmV0YW51YnVuIDxSaWNoYXJkUmV0YW51YnVuQFJ1Z2dlZENvbS5jb20+CitEYXRlOglGcmkgTWFyIDIwIDE1OjMwOjEwIDIwMDkgLTA0MDAKKworICAgIEFkZHMgV0FUQ0hET0dfUkVTRVQoKSBmdW5jdGlvbiBjYWxsIHRvIGxpYl9tNjhrIGR0aW1lcl9pbnRlcnJ1cHQuCisKKyAgICBQb3J0ZWQgZnJvbSBsaWJfcHBjL2ludGVycnVwdHMuYywgdGhpcyBhZGRzIHRoZSBhYmlsaXR5IGZvcgorICAgIHRoZSBjb2xkZmlyZSBzeXN0ZW0gdGltZXIgdG8gYXV0by1yZXNldCB0aGUgd2F0Y2hkb2cgd2hlbgorICAgIGR0aW1lcl9pbnRlcnJ1cHRzIGlzIGNhbGxlZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFJpY2hhcmQgUmV0YW51YnVuIDxSaWNoYXJkUmV0YW51YnVuQFJ1Z2dlZENvbS5jb20+CisKK2NvbW1pdCBhMjRkOTZlNDBlMWNhNjZkZGU2ZTZjMTU4ZTdlY2ZmYWZjNWEyMTk5CitBdXRob3I6IFByYWZ1bGxhIFdhZGFza2FyIDxwcmFmdWxsYUBtYXJ2ZWxsLmNvbT4KK0RhdGU6CVN1biBNYXkgMzEgMTQ6NTM6MjAgMjAwOSArMDIwMAorCisgICAgYXJjaF9taXNjX2luaXQgc3VwcG9ydCBmb3IgQVJNIGFyY2hpdGVjdHVyZXMKKworICAgIFRoaXMgcGF0Y2ggaXMgcmVxdWlyZWQgZm9yIEtpcmt3b29kIHN1cHBvcnQKKyAgICBtYXkgYmUgdXNlZCBieSBvdGhlciBBUk0gYXJjaGl0ZWN0dXJlcworCisgICAgU2lnbmVkLW9mZi1ieTogUHJhZnVsbGEgV2FkYXNrYXIgPHByYWZ1bGxhQG1hcnZlbGwuY29tPgorCitjb21taXQgYjI0MDM1ODliNGQ5OTk2Mzk0YmFmYzczZWNhMzYyM2Y0M2FjMmMzMQorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU3VuIE1heSAzMSAxNDo1MzoxOCAyMDA5ICswMjAwCisKKyAgICBhdDkxOiBtb3ZlIGNwdSBpbmZvIHByaW50IHRvIGNwdQorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGIzMmUxODkwNzlmYTE2ZTFiNjQ3YWM2Yjk0OWZkNGUwYTk0MzUzNDMKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBNYXkgMzEgMTI6NDQ6NDYgMjAwOSArMDIwMAorCisgICAgYXQ5MTogbW92ZSBjcHUgbmFtZSBkZWZpbmUgdG8gYXJtL2FyY2gvIGNwdSBoZWFkZXIKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA1YmI1OWIzYzkwNmVlMDFhZGZhYWM5NTY1NDQzZTUyMzZhNzkzMDc5CitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTdW4gTWF5IDMxIDEyOjQ0OjQ1IDIwMDkgKzAyMDAKKworICAgIGF0OTE6IGV4dHJhY3QgcmVzZXQgZnJvbSB0aW1lcgorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDYxY2Y4NTFiMDljZjhiNjcwMDllYzExZmM0N2MxNmFkZDZiMTQyYTUKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVN1biBNYXkgMzEgMTI6NDQ6NDMgMjAwOSArMDIwMAorCisgICAgb21hcDI0eHg6IHJlbmFtZSByZXNldCBmaWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgOWQ0ZmM5OWRiZGJmZGExMjYwYWFkNDc4ZTgzZmNhN2NkZjBlMWEzMgorQXV0aG9yOiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdvb2dsZW1haWwuY29tPgorRGF0ZToJU3VuIE1heSAzMSAxMjo0NDo0MiAyMDA5ICswMjAwCisKKyAgICBPTUFQMzogRml4IENLRTEgTVVYIHNldHRpbmcgdG8gYWxsb3cgc2VsZi1yZWZyZXNoCisKKyAgICBUaGUgQmVhZ2xlIHJldiBDeCBhbmQgT3Zlcm8gYm9hcmRzIGFyZSB1c2luZyBib3RoIFNEUkMgQ1Nlcy4gVGhlIE1VWAorICAgIHNldHRpbmcgaXMgbmVlZGVkIGZvciB0aGUgc2Vjb25kIENTIGNsb2NrIHNpZ25hbCB0byBhbGxvdyB0aGUgMiBSQU0KKyAgICBwYXJ0cyB0byBiZSBwdXQgaW4gc2VsZi1yZWZyZXNoIGNvcnJlY3RseS4gVGhpcyBhbHNvIHdvcmtzIG9uIHJldiBCCisgICAgQmVhZ2xlIGJvYXJkcyB3aXRoIDEyOE0gb2YgUkFNLgorCisgICAgRnJvbTogU3RldmUgU2Frb21hbiA8c3RldmVAc2Frb21hbi5jb20+CisgICAgRnJvbTogSmVhbiBQaWhldCA8anBpaGV0QG12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogSmVhbiBQaWhldCA8anBpaGV0QG12aXN0YS5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU3RldmUgU2Frb21hbiA8c3RldmVAc2Frb21hbi5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKworY29tbWl0IDM5NjJjNGY5ZmM0NDgyYTY1NDdmM2MzZDNkNWU5ODZlNjI1YWJiOGEKK0F1dGhvcjogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6CVN1biBNYXkgMzEgMTI6NDQ6NDEgMjAwOSArMDIwMAorCisgICAgT01BUDM6IFpvb20yOiBFbmFibGUgQm9hcmQgYW5kIENQVSBpbmZvCisKKyAgICBXaXRoIG90aGVyIE9NQVAzIGJvYXJkcyB3ZSByZWNlbnRseSBzd2l0Y2hlZCB0byBDUFUgYW5kIEJvYXJkCisgICAgaW5mbyBBUEkuIEZyb20gcGFyYWxsZWwgbWVyZ2UsIHRoaXMgaXMgbWlzc2luZyBmb3IgWm9vbTIuCisgICAgRW5hYmxlIGl0IGZvciBab29tMiwgdG9vLgorCisgICAgU2lnbmVkLW9mZi1ieTogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKyAgICBBY2tlZC1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgODNhZTY5OGZmMjZiODFiNTY5Y2EzMmY3ZjJiMDA4YWQwZGExNWU2NgorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglTdW4gTWF5IDMxIDEyOjQ0OjM5IDIwMDkgKzAyMDAKKworICAgIFpPT00yIEFkZCBsZWQgc3VwcG9ydC4KKworICAgIFRoaXMgcGF0Y2ggY29udHJvbHMgdGhlIGxhcmdlIExFRCBvbiB0aGUgdG9wIGxlZnQgb2YgdGhlIHpvb20yLgorCisgICAgU2lnbmVkLW9mZi1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgNjYwODg4YjdmYjg4NDBjZTE2OWRjZDI1ODllNDlhYjQ0YzQ2Yjg3YgorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglTdW4gTWF5IDMxIDEyOjQ0OjM3IDIwMDkgKzAyMDAKKworICAgIFpPT00yIEFkZCBzZXJpYWwgc3VwcG9ydC4KKworICAgIFpvb20yIHNlcmlhbCBpcyBpbiBnZW5lcmFsIHN1cHBsaWVkIGJ5IG9uZSBvZiB0aGUgNCBVQVJUUyBvbiB0aGUgZGVidWcgYm9hcmQuCisgICAgVGhlIGRlZmF1bHQgc2VyaWFsIGlzIGZyb20gdGhlIFVTQiBjb25uZWN0b3Igb24gbGVmdCBzaWRlIG9mIHRoZSBkZWJ1ZyBib2FyZC4KKyAgICBUaGUgVVNCIGNvbm5lY3RvciB3aWxsIHByb2R1Y2UgMiBvZiB0aGUgNCBVQVJUUy4gIE9uIHlvdXIgaG9zdCBwaWNrIHRoZSBmaXJzdAorICAgIGVudW1lcmF0aW9uLgorCisgICAgVGhlIGRldGFpbHMgb2YgdGhlIHNldHRpbmcgb2YgdGhlIHNlcmlhbCBncG1jIHNldHVwIGFyZSBub3QgYXZhaWxhYmxlLgorICAgIFRoZSB2YWx1ZXMgd2VyZSBwcm92aWRlZCBieSBhbm90aGVyIHBhcnR5LgorCisgICAgVGhlIHNlcmlhbCBwb3J0IHNldCB1cCBpcyB0aGUgc2FtZSB3aXRoIFpvb20xLgorICAgIEJhdWQgcmF0ZSAxMTUyMDAsIDggYml0IGRhdGEsIG5vIHBhcml0eSwgMSBzdG9wIGJpdCwgbm8gZmxvdy4KKworICAgIFRoZSBrZXJuZWwgYm9vdGFyZ3MgYXJlCisgICAgY29uc29sZT10dHlTMywxMTUyMDBuOAorCisgICAgU2lnbmVkLW9mZi1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgM2VhMjAxYjAxNmFiMjU5YTVhYzg4MjRhZjc2NzU2OTUyMjc2OGM0NworQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU3VuIE1heSAzMSAxMjo0NDoyNyAyMDA5ICswMjAwCisKKyAgICBsaDdhNDB4OiBtb3ZlIHNlcmlhbCBkcml2ZXIgdG8gZHJpdmVycy9zZXJpYWwKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAzNzliZTU4NWViMjM0M2Q4ODE0YTVjZWU1ZmIzZGE5MzBkODQ2YmVlCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTYXQgTWF5IDE2IDIyOjQ4OjQ2IDIwMDkgKzAyMDAKKworICAgIHB4YTogbW92ZSBzZXJpYWwgZHJpdmVyIHRvIGRyaXZlcnMvc2VyaWFsCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgYWQ3ZThhYWM2OTIwZjhiOGE4NWIzY2MyZTkzYmNhNzQ1OGU5OWFhMQorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJU2F0IE1heSA5IDEzOjIxOjE5IDIwMDkgKzAyMDAKKworICAgIGFybTogcmVtb3ZlIGNwdV9pbml0CisKKyAgICBtb3ZlIHMzYzQ0YjAgdG8gYXJjaF9jcHVfaW5pdCBhbmQgYXMgbm9vbmUgdXNlIGNwdV9pbml0IHJlbW92ZSBpdAorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IGMzNThkOWMzZjE2NTcxZThmODI1ZTgxYjc1ZWFmMzJlMjI4Y2I2NjkKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CVNhdCBNYXkgOSAxMzoyMToxOCAyMDA5ICswMjAwCisKKyAgICBhcm06IHVuaWZ5IGludGVycnVwdCBpbml0CisKKyAgICBhbGwgYXJtIGluaXQgdGhlIElSUSBzdGFjayB0aGUgc2FtZSB3YXkKKyAgICBzbyB1bmlmeSBpdCBpbiBsaWJfYXJtL2ludGVycnVwdHMuYyBhbmQgdGhlbiBjYWxsIGFyY2ggc3BlY2lmaWMgaW50ZXJydXB0IGluaXQKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAxMGE0NTFjZDU3Y2ZmYmNhODc1Yzk3YmJkODkyOTA1OWM1NjI3ZWM2CitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglGcmkgTWF5IDggMjA6MjQ6MTIgMjAwOSArMDIwMAorCisgICAgYXJtOiB1bmlmeSBsaW5rZXIgc2NyaXB0CisKKyAgICBhbGwgYXJtIGJvYXJkcyBleGNlcHQgYSBmZXcgdXNlIHRoZSBzYW1lIGNwdSBsaW5rZXIgc2NyaXB0CisgICAgc28gbW92ZSBpdCB0byBjcHUvJChDUFUpCisKKyAgICB0aGF0IGNvdWxkIGJlIG92ZXJ3cml0ZSBpbiBmb2xsb3dpbmcgb3JkZXIKKyAgICBTT0MKKyAgICBCT0FSRAorICAgIHZpYSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcubWsKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA5NDc1YzYzYzc4NTVlZGQ4NjNjOTNhOWJiMGY0YjhlMjQwZDlkMjEyCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglTYXQgTWF5IDE2IDEwOjAyOjA1IDIwMDkgKzAyMDAKKworICAgIGFmZWI5MjYwOiBmaXggbWFjYiBkZXZpY2UgaW5pdAorCisgICAgdXNlcyBQQTEwLCBQQTExIGZvciBFVFgyIGFuZCBFVFgzLgorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDFiYmFlMmI4MTZkNGVkMzhkYjJlYmY0MjE2NmE5NzNiMWZmYzBkZjcKK0F1dGhvcjogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorRGF0ZToJV2VkIE1heSAyNyAxMDozNDozMiAyMDA5ICswMjAwCisKKyAgICBwcGM0eHg6IFJlbW92ZSBQQ0kgYXN5bmMgYm9vdHVwIG1lc3NhZ2UgaWYgUENJIGlzIG5vdCB1c2VkCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCBhMzQ1NWMwMDUxMGM1YWJmMWU5MTc0M2M0YTAyZDgzOTNiNmRmMThkCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglGcmkgTWF5IDE1IDA5OjE5OjUyIDIwMDkgKzAyMDAKKworICAgIFRRTTgzNHg6IHVzZSBidWZmZXJlZCB3cml0ZXMgdG8gYWNjZWxlcmF0ZSB3cml0aW5nIHRvIGZsYXNoCisKKyAgICBBbHNvIGVuYWJsZSBkaXNwbGF5IG9mICdFJ21wdHkgc2VjdG9ycyBpbiAiZmxpbmZvIiBvdXRwdXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIFNpZ25lZC1vZmYtYnk6IEtpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+CisKK2NvbW1pdCA0NjgxZTY3M2E1MWM0OGY0YzA5NmFhM2M4ZmFlNWU2MjE3ZmZkNThkCitBdXRob3I6IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+CitEYXRlOglUaHUgTWF5IDE0IDIzOjE4OjM0IDIwMDkgKzAyMDAKKworICAgIFRRTTgzNHg6IGFkZCBGRFQgc3VwcG9ydAorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgOTI5Yjc5YTBiNWU0ODMwM2FiMDRhYWU5ZDBhYmNlYjBjNzA3ZjExMQorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJVGh1IE1heSAxNCAyMzoxODozMyAyMDA5ICswMjAwCisKKyAgICBUUU04MzR4OiBmaXggZW52aXJvbm1lbnQgc2l6ZTsgYWRkIHJlZHVuZGFudCBlbnYuCisKKyAgICBBbHNvIHJlc2VydmUgbW9yZSBzcGFjZSBmb3IgVS1Cb290IGFzIGl0IHdpbGwgcHJvYmFibHkgZ3JvdyBzb29uLgorCisgICAgU2lnbmVkLW9mZi1ieTogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBLaW0gUGhpbGxpcHMgPGtpbS5waGlsbGlwc0BmcmVlc2NhbGUuY29tPgorCitjb21taXQgMmFlMGYzNWZkNjBjNzM0NTQ0NjgzNWI5NWE0ZGFmZjM1NmUxZjAzMQorQXV0aG9yOiBUaG9tYXMgTGFuZ2UgPHRob21hc0Bjb3JlbGF0dXMuc2U+CitEYXRlOglTdW4gTWF5IDMgMjA6MDc6MzMgMjAwOSArMDIwMAorCisgICAgQVJNIERhVmluY2k6IFJlc2V0IHdpdGggd2F0Y2hkb2cgZW5hYmxlZAorCisgICAgT25jZSB0aGUgRGF2aW5jaSB3YXRjaGRvZyBoYXMgYmVlbiBlbmFibGVkLCB0aGUgdGltZW91dAorICAgIHZhbHVlIGNhbm5vdCBiZSBjaGFuZ2VkLiBJZiB0aGUgdGltZW91dCBpbiB1c2UgaXMgbG9uZywKKyAgICBpdCBjYW4gdGFrZSBhIGxvbmcgdGltZSBmb3IgY2FyZCB0byByZXNldC4gQnkgd3JpdGluZworICAgIGFuIGludmFsaWQgc2VydmljZSBrZXksIHdlIGNhbiB0cmlnZ2VyIGFuIGltbWVkaWF0ZSByZXNldC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW5nZSA8dGhvbWFzQGNvcmVsYXR1cy5zZT4KKworY29tbWl0IDZjYzdiYTllZDQzMTA2OTQ2YWE5YWE4NjgzMDJhYTJmYWYxZDE3YmUKK0F1dGhvcjogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KK0RhdGU6CUZyaSBNYXkgMTUgMTA6MDc6NDMgMjAwOSArMDIwMAorCisgICAgdmlkZW86IEFkZCBhbiBvcHRpb24gdG8gc2tpcCB2aWRlbyBpbml0aWFsaXphdGlvbgorCisgICAgVGhpcyBwYXRjaCBhZGRzIGFuIG9wdGlvbiB0byBza2lwIHRoZSB2aWRlbyBpbml0aWFsaXphdGlvbiBvbiBmb3IgYWxsCisgICAgdmlkZW8gZHJpdmVycy4gVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBDUENJNzUwIHdoaWNoIGNhbiBiZSBidWlsdCBhcworICAgIENQQ0kgaG9zdCBhbmQgYWRhcHRlci90YXJnZXQgYm9hcmQuIEFuZCB0aGUgYWRhcHRlciBib2FyZCBjYW4ndAorICAgIGFjY2VzcyB0aGUgdmlkZW8gY2FyZHMgbG9jYXRlZCBvbiB0aGUgQ29tcGFjdFBDSSBidXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisgICAgQ2M6IEFuYXRvbGlqIEd1c3RzY2hpbiA8YWd1c3RAZGVueC5kZT4KKworICAgIFJlYmFzZWQgYWdhaW5zdCBzaW1wbGlmeWluZyBwYXRjaC4KKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorCitjb21taXQgZjYyZjY0NjkyZmY3ZjYyMjZhZDIyMWQ1ZGY2NDg3ZWE1ZWYzOWJkZAorQXV0aG9yOiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorRGF0ZToJRnJpIE1heSAxNSAxMDowNzo0MiAyMDA5ICswMjAwCisKKyAgICBkcnZfdmlkZW9faW5pdCgpOiBzaW1wbGlmeSBsb2dpYworCisgICAgU2ltcGxpZnkgbmVzdGluZyBvZiBkcnZfdmlkZW9faW5pdCgpIGFuZCB1c2UgYSBjb25zaXN0ZW50IHdheSBvZgorICAgIGluZGljYXRpbmcgZmFpbHVyZSAvIHN1Y2Nlc3MuIEJlZm9yZSwgaXQgdG9vayBtZSBzb21lIHRpbWUgdG8gcmVhbGl6ZQorICAgIHdoaWNoIG9mIHRoZSByZXR1cm5zIHdhcyBkdWUgdG8gYW4gZXJyb3IgY29uZGl0aW9uIGFuZCB3aGljaCBvZiB0aGVtCisgICAgaW5kaWNhdGVkIHN1Y2Nlc3MuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPgorICAgIENjOiBBbmF0b2xpaiBHdXN0c2NoaW4gPGFndXN0QGRlbnguZGU+CisKK2NvbW1pdCAxNjk5ZGE2Mjk3YjhjMjJkYTE2Y2Y4NWIzYzc5MTkyZjFhNmQ3MGNhCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglXZWQgTWF5IDEzIDIxOjAxOjEzIDIwMDkgKzAyMDAKKworICAgIGF0OTE6IHJlZ3JvdXAgSVAgaHcgaW5pdCBpbiBvbmUgZmlsZSBwZXIgc29jCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgMjhiMDAzMjRiZWNmMzU1MjEzNGFlMWUwODY1MDlkYzljM2Q2ZTkzMgorQXV0aG9yOiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDg6MzcgMjAwOSArMDIwMAorCisgICAgZG0zNTUgZXZtIHN1cHBvcnQKKworICAgIEluaXRpYWwgVS1Cb290IHN1cHBvcnQgZm9yIHRoZSBEYVZpbmNpIERNMzU1IEVWTS4gIFRoaXMgaXMgYSBib2FyZAorICAgIGZyb20gU3BlY3RydW0gRGlnaXRhbC4gIEJvYXJkIGRvY3MgaW5jbHVkZSBzY2hlbWF0aWMgYW5kIGZpcm13YXJlCisgICAgZm9yIGl0cyBtaWNyb2NvbnRyb2xsZXI6CisKKyAgICAgIGh0dHA6Ly9jNjAwMC5zcGVjdHJ1bWRpZ2l0YWwuY29tL2V2bWRtMzU1L3JldmQvCisKKyAgICBNb3N0IG9mIHRoZSBETTM1NSBjaGlwIGlzIGZ1bGx5IGRvY3VtZW50ZWQgYnkgVEksIHRoZSBtb3N0IG5vdGFibGUKKyAgICBleGNlcHRpb24gYmVpbmcgdGhlIE1QRUcvSlBFRyBjb3Byb2Nlc3NvciAocHJvZ3JhbW1hYmxlIHVzaW5nIGNvZGVjcworICAgIGF2YWlsYWJsZSBhdCBubyBjb3N0IGZyb20gVEkpLCB3aGljaCBpcyBvbWl0dGVkIGZyb20gaXRzIERNMzM1IHNpYmxpbmc6CisKKyAgICAgIGh0dHA6Ly9mb2N1cy50aS5jb20vZG9jcy9wcm9kL2ZvbGRlcnMvcHJpbnQvdG1zMzIwZG0zNTUuaHRtbAorCisgICAgVGhpcyB2ZXJzaW9uIGNhbiBib290IGZyb20gdGhlIG9uLWJvYXJkIERNOTAwMCBFdGhlcm5ldCBjaGlwLCBhZnRlcgorICAgIGJlaW5nIGxvYWRlZCAoZnJvbSBOQU5ELCBNTUMvU0QsIG9yIFVBUlQpLglJbiB0aGUgbmVhciBmdXR1cmUsIE5BTkQKKyAgICBhbmQgVVNCIHN1cHBvcnQgY291bGQgYmUgYWRkZWQgLi4uIE5BTkQgc3VwcG9ydCBpcyBiZWluZyBoZWxkIGJhY2sKKyAgICB1bnRpbCB0aGUgc3VwcG9ydCBmb3IgdGhlIDQtYml0IEVDQyBoYXJkd2FyZSBpcyByZWFkeS4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEJyb3duZWxsIDxkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCitjb21taXQgMTM2Y2Y5MmRjOWU4NGM5YTFiZjU2N2YxZmU3NDEwOTJiZjc2NTQ5NQorQXV0aG9yOiBTYW5qZWV2IFByZW1pIDxwcmVtaUB0aS5jb20+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ4OjM3IDIwMDkgKzAyMDAKKworICAgIE9NQVAzRVZNOiBTZXQgZGVmYXVsdCBib290ZmlsZQorCisgICAgVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBkb2Vzbid0IGRlZmluZSBkZWZhdWx0CisgICAgYm9vdGZpbGU7IGxlYWRpbmcgdG8gdGhpcyB3YXJuaW5nIGF0IGV4ZWN1dGlvbjoKKworICAgIE9NQVAzX0VWTSAjIGRoY3AKKyAgICAuLi4KKyAgICAuLi4KKyAgICBESENQIGNsaWVudCBib3VuZCB0byBhZGRyZXNzIDE5Mi4xNjguMS4xMQorICAgICoqKiBXYXJuaW5nOiBubyBib290IGZpbGUgbmFtZTsgdXNpbmcgJ0FDMThCRTE2LmltZycKKyAgICBURlRQIGZyb20gc2VydmVyIDAuMC4wLjA7IG91ciBJUCBhZGRyZXNzIGlzIDE5Mi4xNjguMS4xMTsKKyAgICBzZW5kaW5nIHRocm91Z2ggZ2F0ZXdheSAxOTIuMTY4LjEuMQorICAgIEZpbGVuYW1lICdBQzE4QkUxNi5pbWcnLgorICAgIExvYWQgYWRkcmVzczogMHg4MjAwMDAwMAorICAgIExvYWRpbmc6ICoKKyAgICBURlRQIGVycm9yOiAnRmlsZSBub3QgZm91bmQnICgxKQorCisgICAgU2lnbmVkLW9mZi1ieTogU2FuamVldiBQcmVtaSA8cHJlbWlAdGkuY29tPgorCitjb21taXQgMWEwOWQwNWFiZmM2ZDRkNGYxZmNlOWY2YmQwMjc1YmQxYzA4ZDRmNQorQXV0aG9yOiBzLXBhdWxyYWpAdGkuY29tIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJRnJpIE1heSAxNSAyMzo0ODozNiAyMDA5ICswMjAwCisKKyAgICBBUk0gRGFWaW5jaTogTWlub3IgVXBkYXRlcyB0byBiYXNlIGFkZHJlc3NlcworCisgICAgUGF0Y2ggYWRkcyBiYXNlIGFkZHJlc3NlcyBmb3IgRGFWaW5jaSBETTM2NS4gVXBkYXRlZCBwYXRjaGVzIGZvciBETTM2NQorICAgIHdpbGwgYmUgcG9zdGVkIHNvb24uCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCBkZTE5M2U4ZTM2OWY1ZjAyOWVkM2I2ZTJmYzYwMzQxMDk4ZWVhNzY2CitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDg6MzYgMjAwOSArMDIwMAorCisgICAgWk9PTTIgQWRkIHN1cHBvcnQgZm9yIGRlYnVnIGJvYXJkIGRldGVjdGlvbi4KKworICAgIFRoZSBsb2dpY3BkIHdlYiBzaXRlIGlzIGEgZ29vZCBzb3VyY2UgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gdGhpcyBib2FyZC4KKyAgICBQbGVhc2Ugc3RhcnQgbG9va2luZyBoZXJlIGlmIHRoZSBiZWxvdyBsaW5rcyBhcmUgYnJva2VuLgorICAgIGh0dHA6Ly93d3cubG9naWNwZC5jb20KKworICAgIFRoaXMgaXMgYSBwZGYgb2YgdGhlIHByb2R1Y3QKKyAgICBodHRwOi8vd3d3LmxvZ2ljcGQuY29tL3NpdGVzL2RlZmF1bHQvZmlsZXMvMTAxMjY1OUFfWm9vbV9PTUFQMzR4LUlJX01EUF9CcmllZi5wZGYKKworICAgIFRoaXMgaXMgYSBwZGYgb2YgdGhlIHByb2R1Y3QgcXVpY2sgc3RhcnQgZ3VpZGUuCisgICAgVGhlIGRlYnVnIGJvYXJkIGlzIGRlc2NyaWJlZCBoZXJlLgorICAgIGh0dHA6Ly9zdXBwb3J0LmxvZ2ljcGQuY29tL2Rvd25sb2Fkcy8xMTY1LworCisgICAgVGhpcyBpcyBhIHdpa2kgc2hvd2luZyB0aGUgZGVidWcgYm9hcmQgaW4gdXNlCisgICAgaHR0cHM6Ly9vbWFwem9vbS5vcmcvZ2YvcHJvamVjdC9vbWFwem9vbS93aWtpLz9wYWdlbmFtZT1HZXR0aW5nU3RhcnRlZFdpdGhab29tSUlfQUtBX09NQVAzNFhJSV9NRFAKKworICAgIFRoZSB6b29tMiBoYXMgYW4gYXV4aWxsYXJ5IGJvYXJkIHRoYXQgY29udGFpbnMgdGhlIHNlcmlhbCwgbmV0LCBqdGFnIGFuZAorICAgIGJhdHRlcnkgc2ltdWxhdG9yLglUaGlzIGNoYW5nZSBzdXBwb3J0cyBhIHJ1bnRpbWUgY2hlY2sgaWYgdGhlIGRlYnVnIGJvYXJkIGlzCisgICAgY29ubmVjdGVkLgorCisgICAgU2lnbmVkLW9mZi1ieTogVG9tIFJpeCA8VG9tLlJpeEB3aW5kcml2ZXIuY29tPgorCitjb21taXQgMGM4NzJlY2QwMWQ2NzgyYWU5ZDM3YjZlYjcyMTQwNGE0YTQ4ZjM1NgorQXV0aG9yOiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ4OjM2IDIwMDkgKzAyMDAKKworICAgIE9NQVAzIFBvcnQga2VybmVsIG9tYXAgZ3BpbyBpbnRlcmZhY2UuCisKKyAgICBQb3J0IHZlcnNpb24gMi42LjI3IG9mIHRoZSBsaW51eCBrZXJuZWwncyBvbWFwIGdwaW8gaW50ZXJmYWNlIHRvIHUtYm9vdC4KKyAgICBUaGUgb3JpZ25hbCBzb3VyY2UgaXMgaW4gbGludXgvYXJjaC9hcm0vcGxhdC1vbWFwL2dwaW8uYworCisgICAgU2VlIGRvYy9SRUFETUUub21hcDMgZm9yIGluc3RydWN0aW9ucyBvbiB1c2UuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCAzNzZhZWU3OGRkNjZhZTBkYzRjZTQ5NmNiZTkzZWNjODBhYWFkNDhlCitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDg6MzYgMjAwOSArMDIwMAorCisgICAgWk9PTTIgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgWm9vbTIKKworICAgIFpvb20yIGlzIGEgbmV3IGJvYXJkIGZyb20gVGV4YXMgSW5zdHJ1bWVudHMgYW5kIExvZ2ljUEQKKworICAgIFRoZSBsb2dpY3BkIHdlYiBzaXRlIGlzIGEgZ29vZCBzb3VyY2UgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gdGhpcyBib2FyZC4KKyAgICBQbGVhc2Ugc3RhcnQgbG9va2luZyBoZXJlIGlmIHRoZSBiZWxvdyBsaW5rcyBhcmUgYnJva2VuLgorICAgIGh0dHA6Ly93d3cubG9naWNwZC5jb20KKworICAgIFRoaXMgaXMgYSBwZGYgb2YgdGhlIHByb2R1Y3QKKyAgICBodHRwOi8vd3d3LmxvZ2ljcGQuY29tL3NpdGVzL2RlZmF1bHQvZmlsZXMvMTAxMjY1OUFfWm9vbV9PTUFQMzR4LUlJX01EUF9CcmllZi5wZGYKKyAgICBUaGlzIGlzIHRoZSBwcm9kdWN0IGRlc2NyaXB0aW9uIHdlYiBwYWdlCisgICAgaHR0cDovL3d3dy5sb2dpY3BkLmNvbS9wcm9kdWN0cy9kZXZlbG9wbWVudC1raXRzL3RleGFzLWluc3RydW1lbnRzLXpvb20lRTIlODQlQTItb21hcDM0eC1paS1tZHAKKworICAgIFRoaXMgcGF0Y2ggcHJvdmlkZXMgYSB6b29tMiBiYXNlIHRhcmdldCBieSBjb3B5aW5nIHpvb20xIGFuZCBieSBtYWtpbmcgc29tZQorICAgIG9idmlvdXMgY2hhbmdlcy4KKworICAgIFRvIGNvbmZpZ3VyZSwgcnVuCisgICAgbWFrZSBvbWFwM196b29tMl9jb25maWcKKworICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKworY29tbWl0IDUzOTI1YWNmMWI1YzFhMWU2MjMwY2RhMjY5NzY0MGNkMDViZDExMDQKK0F1dGhvcjogU2FuZGVlcCBQYXVscmFqIDxzLXBhdWxyYWpAdGkuY29tPgorRGF0ZToJRnJpIE1heSAxNSAyMzo0ODozMyAyMDA5ICswMjAwCisKKyAgICBBUk0gRGFWaW5jaTpDb25zb2xpZGF0ZSBjb21tb24gdS1ib290LmxkcworCisgICAgVGhlIHUtYm9vdC5sZHMgaXMgY29tbW9uIGZvciBhbGwgRGFWaW5jaSBib2FyZHMuIFRoZSBwYXRjaCByZW1vdmVzCisgICAgbXVsdGlwbGUgaW5zdGFuY2VzIGFuZCBtb3ZlcyB0aGUgdS1ib290LmxkcyB0byAvY3B1L2FybTkyNmVqcy9kYXZpbmNpCisgICAgZm9sZGVyLiBUaGlzIGFkZHJlc3NlcyBvbmUgb2YgdGhlIGNvbW1lbnRzIGkgcmVjZWl2ZWQgd2hpbGUgc3VibWl0dGluZworICAgIHBhdGNoZXMgZm9yIERNM3h4CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTYW5kZWVwIFBhdWxyYWogPHMtcGF1bHJhakB0aS5jb20+CisKK2NvbW1pdCA2OGE1MzFmZDQ2NWY1YzBiM2QzNzNlMDAxMGFmZWQzMmU4OGQzN2M0CitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDc6NTIgMjAwOSArMDIwMAorCisgICAgT01BUCBDb25zb2xpZGF0ZSBjb21tb24gdS1ib290LmxkcyB0byBjcHUgbGF5ZXIuCisKKyAgICBUaGUgdS1ib290LmxkcyBmaWxlIGlzIGNvbW1vbiBmb3IgYWxsIG9tYXAgYm9hcmRzLgorICAgIE1vdmUgYSBjbGVhbmVkIHVwIHZlcnNpb24gdG8gdGhlIGNwdSBsYXllciBhbmQgYWRkIG1ha2VmaWxlIGxvZ2ljIHRvIHVzZSBpdC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KKworY29tbWl0IDY1YTc2ZDRmOTQ3YTE5M2U1N2JiOGY4MDkzYzQ4MWYyN2UwNTlmOGYKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDc6MTQgMjAwOSArMDIwMAorCisgICAgYXJtL2RjYzogYWRkIHhzY2FsZSBzdXBwb3J0CisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgNjZlOGY5ZGE2ODc5ZmUzN2YzMTU5YjM5OTdiZmY4NzQ4NDJkYzUxZAorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJRnJpIE1heSAxNSAyMzo0NzoxNCAyMDA5ICswMjAwCisKKyAgICBhcm0vZGNjOiB1c2Ugc3RhdGljIHN1cHBvcnQgdG8gYWxsb3cgdG8gdXNlIGl0IGF0IGFueXRpbWUKKworICAgIHRoZSBkY2MgY2FuIGJlIHVzZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBjcHUKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCA3ODkzYWExZWI2ZjUyYzM5NTdlZmMzMDFiNDM2ZjFmYTExZTkxYTAwCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ3OjEzIDIwMDkgKzAyMDAKKworICAgIEFSTTogVXBkYXRlIG1hY2gtdHlwZXMKKworICAgIHVwZGF0ZSBhZ2FpbnN0IGxpbnV4IHYyLjYuMjkKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAyOTA3Nzk4OTI2ZWU5MzJmNDUzYWM4NTM4ZTdhNmMwNWMxODQyOGE1CitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ3OjEzIDIwMDkgKzAyMDAKKworICAgIGFybTkyMC85MjYvOTI2OiByZW1vdmUgbm9uIG5lZWRlZCBoZWFkZXIKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAyNjlkZmVhMDE3YjA5YzVhOTk5ZDMwNTNkMDA1MDVjMTk3ODljMzUwCitBdXRob3I6IERhdmlkIEJyb3duZWxsIDxkYXZpZC1iQHBhY2JlbGwubmV0PgorRGF0ZToJRnJpIE1heSAxNSAyMzo0NzoxMyAyMDA5ICswMjAwCisKKyAgICBkYXZpbmNpIGRtNjQ0NmV2bSBOQU5EIHVwZGF0ZQorCisgICAgVGhpcyB1cGRhdGVzIHRoZSBvcHRpb25hbCAobm9uLWRlZmF1bHQhKSBOQU5EIHN1cHBvcnQgZm9yIHRoZQorICAgIERhVmluY2kgRE02NDQ2IEVWTToKKworICAgICAtIGluY2x1ZGUgTVREIHBhcnRpdGlvbmluZywgZGVmYXVsdGluZyB0byB3aGF0IExpbnV4IHVzZXMKKworICAgICAtIHVzZSBhIGZsYXNoLWJhc2VkIEJCVCwgd2hpY2ggYW1vbmcgb3RoZXIgdGhpbmdzIHNwZWVkcyBib290dXAKKworICAgIFRoaXMgbWF0Y2hlcyBjb2RlIHRoYXQncyBub3cgcXVldWVkIGZvciBtYWlubGluZSBMaW51eCwgYW5kIG1pZ2h0CisgICAgZXZlbiBtZXJnZSBpbiBhbiB1cGNvbWluZyAyLjYuMzAtcmM7IGFuZCB0aGUgTVRJRFMgYXJlIHNldCB1cCBzbworICAgIHRoYXQgdGhlIFUtQm9vdCAkbXRkcGFydHMgZW52aXJvbm1lbnQgdmFyaWFibGUgY2FuIGJlIHBhc3NlZCBhcy1pcworICAgIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lIGFzIGEgY21kbGluZXBhcnQgb3ZlcnJpZGUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworY29tbWl0IDdhNGY1MTFiNTlmMDhmNTFkZGU0Y2VhY2JkNDVmNDliOGJmMmE1Y2MKK0F1dGhvcjogRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ3OjEyIDIwMDkgKzAyMDAKKworICAgIGRhdmluY2k6IGRpc3BsYXkgY29ycmVjdCBjbG9jayBpbmZvCisKKyAgICBNb3ZlIHRoZSBjbG9jay1yYXRlIGR1bXBpbmcgY29kZSBpbnRvIHRoZSBjcHUvLi4uL2RhdmluY2kgYXJlYQorICAgIHdoZXJlIGl0IHNob3VsZCBoYXZlIGJlZW4sIGVuYWJsZWQgYnkgQ09ORklHX0RJU1BMQVlfQ1BVSU5GTywKKyAgICB1cGRhdGluZyB0aGUgZm9ybWF0IGFuZCBzaG93aW5nIHRoZSBEU1AgY2xvY2sgKHdoZXJlIHJlbGV2YW50KS4KKworICAgIFN3aXRjaCBib2FyZHMgdG8gdXNlIHRoZSBjcHVpbmZvKCkgaG9vayBmb3IgdGhpcyBzdHVmZi4KKworICAgIFJlbW92ZSBhIGZldyBub3ctb2Jzb2xldGUgUExMICNkZWZpbmVzLgorCisgICAgU2lnbmVkLW9mZi1ieTogRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisKK2NvbW1pdCBkYWVhOTI4ODI5MDk4Y2FlM2M5ZWM2YjgwMWU1MmJhNjE2NzI1MDM0CitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDc6MTIgMjAwOSArMDIwMAorCisgICAgWk9PTTEgUmVtb3ZlIG1vcmUgbGVnYWN5IE5BTkQgZGVmaW5lcy4KKworICAgIFRoZXNlIGxlZ2FjeSBOQU5EIGRlZmluZXMgYXJlIG5vIGxvbmdlciBuZWVkZWQgYnkgdGhpcyB0YXJnZXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCA2NWZkMjFjODBmY2FjYTJiYmZlM2FiMDZhYjZhYzY4MjA3NDA4MDc4CitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDc6MTIgMjAwOSArMDIwMAorCisgICAgTEVEIEFkZCBkb2N1bWVudGF0aW9uIGRlc2NyaWJpbmcgdGhlIHN0YXR1c19sZWQgYW5kIGNvbG91ciBsZWQgQVBJLgorCisgICAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIHUtYm9vdCBzdGF0dXMgTEVEIEFQSS4KKyAgICBUaGlzIGFsbG93cyBjb21tb24gdS1ib290IGNvbW1hbmRzIHRvIHVzZSBhIGJvYXJkJ3MgbGVkcyB0bworICAgIHByb3ZpZGUgc3RhdHVzIGZvciBhY3Rpdml0aWVzIGxpa2UgYm9vdGluZyBhbmQgZG93bmxvYWRpbmcgZmlsZXMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCA3Y2RmODA0ZjM0Mzc4YjkxMGI0YzRlZGQyZGFjN2UzY2E2MWMwODI1CitBdXRob3I6IFRvbSBSaXggPFRvbS5SaXhAd2luZHJpdmVyLmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDc6MTIgMjAwOSArMDIwMAorCisgICAgQVJNIEFkZCBibHVlIGNvbG91ciBMRUQgdG8gc3RhdHVzX2xlZC4KKworICAgIFRoZXJlIGlzIGV4aXRpbmcgc3VwcG9ydCBmb3IgcmVkLHllbGxvdyxncmVlbiBidXQgbm8gYmx1ZS4KKyAgICBUaGUgbWFpbiBMRUQgb24gdGhlIHpvb20yIGlzIGEgYmx1ZSBMRUQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBUb20gUml4IDxUb20uUml4QHdpbmRyaXZlci5jb20+CisKK2NvbW1pdCBiNTQzODRlM2JhNmI1NTM1NzUxZjMxN2ZjZDM5NDBhNTNlZWQwZDNhCitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ3OjAyIDIwMDkgKzAyMDAKKworICAgIGFybTogdGltZXIgYW5kIGludGVycnVwdCBpbml0IHJld29yaworCisgICAgYWN0dWFsbHkgdGhlIHRpbWVyIGluaXQgdXNlIHRoZSBpbnRlcnJ1cHRfaW5pdCBhcyBpbml0IGNhbGxiYWNrCisgICAgd2hpY2ggbWFrZSB0aGUgaW50ZXJydXB0IGFuZCB0aW1lciBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHQgdG8gZm9sbG93CisKKyAgICBzbyBub3cgcmVuYW1lIGl0IGFzIGludCB0aW1lcl9pbml0KHZvaWQpIGFuZCB1c2UgaW50ZXJydXB0X2luaXQgZm9yIGludGVycnVwdAorCisgICAgYnR3IGFsc28gcmVtYW5lIHRoZSBjb3JyZXNwb25kaW5nIGZpbGUgdG8gdGhlIGZ1bmN0aW9ubmFsaXR5IGltcGxlbWVudGVkCisKKyAgICBhcyBpeHAgYXJjaCBpbXBsZW1lbnQgdHdvIHRpbWVyIC0gb25lIGJhc2VkIG9uIGludGVycnVwdCAtIHNvIGFsbCB0aGUgdGltZXIKKyAgICByZWxhdGVkIGNvZGUgaXMgbW92ZWQgdG8gdGltZXIuYworCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKworY29tbWl0IDViNGJlYmUxZDIwYzRmMmI3MGQ0OGIwNmFlZDEwMTY3ODVlZmNjMjUKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDU6MjIgMjAwOSArMDIwMAorCisgICAgT01BUDM6IFJlb3JnYW5pemUgTWFrZWZpbGUgc3R5bGUKKworICAgIFJlZm9ybWF0IENPQkpTIGhhbmRsaW5nLgorCisgICAgU2lnbmVkLW9mZi1ieTogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBEaXJrIEJlaG1lIDxkaXJrLmJlaG1lQGdvb2dsZW1haWwuY29tPgorCitjb21taXQgYjE5NjY5ODI3MTgzNDdmNjczMTdiM2ZiMzU2NDM5NzQzY2E2OGEzNworQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJRnJpIE1heSAxNSAyMzo0NToyMiAyMDA5ICswMjAwCisKKyAgICBPTUFQMzogUmVtb3ZlIGR1YmxpY2F0ZWQgaW50ZXJydXB0IGNvZGUKKworICAgIFJlbW92ZSBkdXBsaWNhdGVkIGludGVycnVwdCBjb2RlLiBPcmlnaW5hbCwgaWRlbnRpY2FsIGNvZGUgY2FuIGJlIGZvdW5kCisgICAgaW4gbGliX2FybS9pbnRlcnJ1cHRzLmMKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogRGlyayBCZWhtZSA8ZGlyay5iZWhtZUBnb29nbGVtYWlsLmNvbT4KKworY29tbWl0IGFjNzI2MGE0MTkwMzE1ZWJhNGE2ZTUyNmM3NjRmNmNhZDBiYmY4YzUKK0F1dGhvcjogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDU6MjIgMjAwOSArMDIwMAorCisgICAgYXQ5MXJtOTIwMDogbW92ZSByZXNldCBjb2RlIHRvIHJlc2V0LmMKKworICAgIFNpZ25lZC1vZmYtYnk6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKK2NvbW1pdCAyYzc1Yzc4ZDk0NTc0ZWU5OTZkYjJhYTliNTExMjU4NTE5NDcxZGQ2CitBdXRob3I6IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ1OjIyIDIwMDkgKzAyMDAKKworICAgIGl4cC9pbnRlcnJ1cHRzOiBNb3ZlIGNvbmRpdGlvbmFsIGNvbXBpbGF0aW9uIHRvIE1ha2VmaWxlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgOGZjM2JiNGIwNjAzNTE2YWQ2NDFlMmRlMjUyYTQwMGI4NWZkODY5YgorQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJRnJpIE1heSAxNSAyMzo0NToyMCAyMDA5ICswMjAwCisKKyAgICBhcm06IGNsZWFudXAgcmVtYWluaW5nIENPTkZJR19JTklUX0NSSVRJQ0FMCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgYzIwZTI4ZjQ5YWFmMzhjN2RlZGU0NmQ4ZjhmZTgyMzRmZTkwODIyYworQXV0aG9yOiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorRGF0ZToJRnJpIE1heSAxNSAyMzo0NToxMiAyMDA5ICswMjAwCisKKyAgICBhcm05NDZlczogcmVtb3ZlIG5vbiB1c2VkIHRpbWVyCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgorCitjb21taXQgZjFkOTQ0ZTMwZWI4ZmY4OTA4MGZhMDNmYjk4ZDhmYjVjODIzODhkMgorQXV0aG9yOiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDQ6MDkgMjAwOSArMDIwMAorCisgICAgZGF2aW5jaTogYWRkIGJhc2ljIGRtMzU1L2RtMzUwL2RtMzM1IHN1cHBvcnQKKworICAgIEFkZCBzb21lIGJhc2ljIGRlY2xhcmF0aW9ucyBmb3IgRGFWaW5jaSBETTM1NS9ETTM1MC9ETTMzNSBzdXBwb3J0LAorICAgIGtleWVkIG9uIENPTkZJR19TT0NfRE0zNTUuCShETTM1WCBpc24ndCBxdWl0ZSByaWdodCBiZWNhdXNlIHRoZQorICAgIERNMzU3IGlzIHZlcnkgZGlmZmVyZW50OyB3aGlsZSB0aGUgRE0zNTUgaXMgbGlrZSBhIERNMzU1IHdpdGhvdXQKKyAgICB0aGUgTVBFRy9KUEVHIGNvcHJvY2Vzc29yKS4KKworICAgIFRoZXNlIGhhdmUgZGlmZmVyZW50IHBlcmlwaGVyYWxzIHRoYW4gdGhlIERNNjQ0NiwgYW5kIHNvbWUgb2YKKyAgICB0aGUgcGVyaXBoZXJhbHMgYXJlIGF0IGRpZmZlcmVudCBhZGRyZXNzZXMuICBOb3RhYmx5IGZvciBVLUJvb3QsCisgICAgdGhlcmUncyBubyBFTUFDLCBhbmQgdGhlIE5BTkQgY29udHJvbGxlciBhZGRyZXNzIGlzIGRpZmZlcmVudAorCisgICAgU2lnbmVkLW9mZi1ieTogRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisKK2NvbW1pdCBiZDM2ZmRjMTQ2NjU0ZjlkZTRlMmFkMzQ2MTI2ZTZiZDI5OTBmYjE5CitBdXRob3I6IERhdmlkIEJyb3duZWxsIDxkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorRGF0ZToJRnJpIE1heSAxNSAyMzo0NDowOSAyMDA5ICswMjAwCisKKyAgICBkYXZpbmNpOiBmaXggZG02NDR4IGJ1Z2xldHMKKworICAgIEZpeCB0d28gYnVnbGV0cyBpbiB0aGUgZG02NDR4IHN1cHBvcnQ6ICBkb24ndCBzZXQgdHdvIG11c3QtYmUtemVybworICAgIGJpdHMgaW4gdGhlIFVBUlQgbWFuYWdlbWVudCByZWdpc3RlcjsgYW5kIG9ubHkgaW5jbHVkZSB0aGUgSTJDIGhvb2tzCisgICAgaWYgdGhlIEkyQyBkcml2ZXIgaXMgYmVpbmcgaW5jbHVkZWQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworY29tbWl0IGY3OTA0MzY4MWZmNDRiYWU0MzVjMDZmODMwZTUxZTE1NDZkYjdlMTkKK0F1dGhvcjogRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CitEYXRlOglGcmkgTWF5IDE1IDIzOjQ0OjA4IDIwMDkgKzAyMDAKKworICAgIGRhdmluY2k6IHNwbGl0IG91dCBzb21lIGRtNjQ0eC1zcGVjaWZpYyBiaXRzIGZyb20gcHNjCisKKyAgICBTcGxpdCBvdXQgRGFWaW5jaSBETTY0NDYtc3BlY2lmaWMgYml0cyBmcm9tIG1vcmUgZ2VuZXJpYyBiaXRzOgorCisgICAgIC0gQWRkIGEgQ09ORklHX1NPQ19ETTY0NFguICBBbGwgY3VycmVudCBib2FyZHMgdXNlIERNNjQ0NiBjaGlwczsKKyAgICAgICBETTY0NDMgYW5kIERNNjQ0MSBjaGlwcyBkaWZmZXIgaW4gYXZhaWxhYmxlIHBlcmlwaGVyYWxzLgorCisgICAgIC0gTW92ZSBtb3N0IERNNjQ0WC1zcGVjaWZpYyBiaXRzIGZyb20gcHNjLmMgdG8gYSBuZXcgZG02NDR4LmMgZmlsZSwKKyAgICAgICB3aGljaCBpcyBjb25kaXRpb25hbGx5IGJ1aWx0LiAgSXQgcHJvdmlkZXMgZGV2aWNlLXNwZWNpZmljIHNldHVwLgorCisgICAgUGx1cyBtaW5vciBjb2Rpbmcgc3R5bGUgYW5kIGNvbW1lbnQgdXBkYXRlcyB3aXRoIHJlc3BlY3QgdG8gdGhlIFBTQy4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEJyb3duZWxsIDxkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCitjb21taXQgNDhlZjU3Mjk1NTVmNDFmNTE2MThiNmEzMDE2YWM1YzUzYzdjNzVkYworQXV0aG9yOiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDQ6MDggMjAwOSArMDIwMAorCisgICAgZGF2aW5jaTogY3B1LXNwZWNpZmljIGJ1aWxkIHVzZXMgY29uZGl0aW9uYWwgbWFrZSBzeW50YXgKKworICAgIFVwZGF0ZSBjcHUvYXJtOTI2ZWpzL2RhdmluY2kvTWFrZWZpbGUgdG8gdXNlIENPQkoteSB0eXBlIHN5bnRheC4KKyAgICBBZGQgdGhlIGZpcnN0IGNvbmRpdGlvbmFsOiBmb3IgRU1BQyBkcml2ZXIgc3VwcG9ydC4gIE5vdCBhbGwKKyAgICBjaGlwcyBoYXZlIGFuIEVNQUM7IGFuZCBib2FyZHMgbWlnaHQgbm90IHVzZSBpdCwgYW55d2F5LgorCisgICAgVGhpcyBkb2Vzbid0IHRvdWNoIFBIWSBjb25maWd1cmF0aW9uOyB0aGF0IHNob3VsZCBldmVudHVhbGx5CisgICAgYmVjb21lIGNvbmRpdGlvbmFsIHRvby4KKworICAgIFNpZ25lZC1vZmYtYnk6IERhdmlkIEJyb3duZWxsIDxkYnJvd25lbGxAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorCitjb21taXQgN2I3ODA4YWU2ZGFjZTU5Mjg3ZjU2NWU5MzIzY2RhN2IwOThhNTYxMgorQXV0aG9yOiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0RhdGU6CUZyaSBNYXkgMTUgMjM6NDQ6MDYgMjAwOSArMDIwMAorCisgICAgZGF2aW5jaTogbW92ZSBwc2Mgc3VwcG9ydCBib2FyZC0tPmNwdQorCisgICAgTW92ZSBEYVZpbmNpIFBTQyBzdXBwb3J0IGZyb20gYm9hcmQvKiB0byBjcHUvKiB3aGVyZSBpdCBiZWxvbmdzLgorICAgIFRoZSBQU0MgbW9kdWxlIG1hbmFnZXMgY2xvY2tzIGFuZCByZXNldHMgZm9yIGFsbCBEYVZpbmNpLWZhbWlseQorICAgIFNvQ3MsIGFuZCBpc24ndCBhdCBhbGwgYm9hcmQtc3BlY2lmaWMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworY29tbWl0IDg0Zjc0MTFjYjkwMWI4ZGYyMzkxY2Y3ZTk2N2FkMDczN2Y2MTk0YWEKK0F1dGhvcjogRGF2aWQgQnJvd25lbGwgPGRhdmlkLWJAcGFjYmVsbC5uZXQ+CitEYXRlOglUdWUgQXByIDE0IDA4OjUyOjU4IDIwMDkgLTA3MDAKKworICAgIERhVmluY2kgbm93IHJlc3BlY3RzIFNLSVBfTE9XTEVWRUxfSU5JVAorCisgICAgRG9uJ3QgbmVlZGxlc3NseSBpbmNsdWRlIGxvd2xldmVsIGluaXQgY29kZTsgdGhhdCdzIG9ubHkgcmVhbGx5CisgICAgbmVlZGVkIHdpdGggYm9vdC1mcm9tIE5PUiAobm90IGJvb3QtZnJvbS1OQU5EKS4gIFRoZSAybmQgc3RhZ2UKKyAgICBsb2FkZXIgKFVCTCkgaGFuZGxlcyB0aGF0IGJlZm9yZSBpdCBsb2FkcyBVLUJvb3QuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBCcm93bmVsbCA8ZGJyb3duZWxsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKworY29tbWl0IDY0MWUwOTI1ZTRiZjdhZGY4ZTJlMDRlM2FkODFiODQwZmQ3MWNhZGQKK0F1dGhvcjogRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CitEYXRlOglTdW4gQXByIDEyIDIyOjQ5OjI2IDIwMDkgLTA3MDAKKworICAgIERhVmluY2kgRXRoZXJuZXQgY2xlYW51cAorCisgICAgQ2hpcHMgd2l0aG91dCB0aGUgRU1BQyBjb250cm9sbGVyIHdvbid0IG5lZWQgdGhlIHV0aWxpdGllcworICAgIGl0IHVzZXMgdG8gcmVhZCBhbiBFdGhlcm5ldCBhZGRyZXNzIGZyb20gRUVQUk9NOyBzbyBkb24ndAorICAgIGluY2x1ZGUgdGhlbSBuZWVkbGVzc2x5LgorCisgICAgVXNlIGlzX3ZhbGlkX2V0aGVyKCkgdG8gdmFsaWRhdGUgdGhlIGFkZHJlc3MgZnJvbSBFRVBST00uCisgICAgQWxsLXplcm8gYWRkcmVzc2VzIGFyZW4ndCB0aGUgb25seSBpbnZhbGlkIGFkZHJlc3Nlcy4KKyAgICBBIGZ1bGx5IGVyYXNlZCBFRVBST00gcmV0dXJucyBhbGwtb25lcywgYWxzbyBpbnZhbGlkLi4uCisKKyAgICBTd2l0Y2ggdGhvc2UgRXRoZXJuZXQgdXRpbGl0aWVzIHRvIHVzZSAiJXBNIiBmb3IgcHJpbnRpbmcKKyAgICBNQUMgYWRkcmVzc2VzOyBhbmQgbm90IHNheSBST00gd2hlbiB0aGV5IG1lYW4gRUVQUk9NLgorCisgICAgU2lnbmVkLW9mZi1ieTogRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisgICAgQWNrZWQtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisKK2NvbW1pdCBjNzkwYjA0ZDIzMDM2M2QwMzkzOWRjMDA4YmNjODBmM2JhNGRlMWFlCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBNYXkgMTEgMTU6NTA6MTIgMjAwOSArMDIwMAorCisgICAgbGliX2FyY2gvYm9hcmQuYzogTW92ZSBtYWxsb2MgaW5pdGlhbGl6YXRpb24gYmVmb3JlIGZsYXNoX2luaXQoKQorCisgICAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgbWFsbG9jIGluaXRpYWxpemF0aW9uIGJlZm9yZSBjYWxsaW5nIGZsYXNoX2luaXQoKS4KKyAgICBVcGNvbWluZyBjaGFuZ2VzIHRvIHRoZSBOT1IgRkxBU0ggY29tbW9uIENGSSBkcml2ZXIgd2l0aCBvcHRpb25hbAorICAgIE1URCBpbmZyYXN0cnVjdHVyZSBhbmQgTVREIGNvbmNhdGVuYXRpb24gc3VwcG9ydCB3aWxsIGNhbGwgbWFsbG9jKCkuCisgICAgQW5kIG5vdGhpbmcgcmVhbGx5IHNwZWFrcyBhZ2FpbnN0IGVuYWJsaW5nIG1hbGxvYyBqdXN0IGEgbGl0dGxlIGVhcmxpZXIKKyAgICBpbiB0aGUgYm9vdCBzdGFnZS4gU29tZSBhcmNoaXRlY3R1cmVzIGFscmVhZHkgZW5hYmxlIG1hbGxvYyBiZWZvcmUKKyAgICBjYWxsaW5nIGZsYXNoX2luaXQoKSBzbyB0aGV5IGRvbid0IG5lZWQgYW55IGNoYW5nZXMgaGVyZS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKyAgICBDYzogV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4KKyAgICBDYzogTWlrZSBGcnlzaW5nZXIgPHZhcGllckBnZW50b28ub3JnPgorICAgIENjOiBTY290dCBNY051dHQgPHNtY251dHRAcHN5ZW50LmNvbT4KKyAgICBDYzogU2hpbnlhIEt1cmliYXlhc2hpIDxzaGlueWEua3VyaWJheWFzaGlAbmVjZWwuY29tPgorICAgIENjOiBOb2J1aGlybyBJd2FtYXRzdSA8aXdhbWF0c3VAbmlnYXVyaS5vcmc+CisgICAgQ2M6IERhbmllbCBIZWxsc3Ryb20gPGRhbmllbEBnYWlzbGVyLmNvbT4KKyAgICBDYzogSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KKyAgICBDYzogSm9obiBSaWdieSA8amNyaWdieUBnbWFpbC5jb20+CisKK2NvbW1pdCBkODczMTMzZjJiYTliZDYxM2Q1ZjY1NTJjMzFjYzcwZmIxM2YxNWQzCitBdXRob3I6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KK0RhdGU6CU1vbiBNYXkgMTEgMTM6NDY6MTQgMjAwOSArMDIwMAorCisgICAgcHBjNHh4OiBBZGQgU2VxdW9pYSBSQU0tYm9vdGluZyB0YXJnZXQKKworICAgIFRoaXMgcGF0Y2ggYWRkcyBhbm90aGVyIGJ1aWxkIHRhcmdldCBmb3IgdGhlIEFNQ0MgU2VxdW9pYSBQUEM0NDBFUHgKKyAgICBldmFsIGJvYXJkLiBUaGlzIFJBTS1ib290aW5nIHZlcnNpb24gaXMgdGFyZ2V0ZWQgZm9yIGJvYXJkcyB3aXRob3V0CisgICAgTk9SIEZMQVNIIChOQU5EIGJvb3RpbmcpIHdoaWNoIG5lZWQgYSBwb3NzaWJpbGl0eSB0byBpbml0aWFsbHkKKyAgICBwcm9ncmFtIHRoZWlyIE5BTkQgRkxBU0guIFVzaW5nIGEgSlRBRyBkZWJ1Z2dlciAoZS5nLiBCREkyMDAwLzMwMDApCisgICAgY29uZmlndXJlZCB0byBzZXR1cCB0aGUgU0RSQU0sIHRoaXMgZGVidWdnZXIgY2FuIGxvYWQgdGhpcyBSQU0tCisgICAgYm9vdGluZyBpbWFnZSB0byB0aGUgdGFyZ2V0IGFkZHJlc3MgaW4gU0RSQU0gKGluIHRoaXMgY2FzZSAweDEwMDAwMDApCisgICAgYW5kIHN0YXJ0IGl0IHRoZXJlLiBUaGVuIFUtQm9vdCdzIHN0YW5kYXJkIE5BTkQgY29tbWFuZHMgY2FuIGJlCisgICAgdXNlZCB0byBwcm9ncmFtIHRoZSBOQU5EIEZMQVNIIChlLmcuICJuYW5kIHdyaXRlIC4uLiIpLgorCisgICAgSGVyZSB0aGUgY29tbWFuZHMgdG8gbG9hZCBhbmQgc3RhcnQgdGhpcyBpbWFnZSBmcm9tIHRoZSBCREkyMDAwOgorCisgICAgNDQwRVBYPnJlc2V0IGhhbHQKKyAgICA0NDBFUFg+bG9hZCAweDEwMDAwMDAgL3RmdHBib290L3NlcXVvaWEvdS1ib290LmJpbgorICAgIDQ0MEVQWD5nbyAweDEwMDAwMDAKKworICAgIFBsZWFzZSBub3RlIHRoYXQgdGhpcyBpbWFnZSBhdXRvbWF0aWNhbGx5IHNjYW5zIGZvciBhbiBhbHJlYWR5CisgICAgaW5pdGlhbGl6ZWQgU0RSQU0gVExCIChkZXRlY3RlZCBieSBFUE49MCkuIFRoaXMgVExCIHdpbGwgbm90IGJlCisgICAgY2xlYXJlZC4gVGhpcyBUTEIgZG9lc24ndCBuZWVkIHRvIGJlIFRMQiAjMCwgdGhpcyBSQU0tYm9vdGluZworICAgIHZlcnNpb24gd2lsbCBkZXRlY3QgaXQgYW5kIHByZXNlcnZlIGl0LiBTbyBib290aW5nIHZpYSBCREkyMDAwCisgICAgd2lsbCB3b3JrIGFuZCBib290aW5nIHdpdGggYSBjb21wbGV0ZSBkaWZmZXJlbnQgVExCIGluaXQgdmlhCisgICAgVS1Cb290IHdvcmtzIGFzIHdlbGwuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA4MzdkYjNkODdmNGJmZTkyNjE2MjlmYjRhMWJiNDMzNTA2YTMwNTZhCitBdXRob3I6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KK0RhdGU6CVdlZCBNYXkgNiAwODo0MTo0NSAyMDA5IC0wNDAwCisKKyAgICB0b29scy9lbnZjcmM6IGFkZCAtLWJpbmFyeSBvcHRpb24gdG8gZXhwb3J0IGVtYmVkZGVkIGVudgorCisgICAgVGhlIC0tYmluYXJ5IG9wdGlvbiB0byBlbnZjcmMgY2FuIGJlIHVzZWQgdG8gZXhwb3J0IHRoZSBlbWJlZGRlZCBlbnYgYXMgYQorICAgIGJpbmFyeSBibG9iIHNvIHRoYXQgaXQgY2FuIGJlIG1hbmlwdWxhdGVkL2V4YW1pbmVkL3doYXRldmVyIGV4dGVybmFsbHkuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKK2NvbW1pdCAxOGNjN2FmZDlhMTUzYTY2ODU0YWY4NjJkMTRiYTAxYzU0OTZjZjA3CitBdXRob3I6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CitEYXRlOglUdWUgQXByIDI4IDE2OjUwOjUzIDIwMDkgLTA3MDAKKworICAgIEVuYWJsZSBDT05GSUdfTkVUX01VTFRJIG9uIGFsbCByZW1haW5pbmcgUFBDNHh4IGJvYXJkcworCisgICAgQWxsIGluLXRyZWUgUFBDNHh4IGJvYXJkcyBub3cgdXNlIENPTkZJR19ORVRfTVVMVEkKKworICAgIFNpZ25lZC1vZmYtYnk6IEJlbiBXYXJyZW4gPGJpZ2dlcmJhZGRlcmJlbkBnbWFpbC5jb20+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgNzBiZTZjMmQ0MDA3NmYxNDA2MmI4OTIxNTI2NDlmOWE2MjgzMmZjOQorQXV0aG9yOiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KK0RhdGU6CVdlZCBBcHIgMjkgMDk6NTE6MDEgMjAwOSArMDIwMAorCisgICAgNHh4OiBBZGQgc3VwcG9ydCBmb3IgRFA0MDUgaGFyZHdhcmUgdmFyaWFudHMKKworICAgIFNpZ25lZC1vZmYtYnk6IE1hdHRoaWFzIEZ1Y2hzIDxtYXR0aGlhcy5mdWNoc0Blc2QuZXU+CisgICAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJvZXNlIDxzckBkZW54LmRlPgorCitjb21taXQgZGU0N2EzNGQ0ZGUxZDAwN2E4OTUxZWZkMDcyMjgzNTE2ZDU4MGZmYQorQXV0aG9yOiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLWVsZWN0cm9uaWNzLmNvbT4KK0RhdGU6CVdlZCBBcHIgMjkgMDk6NTE6MDAgMjAwOSArMDIwMAorCisgICAgNHh4OiBSZW1vdmUgYmluYXJ5IGNwbGQgYml0c3RyZWFtIGZyb20gRFA0MDUgYm9hcmQKKworICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgY3BsZCBiaW5hcnkgYml0c3RyZWFtIHRoYXQgaXMKKyAgICB1c2VkIGJ5IGVzZCdzIGNwbGQgY29tbWFuZCBvbiBEUDQwNSBib2FyZHMuCisKKyAgICBCZWNhdXNlIHUtYm9vdCB3aXRoIGFuIGV4dGVybmFsIGNwbGQgYml0c3RyZWFtIG1heSBub3QKKyAgICB0YWtlIG1vcmUgc3BhY2UgaW4gZmxhc2ggdGhhbiBiZWZvcmUgdGhlIHUtYm9vdCBiaW5hcnkgaXMKKyAgICBzaHJpbmtlZCBhIGxpdHRsZSBiaXQuIFNvbWUgdW51c2VkIGZlYXR1ZXMgaGF2ZSBiZWVuCisgICAgcmVtb3ZlZCB0aGVyZWZvcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDcwMGQ1NTNmZDNhZmU4MDQwODZkZThmNzNkOTUxNTMzMTVlYjBjMzIKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CitEYXRlOglXZWQgQXByIDI5IDA5OjUwOjU5IDIwMDkgKzAyMDAKKworICAgIDR4eDogUmVtb3ZlIGJpbmFyeSBjcGxkIGJpdHN0cmVhbSBmcm9tIFZPTTQwNSBib2FyZAorCisgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjcGxkIGJpbmFyeSBiaXRzdHJlYW0gdGhhdCBpcworICAgIHVzZWQgYnkgZXNkJ3MgY3BsZCBjb21tYW5kIG9uIFZPTTQwNSBib2FyZHMuCisKKyAgICBCZWNhdXNlIHUtYm9vdCB3aXRoIGFuIGV4dGVybmFsIGNwbGQgYml0c3RyZWFtIG1heSBub3QKKyAgICB0YWtlIG1vcmUgc3BhY2UgaW4gZmxhc2ggdGhhbiBiZWZvcmUgdGhlIHUtYm9vdCBiaW5hcnkgaXMKKyAgICBzaHJpbmtlZCBhIGxpdHRsZSBiaXQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDBiYjEwNjMwMzY0YzQ4ZDk4NTdjYmY1MzUzZGE2MDlmYzRkZDY3NTEKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CitEYXRlOglXZWQgQXByIDI5IDA5OjUwOjU4IDIwMDkgKzAyMDAKKworICAgIDR4eDogUmVtb3ZlIGJpbmFyeSBjcGxkIGJpdHN0cmVhbSBmcm9tIFBNQzQwNSBib2FyZAorCisgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjcGxkIGJpbmFyeSBiaXRzdHJlYW0gdGhhdCBpcworICAgIHVzZWQgYnkgZXNkJ3MgY3BsZCBjb21tYW5kIG9uIFBNQzQwNSBib2FyZHMuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IDdjYzYzNWZiMzVmNWI5NGUzMDRmYTIyNDNkNTY3NThmNTdmNjQxNmIKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CitEYXRlOglXZWQgQXByIDI5IDA5OjUwOjU3IDIwMDkgKzAyMDAKKworICAgIDR4eDogUmVtb3ZlIGJpbmFyeSBjcGxkIGJpdHN0cmVhbSBmcm9tIENNUzcwMCBib2FyZAorCisgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjcGxkIGJpbmFyeSBiaXRzdHJlYW0gdGhhdCBpcworICAgIHVzZWQgYnkgZXNkJ3MgY3BsZCBjb21tYW5kIG9uIENNUzcwMCBib2FyZHMuCisKKyAgICBCZWNhdXNlIHUtYm9vdCB3aXRoIGFuIGV4dGVybmFsIGNwbGQgYml0c3RyZWFtIG1heSBub3QKKyAgICB0YWtlIG1vcmUgc3BhY2UgaW4gZmxhc2ggdGhhbiBiZWZvcmUgdGhlIHUtYm9vdCBiaW5hcnkgaXMKKyAgICBzaHJpbmtlZCBhIGxpdHRsZSBiaXQuIFNvbWUgdW51c2VkIGZlYXR1ZXMgaGF2ZSBiZWVuCisgICAgcmVtb3ZlZCB0aGVyZWZvcmUuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBGdWNocyA8bWF0dGhpYXMuZnVjaHNAZXNkLmV1PgorICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSb2VzZSA8c3JAZGVueC5kZT4KKworY29tbWl0IGMxYjJmNzk3ODhkZWVjNzU3NzNiMWQ5NDRkOGFhZjRhNmQ1YmFmOWUKK0F1dGhvcjogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC1lbGVjdHJvbmljcy5jb20+CitEYXRlOglXZWQgQXByIDI5IDA5OjUwOjU2IDIwMDkgKzAyMDAKKworICAgIGVzZC9jb21tb246IGV4dGVuZCBjcGxkIGNvbW1hbmQgd2l0aCBhZGRyZXNzIHBhcmFtZXRlcgorCisgICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGFuIGFkZHJlc3MgcGFyYW1ldGVyIHRvIGVzZCdzCisgICAgY3BsZCBjb21tYW5kLiBUaGlzIGlzIGluIHByZXBhcmF0aW9uIHRvIHJlbW92ZSBjb21waWxlZC1pbgorICAgIGJpbmFyeSBjcGxkICh4c3ZmKSBiaXRzdHJlYW1zLgorCisgICAgU2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgRnVjaHMgPG1hdHRoaWFzLmZ1Y2hzQGVzZC5ldT4KKyAgICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUm9lc2UgPHNyQGRlbnguZGU+CisKK2NvbW1pdCA5MTY2Yjc3NjM1MGQxNjQ2MGM3MzMwYmZiMGE1MDE1NGVhMGExOTAzCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglTYXQgQXByIDE4IDIyOjM0OjA2IDIwMDkgLTA1MDAKKworICAgIGNtZF9pMmM6IEZpeCBpMmMgaGVscCBjb21tYW5kIG91dHB1dCB3aGVuIENPTkZJR19JMkNfTVVYCisKKyAgICBXaGVuIENPTkZJR19JMkNfTVVYIHdhcyBkZWZpbmVkIHRoZSBvdXRwdXQgb2YgJ2hlbHAgaTJjJyB3YXMgbm90CisgICAgY29ycmVjdCwgZWc6CisKKyAgICA9PiBoZWxwIGkyYworICAgIGkyYyBidXMgW211eHR5cGU6bXV4YWRkcjptdXhjaGFubmVsXSAtIGFkZCBhIG5ldyBidXMgcmVhY2hlZCBvdmVyIG11eGVzLgorICAgIHNwZWVkIFtzcGVlZF0gLSBzaG93IG9yIHNldCBJMkMgYnVzIHNwZWVkCisgICAgaTJjIGRldiBbZGV2XSAtIHNob3cgb3Igc2V0IGN1cnJlbnQgSTJDIGJ1cworICAgIC4uLgorCisgICAgSXQgaGFzIGJlZW4gY2hhbmdlZCB0bzoKKyAgICBpMmMgc3BlZWQgW3NwZWVkXSAtIHNob3cgb3Igc2V0IEkyQyBidXMgc3BlZWQKKyAgICBpMmMgYnVzIFttdXh0eXBlOm11eGFkZHI6bXV4Y2hhbm5lbF0gLSBhZGQgYSBuZXcgYnVzIHJlYWNoZWQgb3ZlciBtdXhlcworICAgIGkyYyBkZXYgW2Rldl0gLSBzaG93IG9yIHNldCBjdXJyZW50IEkyQyBidXMKKyAgICAuLi4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCAwYTQ1YTYzNTdiMDJlNWNlNWJmODk5YTYwZGIwOWRlZjZhMTI5ZmVlCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglTYXQgQXByIDE4IDIyOjM0OjA1IDIwMDkgLTA1MDAKKworICAgIGNtZF9pMmM6IENsZWFuIHVwIHRyaXZpYWwgaGVscGVyIGZ1bmN0aW9ucworCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IGU5NmFkNWQzYWJhNDJmOGZmZTk5ZjdjYzVlYzFiYjlmMjE4MTAwMzUKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CVNhdCBBcHIgMTggMjI6MzQ6MDQgMjAwOSAtMDUwMAorCisgICAgY21kX2kyYzogQ2xlYW4gdXAgaTJjIGNvbW1hbmQgYXJndW1lbnQgcGFyc2luZworCisgICAgYXJnYyBhbmQgYXJndiBzaG91bGQgb25seSBiZSBtb2RpZmllZCBvbmNlIGluc3RlYWQgb2Ygb25jZSBmb3IKKyAgICBldmVyeSBpMmMgc3ViLWNvbW1hbmQKKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCAwZjg5YzU0YmU5Mjc3M2IyM2Q2NmFjNDAxYmE2YWNiNjE0NDEwMGMzCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglTYXQgQXByIDE4IDIyOjM0OjAzIDIwMDkgLTA1MDAKKworICAgIGkyYzogVXBkYXRlIHJlZmVyZW5jZXMgdG8gaW5kaXZpZHVhbCBpMmMgY29tbWFuZHMKKworICAgIFRoZSBpbmRpdmlkdWFsIGkyYyBjb21tYW5kcyBpbWQsIGltbSwgaW5tLCBpbXcsIGljcmMzMiwgaXByb2JlLCBpbG9vcCwKKyAgICBhbmQgaXNkcmFtIGFyZSBubyBsb25nZXIgYXZhaWxhYmxlIHNvIGFsbCByZWZlcmVuY2VzIHRvIHRoZW0gaGF2ZSBiZWVuCisgICAgdXBkYXRlZCB0byB0aGUgbmV3IGZvcm0gb2YgImkyYyA8Y21kPiIuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgZDQ4ZWI1MTMxZDI4N2Y1MmJiODViNGM1OGM4NjgwYTJlOGUzYjY0MQorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJU2F0IEFwciAxOCAyMjozNDowMiAyMDA5IC0wNTAwCisKKyAgICBpMmM6IFJlbW92ZSBkZXByZWNhdGVkIGluZGl2aWR1YWwgaTJjIGNvbW1hbmRzCisKKyAgICBUaGUgZm9sbG93aW5nIGluZGl2aWR1YWwgSTJDIGNvbW1hbmRzIGhhdmUgYmVlbiByZW1vdmVkOiBpbWQsIGltbSwgaW5tLAorICAgIGltdywgaWNyYzMyLCBpcHJvYmUsIGlsb29wLCBpc2RyYW0uCisKKyAgICBUaGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgaW5kaXZpZHVhbCBjb21tYW5kcyBpcyBzdGlsbCBhdmFpbGFibGUgdmlhCisgICAgdGhlICdpMmMnIGNvbW1hbmQuCisKKyAgICBUaGlzIGNoYW5nZSBvbmx5IGhhcyBhbiBpbXBhY3Qgb24gdGhvc2UgYm9hcmRzIHdoaWNoIGRpZCBub3QgaGF2ZQorICAgIENPTkZJR19JMkNfQ01EX1RSRUUgZGVmaW5lZC4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCA2NTViMzRhNzhhZGY2MGVmMjYwOTgxNjg4ODM3OTA0MjA4ODgzYWU5CitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglTYXQgQXByIDE4IDIyOjM0OjAxIDIwMDkgLTA1MDAKKworICAgIGkyYzogQ3JlYXRlIGNvbW1vbiBkZWZhdWx0IGkyY19bc2V0fGdldF1fYnVzX3NwZWVkKCkgZnVuY3Rpb25zCisKKyAgICBOZXcgZGVmYXVsdCwgd2VhayBpMmNfZ2V0X2J1c19zcGVlZCgpIGFuZCBpMmNfc2V0X2J1c19zcGVlZCgpIGZ1bmN0aW9ucworICAgIHJlcGxhY2UgYSBudW1iZXIgb2YgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGltcGxlbWVudGF0aW9ucy4KKworICAgIEFsc28sIHByb3ZpZGluZyBkZWZhdWx0IGZ1bmN0aW9ucyB3aWxsIGFsbG93IGFsbCBib2FyZHMgdG8gZW5hYmxlCisgICAgQ09ORklHX0kyQ19DTURfVFJFRS4gIFRoaXMgd2FzIHByZXZpb3VzbHkgbm90IHBvc3NpYmxlIHNpbmNlIHRoZQorICAgIHRyZWUtZm9ybSBvZiB0aGUgaTJjIGNvbW1hbmQgcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gZGlzcGxheSBhbmQgbW9kaWZ5CisgICAgdGhlIGkyYyBidXMgc3BlZWQgd2hpY2ggcmVxdWlyZXMgaTJjX1tzZXR8Z2V0XV9idXNfc3BlZWQoKSB0byBiZQorICAgIHByZXNlbnQuCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgODIyOWU5YzA0ZjcwMTlkZGQ3NmFlYTA1ZDRkY2EwNDRjYmM5YTM0YQorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJU2F0IEFwciAxOCAyMjozNDowMCAyMDA5IC0wNTAwCisKKyAgICBjbTUyMDA6IE1ha2UgZnVuY3Rpb24gdGVzdCBjb21tYW5kIG5hbWVzIG1vcmUgdW5pcXVlCisKKyAgICBBZGQgIl90ZXN0IiB0byBjbTUyMDAncyBmdW5jdGlvbiB0ZXN0IGNvbW1hbmQgbmFtZXMgdG8gcHJldmVudAorICAgIG92ZXJsYXAgd2l0aCBjb21tb24sIGdsb2JhbCBmdW5jdGlvbiBuYW1lcy4gIE9yaWdpbmFsbHksIHRoZQorICAgICJkb19pMmMiIGZ1bmN0aW9uIHRlc3QgY29tbWFuZCBpbnRlcmZlcmVkIHdpdGgKKyAgICBjb21tb24vY21kX2kyYy5jJ3MgImRvX2kyYyIgd2hlbiBDT05GSUdfSTJDX0NNRF9UUkVFIHdhcyBkZWZpbmVkLgorCisgICAgVGhlIGZ1bmN0aW9ucyB3ZXJlIGFsc28gbWFkZSBzdGF0aWMgYXMgdGhleSBhcmUgbm90IGdsb2JhbGx5IGFjY2Vzc2VkLgorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IGYwNzIyZWU3NjJlOGRhZGE5ZDdmNzRhYzI3NDVlMDQzZjgzYWFlODUKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CUZyaSBBcHIgMjQgMTU6MzQ6MDkgMjAwOSAtMDUwMAorCisgICAgdHNpMTA4X2kyYzogQWRkIGkyY19pbml0KCkgc3R1YiBmdW5jdGlvbgorCisgICAgQWRkIHRoZSBpMmNfaW5pdCgpIGZ1bmN0aW9uIHNvIHRoYXQgdGhlIHRzaTEwOF9pMmMuYyBkcml2ZXIgZml0cworICAgIFUtQm9vdCdzIHN0YW5kYXJkIEkyQyBBUEkgd2hpY2ggaXMgdXRpbGl6ZWQgYnkgY21kX2kyYy5jCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgOGQ5MDdlNzliYzliYWJiMjczOTZlMzRiZTU0Y2ZkYzM2ZmY2MmZiOQorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJRnJpIEFwciAyNCAxNTozNDowOCAyMDA5IC0wNTAwCisKKyAgICBtcGM3NDQ4aHBjMjogQWRkIENPTkZJR19TWVNfSTJDX1NQRUVEIGRlZmluZQorCisgICAgQWRkIHN0YW5kYXJkIENPTkZJR19TWVNfSTJDX1NQRUVEIGRlZmluZSBmb3IgdGhlIG1wYzc0NDhocGMyIHNvIHRoYXQKKyAgICBpdCBjYW4gdXNlIHRoZSBjb21tb24gJ2kyYyBzcGVlZCcgY29tbWFuZC4JTm90ZSB0aGF0IHRoZSBJMkMgY29udHJvbGxlcgorICAgIHV0aWxpemVkIGJ5IHRoZSBtcGM3NDQ4aHBjMiBoYXMgYSBmaXhlZCBzcGVlZCBhbmQgY2Fubm90IGJlIGNoYW5nZWQKKyAgICBkeW5hbWljYWxseS4KKworICAgIFNpZ25lZC1vZmYtYnk6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CisKK2NvbW1pdCBhMDU2YjFjZTllMTliNGQ0YWIzZGQwMWMzZjg5N2RjZDgzMmNkMzdmCitBdXRob3I6IFBldGVyIFR5c2VyIDxwdHlzZXJAeGVzLWluYy5jb20+CitEYXRlOglGcmkgQXByIDI0IDE1OjM0OjA3IDIwMDkgLTA1MDAKKworICAgIE1hcnZlbGw6IGkyYyBjbGVhbnVwCisKKyAgICBUaGUgZm9sbG93aW5nIGNoYW5nZXMgd2VyZSBtYWRlLCBwcmltYXJpbHkgdG8gYnJpbmcgdGhlIE1hcnZlbGwgaTJjCisgICAgZHJpdmVyIGluIGxpbmUgd2l0aCBVLUJvb3QncyBjdXJyZW50IEkyQyBBUEk6CisgICAgLSBNYWRlIGkyY19pbml0KCkgZ2xvYmFsbHkgYWNjZXNzaWJsZQorICAgIC0gTWFkZSBpMmNfcmVhZCgpIGFuZCBpMmNfd3JpdGUoKSByZXR1cm4gYW4gaW50ZWdlcgorICAgIC0gVXBkYXRlZCBpMmNfaW5pdCgpIGNhbGxzIHRvIHBhc3MgaW4gQ09ORklHX1NZU19JMkNfU0xBVkUgaW4gdGhlCisgICAgICBvZmZoYW5kIGNoYW5jZSBzb21lb25lIGFkZHMgc2xhdmUgc3VwcG9ydCBpbiB0aGUgZnV0dXJlCisKKyAgICBTaWduZWQtb2ZmLWJ5OiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorCitjb21taXQgNTRhZmM2ZWUxMGM4Y2QwOTU5OGQ4MTRkNDllNjAxMzU5YjAwNWU0OQorQXV0aG9yOiBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorRGF0ZToJRnJpIEFwciAyNCAxNTozNDowNiAyMDA5IC0wNTAwCisKKyAgICBjcGNpNzUwOiBpMmMgY2xlYW51cAorCisgICAgVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUgbWFkZSwgcHJpbWFyaWx5IHRvIGJyaW5nIHRoZSBjcGNpNzUwIGkyYworICAgIGRyaXZlciBpbiBsaW5lIHdpdGggVS1Cb290J3MgY3VycmVudCBJMkMgQVBJOgorICAgIC0gTWFkZSBpMmNfaW5pdCgpIGdsb2JhbGx5IGFjY2Vzc2libGUKKyAgICAtIE1hZGUgaTJjX3JlYWQoKSBhbmQgaTJjX3dyaXRlKCkgcmV0dXJuIGFuIGludGVnZXIKKyAgICAtIFVwZGF0ZWQgaTJjX2luaXQoKSBjYWxscyB0byBwYXNzIGluIENPTkZJR19TWVNfSTJDX1NMQVZFIGluIHRoZQorICAgICAgb2ZmaGFuZCBjaGFuY2Ugc29tZW9uZSBhZGRzIHNsYXZlIHN1cHBvcnQgaW4gdGhlIGZ1dHVyZQorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKworY29tbWl0IDljOTBhMmM4ZTg3NDE0MDA3YTAxNmI3Y2QwOTlhYzFlMzJmZDMwMWIKK0F1dGhvcjogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KK0RhdGU6CUZyaSBBcHIgMjQgMTU6MzQ6MDUgMjAwOSAtMDUwMAorCisgICAgaTJjLmg6IFByb3ZpZGUgYSBkZWZhdWx0IENPTkZJR19TWVNfSTJDX1NMQVZFIHZhbHVlCisKKyAgICBNYW55IGJvYXJkcy9jb250cm9sbGVycy9kcml2ZXJzIGRvbid0IHN1cHBvcnQgYW4gSTJDIHNsYXZlIGludGVyZmFjZSwKKyAgICBob3dldmVyIENPTkZJR19TWVNfSTJDX1NMQVZFIGlzIHVzZWQgaW4gY29tbW9uIGNvZGUgc28gcHJvdmlkZSBhCisgICAgZGVmYXVsdAorCisgICAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgVHlzZXIgPHB0eXNlckB4ZXMtaW5jLmNvbT4KKwogY29tbWl0IGU3NTYzYWZmMTc0Zjc3YWE2MWRhYjFlZjVkOWI0N2JlYmFhNDM3MDIKIEF1dGhvcjogS3VtYXIgR2FsYSA8Z2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZz4KIERhdGU6CVRodSBKdW4gMTEgMjM6NDI6MzUgMjAwOSAtMDUwMApkaWZmIC0tZ2l0IGEvYm9hcmQvZGlnc3lfbXRjL2NtZF9tdGMuYyBiL2JvYXJkL2RpZ3N5X210Yy9jbWRfbXRjLmMKaW5kZXggOWUzNzdjZC4uMmVjYjRmOCAxMDA2NDQKLS0tIGEvYm9hcmQvZGlnc3lfbXRjL2NtZF9tdGMuYworKysgYi9ib2FyZC9kaWdzeV9tdGMvY21kX210Yy5jCkBAIC0zMzMsMTggKzMzMywxOCBAQAogfQogCiBVX0JPT1RfQ01EKG10YywgNSwgMSwgY21kX210YywKLQkgICAibXRjICAgICAtIHNwZWNpYWwgY29tbWFuZHMgZm9yIGRpZ3N5TVRDXG4iLAotCSAgICJbc3ViY29tbWFuZF0gW2FyZ3MuLi5dXG4iCi0JICAgIlN1YmNvbW1hbmRzIGxpc3Q6XG4iCi0JICAgImxlZCBbbGVkbmFtZV0gW3N0YXRlXSBbYmxpbmtdIC0gc2V0IHN0YXRlIG9mIGxlZHNcbiIKLQkgICAiICBbbGVkbmFtZV06IGRpYWcgY2FuMSBjYW4yIGNhbjMgY2FuNCB1c2Jwd3IgdXNiYnVzeSB1c2VyMSB1c2VyMlxuIgotCSAgICIgIFtzdGF0ZV06IG9mZiByZWQgZ3JlZW4gb3JhbmdlXG4iCi0JICAgIiAgW2JsaW5rXTogYmxpbmsgaW50ZXJ2YWwgaW4gMTAwbXMgc3RlcHMgKDEgLSAxMDsgMCA9IHN0YXRpYylcbiIKLQkgICAia2V5IC0gcmV0dXJucyBzdGF0ZSBvZiB1c2VyIGtleVxuIgotCSAgICJ2ZXJzaW9uIC0gcmV0dXJucyBmaXJtd2FyZSB2ZXJzaW9uIG9mIHN1cGVydmlzb3IgdUNcbiIKLQkgICAiYXBwcmVnIC0gcmVhZHMgYXBwcmVnIHZhbHVlIGFuZCBzdG9yZXMgaW4gZW52aXJvbm1lbnQgdmFyaWFibGUiCi0JICAgIiAnYXBwcmVnJ1xuIgotCSAgICJkaWdpbiBbY2hhbm5lbF0gLSByZXR1cm5zIHN0YXRlIG9mIGRpZ2l0YWwgaW5wdXQgKDEgb3IgMilcbiIKLQkgICAiZGlnb3V0IDxvbnxvZmY+IDxvbnxvZmY+IC0gc2V0cyBzdGF0ZSBvZiB0d28gZGlnaXRhbCBvdXRwdXRzXG4iCi0JICAgImhlbHAgW3N1YmNvbW1hbmRdIC0gZ2V0IGhlbHAgZm9yIHN1YmNvbW1hbmRcbiIpOwotCisJIm10YyAgICAgLSBzcGVjaWFsIGNvbW1hbmRzIGZvciBkaWdzeU1UQ1xuIiwKKwkiW3N1YmNvbW1hbmRdIFthcmdzLi4uXVxuIgorCSJTdWJjb21tYW5kcyBsaXN0OlxuIgorCSJsZWQgW2xlZG5hbWVdIFtzdGF0ZV0gW2JsaW5rXSAtIHNldCBzdGF0ZSBvZiBsZWRzXG4iCisJIiAgW2xlZG5hbWVdOiBkaWFnIGNhbjEgY2FuMiBjYW4zIGNhbjQgdXNicHdyIHVzYmJ1c3kgdXNlcjEgdXNlcjJcbiIKKwkiICBbc3RhdGVdOiBvZmYgcmVkIGdyZWVuIG9yYW5nZVxuIgorCSIgIFtibGlua106IGJsaW5rIGludGVydmFsIGluIDEwMG1zIHN0ZXBzICgxIC0gMTA7IDAgPSBzdGF0aWMpXG4iCisJImtleSAtIHJldHVybnMgc3RhdGUgb2YgdXNlciBrZXlcbiIKKwkidmVyc2lvbiAtIHJldHVybnMgZmlybXdhcmUgdmVyc2lvbiBvZiBzdXBlcnZpc29yIHVDXG4iCisJImFwcHJlZyAtIHJlYWRzIGFwcHJlZyB2YWx1ZSBhbmQgc3RvcmVzIGluIGVudmlyb25tZW50IHZhcmlhYmxlIgorCSIgJ2FwcHJlZydcbiIKKwkiZGlnaW4gW2NoYW5uZWxdIC0gcmV0dXJucyBzdGF0ZSBvZiBkaWdpdGFsIGlucHV0ICgxIG9yIDIpXG4iCisJImRpZ291dCA8b258b2ZmPiA8b258b2ZmPiAtIHNldHMgc3RhdGUgb2YgdHdvIGRpZ2l0YWwgb3V0cHV0c1xuIgorCSJoZWxwIFtzdWJjb21tYW5kXSAtIGdldCBoZWxwIGZvciBzdWJjb21tYW5kXG4iCispOwpkaWZmIC0tZ2l0IGEvYm9hcmQvZXNkL2RwNDA1L2RwNDA1LmMgYi9ib2FyZC9lc2QvZHA0MDUvZHA0MDUuYwppbmRleCA4ZjRiNzhkLi5lNTJkMzdiIDEwMDY0NAotLS0gYS9ib2FyZC9lc2QvZHA0MDUvZHA0MDUuYworKysgYi9ib2FyZC9lc2QvZHA0MDUvZHA0MDUuYwpAQCAtMTAxLDI4ICsxMDEsMjggQEAKIAlpZDEgPSB0cmFuc1sofihpbl9iZTMyKCh2b2lkICopR1BJTzBfSVIpID4+IDUpKSAmIDB4MDAwMDAwMGZdOwogCWlkMiA9IHRyYW5zWyh+KGluX2JlMzIoKHZvaWQgKilHUElPMF9JUikgPj4gOSkpICYgMHgwMDAwMDAwZl07CiAKLSAgICAgICAgcmV2ID0gaW5fOCgodm9pZCAqKTB4ZjAwMDEwMDApOwotICAgICAgICBpZiAocmV2ICYgMHgxMCkgLyogb2xkIERQNDA1IGNvbXBhdGliaWxpdHkgKi8KLSAgICAgICAgICAgICAgICByZXYgPSBpbl84KCh2b2lkICopMHhmMDAwMDgwMCk7CisJcmV2ID0gaW5fOCgodm9pZCAqKTB4ZjAwMDEwMDApOworCWlmIChyZXYgJiAweDEwKSAvKiBvbGQgRFA0MDUgY29tcGF0aWJpbGl0eSAqLworCQlyZXYgPSBpbl84KCh2b2lkICopMHhmMDAwMDgwMCk7CiAKLSAgICAgICAgc3dpdGNoIChyZXYgJiAweGMwKSB7Ci0gICAgICAgIGNhc2UgMHgwMDoKLSAgICAgICAgICAgICAgICBwdXRzKCIgKEhXPURQNDA1Iik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMHg4MDoKLSAgICAgICAgICAgICAgICBwdXRzKCIgKEhXPURQNDA1L0NPIik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMHhjMDoKLSAgICAgICAgICAgICAgICBwdXRzKCIgKEhXPURONDA1Iik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgcHJpbnRmKCIsIElEPTB4JTFYJTFYLCBQTEQ9MHglMDJYIiwgaWQyLCBpZDEsIHJldiAmIDB4MGYpOworCXN3aXRjaCAocmV2ICYgMHhjMCkgeworCWNhc2UgMHgwMDoKKwkJcHV0cygiIChIVz1EUDQwNSIpOworCQlicmVhazsKKwljYXNlIDB4ODA6CisJCXB1dHMoIiAoSFc9RFA0MDUvQ08iKTsKKwkJYnJlYWs7CisJY2FzZSAweGMwOgorCQlwdXRzKCIgKEhXPURONDA1Iik7CisJCWJyZWFrOworCX0KKwlwcmludGYoIiwgSUQ9MHglMVglMVgsIFBMRD0weCUwMlgiLCBpZDIsIGlkMSwgcmV2ICYgMHgwZik7CiAKLSAgICAgICAgaWYgKChyZXYgJiAweGMwKSA9PSAweGMwKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRmKCIsIEM1Vj0lcyIsCi0gICAgICAgICAgICAgICAgICAgICAgIGluX2JlMzIoKHZvaWQgKilHUElPMF9JUikgJiAweDQwMDAwMDAwID8gIm9mZiIgOiAib24iKTsKLSAgICAgICAgfQotICAgICAgICBwdXRzKCIpXG4iKTsKKwlpZiAoKHJldiAmIDB4YzApID09IDB4YzApIHsKKwkJcHJpbnRmKCIsIEM1Vj0lcyIsCisJCSAgICAgICBpbl9iZTMyKCh2b2lkICopR1BJTzBfSVIpICYgMHg0MDAwMDAwMCA/ICJvZmYiIDogIm9uIik7CisJfQorCXB1dHMoIilcbiIpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9jcHUvYXJtOTI2ZWpzL214MjcvZ2VuZXJpYy5jIGIvY3B1L2FybTkyNmVqcy9teDI3L2dlbmVyaWMuYwppbmRleCBlYWI1NGQ4Li5iY2Y3ODk5IDEwMDY0NAotLS0gYS9jcHUvYXJtOTI2ZWpzL214MjcvZ2VuZXJpYy5jCisrKyBiL2NwdS9hcm05MjZlanMvbXgyNy9nZW5lcmljLmMKQEAgLTIzOCw0ICsyMzgsMyBAQAogCQkJCSZyZWdzLT5wb3J0W3BvcnRdLmljb25mYjIpOwogCX0KIH0KLQpkaWZmIC0tZ2l0IGEvY3B1L2FybTkyNmVqcy9teDI3L3RpbWVyLmMgYi9jcHUvYXJtOTI2ZWpzL214MjcvdGltZXIuYwppbmRleCBkMjIyNTJlLi45MDExMDU4IDEwMDY0NAotLS0gYS9jcHUvYXJtOTI2ZWpzL214MjcvdGltZXIuYworKysgYi9jcHUvYXJtOTI2ZWpzL214MjcvdGltZXIuYwpAQCAtMTc2LDcgKzE3Niw3IEBACiAJdGltZXN0YW1wID0gdGltZV90b190aWNrKHQpOwogfQogCi0vKiBkZWxheSB4IHVzZWNvbmRzIEFORCBwZXJzZXJ2ZSBhZHZhbmNlIHRpbXN0YW1wIHZhbHVlICovCisvKiBkZWxheSB4IHVzZWNvbmRzIEFORCBwcmVzZXJ2ZSBhZHZhbmNlIHRpbXN0YW1wIHZhbHVlICovCiB2b2lkIHVkZWxheSAodW5zaWduZWQgbG9uZyB1c2VjKQogewogCXVuc2lnbmVkIGxvbmcgbG9uZyB0bXA7CkBAIC0xODgsNCArMTg4LDMgQEAKIAl3aGlsZSAoZ2V0X3RpY2tzKCkgPCB0bXApCS8qIGxvb3AgdGlsbCBldmVudCAqLwogCQkgLypOT1AqLzsKIH0KLQpkaWZmIC0tZ2l0IGEvY3B1L2FybV9jb3J0ZXhhOC9jcHUuYyBiL2NwdS9hcm1fY29ydGV4YTgvY3B1LmMKaW5kZXggZmNiNTc3NS4uODIyZWU3ZCAxMDA2NDQKLS0tIGEvY3B1L2FybV9jb3J0ZXhhOC9jcHUuYworKysgYi9jcHUvYXJtX2NvcnRleGE4L2NwdS5jCkBAIC03OCw0ICs3OCwzIEBACiB7CiAJYXNtICgibWNyIHAxNSwgMCwgJTAsIGM3LCBjNSwgMCI6IDoiciIgKDApKTsKIH0KLQpkaWZmIC0tZ2l0IGEvY3B1L2FybV9jb3J0ZXhhOC9vbWFwMy9jYWNoZS5jIGIvY3B1L2FybV9jb3J0ZXhhOC9vbWFwMy9jYWNoZS5jCmluZGV4IGY0OWVkNGEuLjBkNWI0NDQgMTAwNjQ0Ci0tLSBhL2NwdS9hcm1fY29ydGV4YTgvb21hcDMvY2FjaGUuYworKysgYi9jcHUvYXJtX2NvcnRleGE4L29tYXAzL2NhY2hlLmMKQEAgLTkzLDQgKzkzLDMgQEAKIAkJX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdiByMTIsICUwIjoiPXIiKGopKTsKIAl9CiB9Ci0KZGlmZiAtLWdpdCBhL2RvYy9SRUFETUUuTEVEIGIvZG9jL1JFQURNRS5MRUQKaW5kZXggMTIyMTE3Ny4uOTRlNTUyYSAxMDA2NDQKLS0tIGEvZG9jL1JFQURNRS5MRUQKKysrIGIvZG9jL1JFQURNRS5MRUQKQEAgLTEwLDcgKzEwLDcgQEAKIElmIHRoZSBMRUQgc3VwcG9ydCBpcyBvbmx5IGZvciBhIHNpbmdsZSBib2FyZCwgZGVmaW5lIENPTkZJR19CT0FSRF9TUEVDSUZJQ19MRUQKIGluIHRoZSBib2FyZCBjb25maWcgZmlsZS4KIAotQXQgYSBtaW5pbXVtLCB0aGVzZSBtYWNyb3MgbXVzdCBiZSBkZWZpbmVkIGF0IAorQXQgYSBtaW5pbXVtLCB0aGVzZSBtYWNyb3MgbXVzdCBiZSBkZWZpbmVkIGF0CiBTVEFUVVNfTEVEX0JJVAogU1RBVFVTX0xFRF9TVEFURQogU1RBVFVTX0xFRF9QRVJJT0QKQEAgLTIwLDcgKzIwLDcgQEAKIFNUQVRVU19MRURfU1RBVEU8bj4KIFNUQVRVU19MRURfUEVSSU9EPG4+CiAKLVdoZXJlIDxuPiBjYW4gYSBpbnRlZ2VyIDEgdGhyb3VnaCAzLiAKK1doZXJlIDxuPiBjYW4gYSBpbnRlZ2VyIDEgdGhyb3VnaCAzLgogCiBTVEFUVVNfTEVEX0JJVCBpcyBwYXNzZWQgaW50byB0aGUgX19sZWRfKiBmdW5jdGlvbnMgdG8gaWRlbnRpZnkgd2hpY2ggTEVEIGlzCiBiZWluZyBhY3RlZCBvbi4gIEFzIHN1Y2gsIHRoZSB2YWx1ZSBjaG9vc2UgbXVzdCBiZSB1bmlxdWUgd2l0aCB3aXRoIHJlc3BlY3QgdG8KQEAgLTM3LDI1ICszNywyNSBAQAogU29tZSBvdGhlciBMRUQgbWFjcm9zCiAKIFNUQVRVU19MRURfQk9PVCBpcyB0aGUgTEVEIHRvIGxpZ2h0IHdoZW4gdGhlIGJvYXJkIGlzIGJvb3RpbmcuICBUaGlzIG11c3QgYmUgYQotdmFsaWQgU1RBVFVTX0xFRF9CSVQgdmFsdWUuIAordmFsaWQgU1RBVFVTX0xFRF9CSVQgdmFsdWUuCiAKIFNUQVRVU19MRURfUkVEIGlzIHRoZSByZWQgTEVELiAgSXQgaXMgdXNlZCBzaWduYWwgZXJyb3JzLiBUaGlzIG11c3QgYmUgYSB2YWxpZAogU1RBVFVTX0xFRF9CSVQgdmFsdWUuIE90aGVyIHNpbWlsYXIgY29sb3IgTEVEJ3MgYXJlIFNUQVRVU19MRURfWUVMTE9XIGFuZAotU1RBVFVTX0xFRF9CTFVFLiAgCitTVEFUVVNfTEVEX0JMVUUuCiAKIFRoZXNlIGJvYXJkIG11c3QgZGVmaW5lIHRoZXNlIGZ1bmN0aW9ucwogCiBfX2xlZF9pbml0IGlzIGNhbGxlZCBvbmNlIHRvIGluaXRpYWxpemUgdGhlIExFRCB0byBTVEFUVVNfTEVEX1NUQVRFLiBPbmUgdGltZQogc3RhcnQgdXAgY29kZSBzaG91bGQgYmUgcGxhY2VkIGhlcmUuCiAKLV9fbGVkX3NldCBpcyBjYWxsZWQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgTEVELiAKK19fbGVkX3NldCBpcyBjYWxsZWQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgTEVELgogCiBfX2xlZF90b2dnbGUgaXMgY2FsbGVkIHRvIHRvZ2dsZSB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgTEVELgogCiBDb2xvdXIgTEVECiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLUNvbG91ciBMRUQncyBhcmUgYXQgcHJlc2VudCBvbmx5IHVzZWQgYnkgQVJNLiAKK0NvbG91ciBMRUQncyBhcmUgYXQgcHJlc2VudCBvbmx5IHVzZWQgYnkgQVJNLgogCiBUaGUgZnVuY3Rpb25zIG5hbWVzIGV4cGxhaW4gdGhlaXIgcHVycG9zZS4KIApkaWZmIC0tZ2l0IGEvZG9jL1JFQURNRS5vbWFwMyBiL2RvYy9SRUFETUUub21hcDMKaW5kZXggNjZlNzgxZC4uNjIyNzE1MSAxMDA2NDQKLS0tIGEvZG9jL1JFQURNRS5vbWFwMworKysgYi9kb2MvUkVBRE1FLm9tYXAzCkBAIC0xNTYsNCArMTU2LDMgQEAKIFs4XSBUSSBPTUFQMyBVLUJvb3Q6CiAKIGh0dHA6Ly9iZWFnbGVib2FyZC5nb29nbGVjb2RlLmNvbS9maWxlcy91LWJvb3RfYmVhZ2xlX3JldmIudGFyLmd6Ci0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcWUvdWVjLmMgYi9kcml2ZXJzL3FlL3VlYy5jCmluZGV4IDM2ODY1NzUuLmQ0OGQyMmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcWUvdWVjLmMKKysrIGIvZHJpdmVycy9xZS91ZWMuYwpAQCAtMTM5Myw1ICsxMzkzLDMgQEAKIHsKIAlyZXR1cm4gdWVjX2V0aF9pbml0KGJpcywgdWVjX2luZm8sIEFSUkFZX1NJWkUodWVjX2luZm8pKTsKIH0KLQotCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teDI3L2lteC1yZWdzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teDI3L2lteC1yZWdzLmgKaW5kZXggNWQyZTBiMy4uY2ZmMmIwZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXgyNy9pbXgtcmVncy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14MjcvaW14LXJlZ3MuaApAQCAtMSw1ICsxLDQgQEAKIC8qCi0gKgogICogKGMpIDIwMDcgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KICAqIChjKSAyMDA5IElseWEgWWFub2ssIEVtY3JhZnQgU3lzdGVtcyA8eWFub2tAZW1jcmFmdC5jb20+CiAgKgpAQCAtNTA2LDQgKzUwNSwzIEBACiAjZGVmaW5lIElJTTFfU1VJRAkJMQogCiAjZW5kaWYJCQkJLyogX0lNWF9SRUdTX0ggKi8KLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb25maWdzL1AyMDIwRFMuaCBiL2luY2x1ZGUvY29uZmlncy9QMjAyMERTLmgKaW5kZXggZmRkY2NlNS4uOTMwNjg2MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWdzL1AyMDIwRFMuaAorKysgYi9pbmNsdWRlL2NvbmZpZ3MvUDIwMjBEUy5oCkBAIC0xMTAsNyArMTEwLDkgQEAKICNkZWZpbmUgQ09ORklHX0ZTTF9ERFIzCQkxCiAjdW5kZWYgQ09ORklHX0ZTTF9ERFJfSU5URVJBQ1RJVkUKIAotLy8gI2RlZmluZQlDT05GSUdfRERSX0VDQyAvKiBFQ0Mgd2lsbCBiZSBlbmFibGVkIGJhc2VkIG9uIHBlcmZfbW9kZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAqLworLyogRUNDIHdpbGwgYmUgZW5hYmxlZCBiYXNlZCBvbiBwZXJmX21vZGUgZW52aXJvbm1lbnQgdmFyaWFibGUgKi8KKy8qICNkZWZpbmUJQ09ORklHX0REUl9FQ0MgKi8KKwogI2RlZmluZSBDT05GSUdfRUNDX0lOSVRfVklBX0REUkNPTlRST0xMRVIKICNkZWZpbmUgQ09ORklHX01FTV9JTklUX1ZBTFVFCTB4RGVhZEJlZWYKIApAQCAtMTI2LDcgKzEyOCw2IEBACiAjZGVmaW5lIFNQRF9FRVBST01fQUREUkVTUzEJMHg1MQkvKiBDVExSIDAgRElNTSAwICovCiAKIC8qIFRoZXNlIGFyZSB1c2VkIHdoZW4gRERSIGRvZXNuJ3QgdXNlIFNQRC4gICovCi0vLyNkZWZpbmUgQ09ORklHX1NZU19TRFJBTV9TSVpFCQk1MTIJCS8qIEREUiBpcyA1MTJNQiAqLwogI2RlZmluZSBDT05GSUdfU1lTX1NEUkFNX1NJWkUJCTEwMjQJCS8qIEREUiBpcyAxR0IgKi8KIAogLyogRGVmYXVsdCBzZXR0aW5ncyBmb3IgInN0YWJsZSIgbW9kZSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tdGQvY29uY2F0LmggYi9pbmNsdWRlL2xpbnV4L210ZC9jb25jYXQuaAppbmRleCBlODBjNjc0Li5jOTJiNGRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L210ZC9jb25jYXQuaAorKysgYi9pbmNsdWRlL2xpbnV4L210ZC9jb25jYXQuaApAQCAtOSw3ICs5LDYgQEAKICNpZm5kZWYgTVREX0NPTkNBVF9ICiAjZGVmaW5lIE1URF9DT05DQVRfSAogCi0KIHN0cnVjdCBtdGRfaW5mbyAqbXRkX2NvbmNhdF9jcmVhdGUoCiAgICAgc3RydWN0IG10ZF9pbmZvICpzdWJkZXZbXSwgIC8qIHN1YmRldmljZXMgdG8gY29uY2F0ZW5hdGUgKi8KICAgICBpbnQgbnVtX2RldnMsICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIHN1YmRldmljZXMgICAgICAqLwpAQCAtMTgsNCArMTcsMyBAQAogdm9pZCBtdGRfY29uY2F0X2Rlc3Ryb3koc3RydWN0IG10ZF9pbmZvICptdGQpOwogCiAjZW5kaWYKLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tdGQvbXRkLmggYi9pbmNsdWRlL2xpbnV4L210ZC9tdGQuaAppbmRleCBjODg0NTY3Li4xNjU1NmM0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L210ZC9tdGQuaAorKysgYi9pbmNsdWRlL2xpbnV4L210ZC9tdGQuaApAQCAtMTEzLDkgKzExMyw5IEBACiBzdHJ1Y3QgbXRkX2luZm8gewogCXVfY2hhciB0eXBlOwogCXVfaW50MzJfdCBmbGFnczsKLQl1aW50NjRfdCBzaXplOwkgLy8gVG90YWwgc2l6ZSBvZiB0aGUgTVRECisJdWludDY0X3Qgc2l6ZTsJIC8qIFRvdGFsIHNpemUgb2YgdGhlIE1URCAqLwogCi0JLyogIk1ham9yIiBlcmFzZSBzaXplIGZvciB0aGUgZGV2aWNlLiBOYcOvdmUgdXNlcnMgbWF5IHRha2UgdGhpcworCS8qICJNYWpvciIgZXJhc2Ugc2l6ZSBmb3IgdGhlIGRldmljZS4gTmHvdmUgdXNlcnMgbWF5IHRha2UgdGhpcwogCSAqIHRvIGJlIHRoZSBvbmx5IGVyYXNlIHNpemUgYXZhaWxhYmxlLCBvciBtYXkgdXNlIHRoZSBtb3JlIGRldGFpbGVkCiAJICogaW5mb3JtYXRpb24gYmVsb3cgaWYgdGhleSBkZXNpcmUKIAkgKi8K