From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Peter Robinson To: git-commits@fedoraproject.org Subject: [rpms/uboot-tools] rawhide: 2026.07 RC5 Date: Tue, 23 Jun 2026 10:00:35 GMT Message-ID: <178220883553.1.1948138749563051051.rpms-uboot-tools-6cdb80150836@fedoraproject.org> List-ID: X-Git-Repo: rpms/uboot-tools X-Git-Branch: rawhide X-Git-Rev: 6cdb801508369da8fd5d781a26209c376f5fe7e0 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvdWJvb3QtdG9vbHMK QnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiA2Y2RiODAxNTA4MzY5ZGE4ZmQ1ZDc4MWEyNjIwOWMz NzZmNWZlN2UwCkF1dGhvciA6IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdtYWlsLmNvbT4K RGF0ZSAgIDogMjAyNi0wNi0yM1QxMDo1OTo1MiswMTowMApTdGF0cyAgOiArMjkvLTI3MDEgaW4g MTAgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3Vi b290LXRvb2xzL2MvNmNkYjgwMTUwODM2OWRhOGZkNWQ3ODFhMjYyMDljMzc2ZjVmZTdlMD9icmFu Y2g9cmF3aGlkZQoKTG9nOgoyMDI2LjA3IFJDNQoKLS0tCmRpZmYgLS1naXQgYS8wMDAxLUFkZC1i Y20yNzEyLWNvbXBhdC5wYXRjaCBiLzAwMDEtQWRkLWJjbTI3MTItY29tcGF0LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTQ5N2I4Li4wMDAwMDAwCi0tLSBhLzAwMDEtQWRk LWJjbTI3MTItY29tcGF0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotRnJv bSA4MzYxMmVjZjMwZTkxOTIyNDdhZDhjMmY2N2Y1ODUzNjBmNWVhNjhiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZ21haWwuY29tPgot RGF0ZTogV2VkLCAxMSBNYXIgMjAyNiAxNDoyNzoyMSArMDAwMAotU3ViamVjdDogW1BBVENIXSBB ZGQgYmNtMjcxMiBjb21wYXQKLQotLS0tCi0gZHJpdmVycy92aWRlby9iY20yODM1LmMgfCAxICsK LSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vYmNtMjgzNS5jIGIvZHJpdmVycy92aWRlby9iY20yODM1LmMKLWluZGV4IDBjODFlNjA2 NjIyLi4wZTBjYzE5NzllYiAxMDA2NDQKLS0tLSBhL2RyaXZlcnMvdmlkZW8vYmNtMjgzNS5jCi0r KysgYi9kcml2ZXJzL3ZpZGVvL2JjbTI4MzUuYwotQEAgLTY2LDYgKzY2LDcgQEAgc3RhdGljIGlu dCBiY20yODM1X3ZpZGVvX3Byb2JlKHN0cnVjdCB1ZGV2aWNlICpkZXYpCi0gc3RhdGljIGNvbnN0 IHN0cnVjdCB1ZGV2aWNlX2lkIGJjbTI4MzVfdmlkZW9faWRzW10gPSB7Ci0gCXsgLmNvbXBhdGli bGUgPSAiYnJjbSxiY20yODM1LWhkbWkiIH0sCi0gCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY20y NzExLWhkbWkwIiB9LAotKwl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtMjcxMi1oZG1pMCIgfSwK LSAJeyAuY29tcGF0aWJsZSA9ICJicmNtLGJjbTI3MDgtZmIiIH0sCi0gI2lmICFJU19FTkFCTEVE KENPTkZJR19WSURFT19EVF9TSU1QTEVGQikKLSAJeyAuY29tcGF0aWJsZSA9ICJzaW1wbGUtZnJh bWVidWZmZXIiIH0sCi0tLSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0IGEvQVJNLVJQaTUtRW5hYmxl LVBDSWUucGF0Y2ggYi9BUk0tUlBpNS1FbmFibGUtUENJZS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggZGIwNTJlYi4uMDAwMDAwMAotLS0gYS9BUk0tUlBpNS1FbmFibGUtUENJ ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MjIgKzAsMCBAQAotRnJvbSBwYXRjaHdvcmsg TW9uIEp1biAgMSAxMDozOToyMCAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDdiaXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjogVG9yc3RlbiBEdXdlIDxkdXdlQGxzdC5kZT4K LVgtUGF0Y2h3b3JrLUlkOiAyMjQ3MzEzCi1YLVBhdGNod29yay1EZWxlZ2F0ZTogcGJyb2JpbnNv bkBnbWFpbC5jb20KLVJldHVybi1QYXRoOiA8dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZT4K LVgtT3JpZ2luYWwtVG86IGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnCi1EZWxpdmVyZWQt VG86IHBhdGNod29yay1pbmNvbWluZ0BsZWdvbGFzLm96bGFicy5vcmcKLUF1dGhlbnRpY2F0aW9u LVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBhdXRo b3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xpZW50LWlwPTJhMDE6MjM4 OjQzOGI6YzUwMDoxNzNkOjlmNTI6ZGRhYjplZTAxOyBoZWxvPXBob2Jvcy5kZW54LmRlOwotIGVu dmVsb3BlLWZyb209dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZTsgcmVjZWl2ZXI9cGF0Y2h3 b3JrLm96bGFicy5vcmcpCi1SZWNlaXZlZDogZnJvbSBwaG9ib3MuZGVueC5kZSAocGhvYm9zLmRl bnguZGUKLSBbSVB2NjoyYTAxOjIzODo0MzhiOmM1MDA6MTczZDo5ZjUyOmRkYWI6ZWUwMV0pCi0J KHVzaW5nIFRMU3YxLjMgd2l0aCBjaXBoZXIgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAoMjU2LzI1 NiBiaXRzKQotCSBrZXktZXhjaGFuZ2UgeDI1NTE5IHNlcnZlci1zaWduYXR1cmUgRUNEU0EgKHNl Y3AzODRyMSkgc2VydmVyLWRpZ2VzdCBTSEEzODQpCi0JKE5vIGNsaWVudCBjZXJ0aWZpY2F0ZSBy ZXF1ZXN0ZWQpCi0JYnkgbGVnb2xhcy5vemxhYnMub3JnIChQb3N0Zml4KSB3aXRoIEVTTVRQUyBp ZCA0Z1RWbnk1Y2puejF5Q1YKLQlmb3IgPGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnPjsg TW9uLCAwMSBKdW4gMjAyNiAyMDozOTozNCArMTAwMCAoQUVTVCkKLVJlY2VpdmVkOiBmcm9tIGgy ODUwNjE2LnN0cmF0b3NlcnZlci5uZXQgKGxvY2FsaG9zdCBbSVB2Njo6OjFdKQotCWJ5IHBob2Jv cy5kZW54LmRlIChQb3N0Zml4KSB3aXRoIEVTTVRQIGlkIDI0Q0E0ODQ4ODQ7Ci0JTW9uLCAgMSBK dW4gMjAyNiAxMjozOToyNyArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBo b2Jvcy5kZW54LmRlOwotIGRtYXJjPWZhaWwgKHA9bm9uZSBkaXM9bm9uZSkgaGVhZGVyLmZyb209 bHN0LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBzcGY9cGFz cyBzbXRwLm1haWxmcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLVJlY2VpdmVkOiBi eSBwaG9ib3MuZGVueC5kZSAoUG9zdGZpeCwgZnJvbSB1c2VyaWQgMTA5KQotIGlkIDBERTA5ODQ4 ODE7IE1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6MjUgKzAyMDAgKENFU1QpCi1YLVNwYW0tQ2hlY2tl ci1WZXJzaW9uOiBTcGFtQXNzYXNzaW4gMy40LjIgKDIwMTgtMDktMTMpIG9uIHBob2Jvcy5kZW54 LmRlCi1YLVNwYW0tTGV2ZWw6IAotWC1TcGFtLVN0YXR1czogTm8sIHNjb3JlPS0xLjkgcmVxdWly ZWQ9NS4wIHRlc3RzPUJBWUVTXzAwLAotIFJDVkRfSU5fRE5TV0xfQkxPQ0tFRCxTUEZfSEVMT19O T05FLFNQRl9QQVNTIGF1dG9sZWFybj1oYW0KLSBhdXRvbGVhcm5fZm9yY2U9bm8gdmVyc2lvbj0z LjQuMgotUmVjZWl2ZWQ6IGZyb20gdmVyZWluLmxzdC5kZSAodmVyZWluLmxzdC5kZSBbMjEzLjk1 LjExLjIxMV0pCi0gKHVzaW5nIFRMU3YxLjIgd2l0aCBjaXBoZXIgRUNESEUtUlNBLUFFUzI1Ni1H Q00tU0hBMzg0ICgyNTYvMjU2IGJpdHMpKQotIChObyBjbGllbnQgY2VydGlmaWNhdGUgcmVxdWVz dGVkKQotIGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4KSB3aXRoIEVTTVRQUyBpZCAzNzFDMzg0 ODc4Ci0gZm9yIDx1LWJvb3RAbGlzdHMuZGVueC5kZT47IE1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6 MjIgKzAyMDAgKENFU1QpCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsK LSBkbWFyYz1mYWlsIChwPW5vbmUgZGlzPW5vbmUpIGhlYWRlci5mcm9tPWxzdC5kZQotQXV0aGVu dGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7IHNwZj1wYXNzIHNtdHAubWFpbGZyb209 ZHV3ZUBsc3QuZGUKLVJlY2VpdmVkOiBieSB2ZXJlaW4ubHN0LmRlIChQb3N0Zml4LCBmcm9tIHVz ZXJpZCAyMDA1KQotIGlkIDEzNzE2NjhCRUI7IE1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6MjAgKzAy MDAgKENFU1QpCi1Jbi1SZXBseS1UbzogPDIwMjYwNjAxMTAzNTU3LjAyMkVCNjhCMDVAdmVyZWlu LmxzdC5kZT4KLVJlZmVyZW5jZXM6IDwyMDI2MDYwMTEwMzU1Ny4wMjJFQjY4QjA1QHZlcmVpbi5s c3QuZGU+Ci1TdWJqZWN0OiBbUEFUQ0ggdjUgMS85XSBBUk06IGJjbTI4M3g6IEFkZCBiY20yNzEy IFBDSWUgbWVtb3J5IHdpbmRvdwotVG86IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdtYWls LmNvbT4sCi0gTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+Ci1DYzogPT91bmtu b3duLThiaXQ/cT9Ub21fUmluaV89M0N0cmluaT00MGtvbnN1bGtvPTJFY29tPTNFPTJDPTIySmFu Xz1DND04Q2VyPz0KLQk9P3Vua25vd24tOGJpdD9xP209QzM9QTFrPTIyXz0zQ3NhaXJvbj00MHNh aXJvbj0yRWN6PTNFPTJDQW5kcmVhX2RlbGxhX1BvcnQ/PQotCT0/dW5rbm93bi04Yml0P3E/YV89 M0NhbmRyZWE9MkVwb3J0YT00MHN1c2U9MkVjb209M0U9MkM9MjJJdmFuX1Q9MkVfSXZhbm92Pz0K LQk9P3Vua25vd24tOGJpdD9xPz0yMl89M0NpaXZhbm92PTQwc3VzZT0yRWRlPTNFPTJDX1N0YW5p bWlyX1ZhcmJhbm92Xz0zQ3N0YW4/PQotCT0/dW5rbm93bi04Yml0P3E/aW1pcj0yRXZhcmJhbm92 PTQwc3VzZT0yRWNvbT0zRT0yQ19PbGVrc2lpX01vaXNpZWlldl89M0NPbD89Ci0JPT91bmtub3du LThiaXQ/cT9la3NpaT01Rk1vaXNpZWlldj00MGVwYW09MkVjb209M0U9MkNfVm9sb2R5bXlyX0Jh YmNodWtfPTNDPz0KLQk9P3Vua25vd24tOGJpdD9xP3ZvbG9keW15cj01RmJhYmNodWs9NDBlcGFt PTJFY29tPTNFPTJDX01hcmVrX1Zhc3V0Xz0zQ21hcmU/PQotCT0/dW5rbm93bi04Yml0P3E/az0y RXZhc3V0K3JlbmVzYXM9NDBtYWlsYm94PTJFb3JnPTNFPTJDUGF1bF9CYXJrZXJfPTNDcGF1bD89 Ci0JPT91bmtub3duLThiaXQ/cT89MkViYXJrZXI9MkVjdD00MGJwPTJFcmVuZXNhcz0yRWNvbT0z RT0yQ1BhdHJpY2VfQ2hvdGFyZF8/PQotCT0/dW5rbm93bi04Yml0P3E/PTNDcGF0cmljZT0yRWNo b3RhcmQ9NDBmb3NzPTJFc3Q9MkVjb209M0U9MkNDaHJpc3RpYW5fTWFyYT89Ci0JPT91bmtub3du LThiaXQ/cT9uZ2lfPTNDYW5zdWVsc210aD00MGdtYWlsPTJFY29tPTNFPTJDUGF0cmlja19EZWxh dW5heV89M0NwPz0KLQk9P3Vua25vd24tOGJpdD9xP2F0cmljaz0yRWRlbGF1bmF5PTQwZm9zcz0y RXN0PTJFY29tPTNFPTJDSHVhbl9aaG91Xz0zQ21lPz0KLQk9P3Vua25vd24tOGJpdD9xPz00MHBl cjFjeWNsZT0yRW9yZz0zRT0yQ0dhYnJpZWxfRmVybmFuZGV6Xz0zQ2dhYnJpZWw9MkVmZXI/PQot CT0/dW5rbm93bi04Yml0P3E/bmFuZGV6PTQwZm9zcz0yRXN0PTJFY29tPTNFPTJDS2V2ZXJfWWFu Z189M0NrZXZlcj0yRXlhbmc/PQotCT0/dW5rbm93bi04Yml0P3E/PTQwcm9jay1jaGlwcz0yRWNv bT0zRT0yQ0pvbmFzX0thcmxtYW5fPTNDam9uYXM9NDBrd2lib28/PQotCT0/dW5rbm93bi04Yml0 P3E/PTJFc2U9M0U9MkNKb3NlcGhfQ2hlbl89M0NjaGVuamg9NDByb2NrLWNoaXBzPTJFY29tPTNF PTJDRT89Ci0JPT91bmtub3duLThiaXQ/cT9sYWluZV9aaGFuZ189M0N6aGFuZ3Fpbmc9NDByb2Nr LWNoaXBzPTJFY29tPTNFPTJDX1BlZHJvX0ZhPz0KLQk9P3Vua25vd24tOGJpdD9xP2xjYXRvXz0z Q3BmYWxjYXRvPTQwc3VzZT0yRWRlPTNFPTJDdS1ib290PTQwbGlzdHM9MkVkZW54Pz0KLQk9P3Vu a25vd24tOGJpdD9xPz0yRWRlPz0KLU1lc3NhZ2UtSWQ6IDwyMDI2MDYwMTEwMzkyMC4xMzcxNjY4 QkVCQHZlcmVpbi5sc3QuZGU+Ci1EYXRlOiBNb24sICAxIEp1biAyMDI2IDEyOjM5OjIwICswMjAw IChDRVNUKQotRnJvbTogZHV3ZUBsc3QuZGUgKFRvcnN0ZW4gRHV3ZSkKLVgtQmVlblRoZXJlOiB1 LWJvb3RAbGlzdHMuZGVueC5kZQotWC1NYWlsbWFuLVZlcnNpb246IDIuMS4zOQotUHJlY2VkZW5j ZTogbGlzdAotTGlzdC1JZDogVS1Cb290IGRpc2N1c3Npb24gPHUtYm9vdC5saXN0cy5kZW54LmRl PgotTGlzdC1VbnN1YnNjcmliZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9vcHRpb25zL3UtYm9v dD4sCi0gPG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9dW5zdWJz Y3JpYmU+Ci1MaXN0LUFyY2hpdmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvcGlwZXJtYWlsL3Ut Ym9vdC8+Ci1MaXN0LVBvc3Q6IDxtYWlsdG86dS1ib290QGxpc3RzLmRlbnguZGU+Ci1MaXN0LUhl bHA6IDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PWhlbHA+Ci1M aXN0LVN1YnNjcmliZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9saXN0aW5mby91LWJvb3Q+LAot IDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXN1YnNjcmliZT4K LUVycm9ycy1UbzogdS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZQotU2VuZGVyOiAiVS1Cb290 IiA8dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZT4KLVgtVmlydXMtU2Nhbm5lZDogY2xhbWF2 LW1pbHRlciAwLjEwMy44IGF0IHBob2Jvcy5kZW54LmRlCi1YLVZpcnVzLVN0YXR1czogQ2xlYW4K LQotRnJvbTogVG9yc3RlbiBEdXdlIDxkdXdlQHN1c2UuZGU+Ci0KLUFkZCBhIG1hcHBpbmcgcmVn aW9uIGZvciB0aGUgUENJZSBidXMgYWRkcmVzcyBzcGFjZXMgdG8gdGhlIEJDTTI3MTIKLW1lbW9y eSBjb250cm9sbGVyIHNldHVwLiBHZW5lcm91c2x5IG1lcmdpbmcgdGhlIFBDSWUgYWRkcmVzcyBz cGFjZXMKLXdvcmtzIHN1ZmZpY2llbnRseSB3ZWxsIGZvciBhIGJvb3QgbG9hZGVyLgotCi1TaWdu ZWQtb2ZmLWJ5OiBUb3JzdGVuIER1d2UgPGR1d2VAc3VzZS5kZT4KLUNvLWF1dGhvcmVkLWJ5OiBP bGVrc2lpIE1vaXNpZWlldiA8b2xla3NpaV9tb2lzaWVpZXZAZXBhbS5jb20+Ci1UZXN0ZWQtYnk6 IFBlZHJvIEZhbGNhdG8gPHBmYWxjYXRvQHN1c2UuZGU+Ci1SZXZpZXdlZC1ieTogUGV0ZXIgUm9i aW5zb24gPHBicm9iaW5zb25AZ21haWwuY29tPgotLS0tCi0gYXJjaC9hcm0vbWFjaC1iY20yODN4 L2luaXQuYyB8IDEwICsrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWJjbTI4M3gvaW5p dC5jIGIvYXJjaC9hcm0vbWFjaC1iY20yODN4L2luaXQuYwotaW5kZXggN2ExZGUyMmUwYWUuLjdh MmZhYWE0ZGU2IDEwMDY0NAotLS0tIGEvYXJjaC9hcm0vbWFjaC1iY20yODN4L2luaXQuYwotKysr IGIvYXJjaC9hcm0vbWFjaC1iY20yODN4L2luaXQuYwotQEAgLTE4LDcgKzE4LDcgQEAKLSAjaWZk ZWYgQ09ORklHX0FSTTY0Ci0gI2luY2x1ZGUgPGFzbS9hcm12OC9tbXUuaD4KLSAKLS0jZGVmaW5l IE1FTV9NQVBfTUFYX0VOVFJJRVMgKDQpCi0rI2RlZmluZSBNRU1fTUFQX01BWF9FTlRSSUVTICg1 KQotIAotIHN0YXRpYyBzdHJ1Y3QgbW1fcmVnaW9uIGJjbTI4M3hfbWVtX21hcFtNRU1fTUFQX01B WF9FTlRSSUVTXSA9IHsKLSAJewotQEAgLTgzLDYgKzgzLDE0IEBAIHN0YXRpYyBzdHJ1Y3QgbW1f cmVnaW9uIGJjbTI3MTJfbWVtX21hcFtNRU1fTUFQX01BWF9FTlRSSUVTXSA9IHsKLSAJCS5hdHRy cyA9IFBURV9CTE9DS19NRU1UWVBFKE1UX0RFVklDRV9OR05STkUpIHwKLSAJCQkgUFRFX0JMT0NL X05PTl9TSEFSRSB8Ci0gCQkJIFBURV9CTE9DS19QWE4gfCBQVEVfQkxPQ0tfVVhOCi0rCX0sIHsK LSsJCS8qIFdob2xlIFBDSWUgc2VjdGlvbiAqLwotKwkJLnZpcnQgPSAweDE4MDAwMDAwMDBVTCwK LSsJCS5waHlzID0gMHgxODAwMDAwMDAwVUwsCi0rCQkuc2l6ZSA9IDB4MDgwMDAwMDAwMFVMLAot KwkJLmF0dHJzID0gUFRFX0JMT0NLX01FTVRZUEUoTVRfREVWSUNFX05HTlJORSkgfAotKwkJCSBQ VEVfQkxPQ0tfTk9OX1NIQVJFIHwKLSsJCQkgUFRFX0JMT0NLX1BYTiB8IFBURV9CTE9DS19VWE4K LSAJfSwgewotIAkJLyogU29DIGJ1cyAqLwotIAkJLnZpcnQgPSAweDEwN2MwMDAwMDBVTCwKLQot RnJvbSBwYXRjaHdvcmsgTW9uIEp1biAgMSAxMDozOToyMyAyMDI2Ci1Db250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IDdiaXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjogVG9yc3RlbiBEdXdl IDxkdXdlQGxzdC5kZT4KLVgtUGF0Y2h3b3JrLUlkOiAyMjQ3MzE0Ci1YLVBhdGNod29yay1EZWxl Z2F0ZTogcGJyb2JpbnNvbkBnbWFpbC5jb20KLVJldHVybi1QYXRoOiA8dS1ib290LWJvdW5jZXNA bGlzdHMuZGVueC5kZT4KLVgtT3JpZ2luYWwtVG86IGluY29taW5nQHBhdGNod29yay5vemxhYnMu b3JnCi1EZWxpdmVyZWQtVG86IHBhdGNod29yay1pbmNvbWluZ0BsZWdvbGFzLm96bGFicy5vcmcK LUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAo c2VuZGVyIFNQRiBhdXRob3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xp ZW50LWlwPTg1LjIxNC42Mi42MTsgaGVsbz1waG9ib3MuZGVueC5kZTsKLSBlbnZlbG9wZS1mcm9t PXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU7IHJlY2VpdmVyPXBhdGNod29yay5vemxhYnMu b3JnKQotUmVjZWl2ZWQ6IGZyb20gcGhvYm9zLmRlbnguZGUgKHBob2Jvcy5kZW54LmRlIFs4NS4y MTQuNjIuNjFdKQotCSh1c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRMU19BRVNfMjU2X0dDTV9T SEEzODQgKDI1Ni8yNTYgYml0cykKLQkga2V5LWV4Y2hhbmdlIHgyNTUxOSkKLQkoTm8gY2xpZW50 IGNlcnRpZmljYXRlIHJlcXVlc3RlZCkKLQlieSBsZWdvbGFzLm96bGFicy5vcmcgKFBvc3RmaXgp IHdpdGggRVNNVFBTIGlkIDRnVFZuejZ5TGJ6MXlEbQotCWZvciA8aW5jb21pbmdAcGF0Y2h3b3Jr Lm96bGFicy5vcmc+OyBNb24sIDAxIEp1biAyMDI2IDIwOjM5OjM1ICsxMDAwIChBRVNUKQotUmVj ZWl2ZWQ6IGZyb20gaDI4NTA2MTYuc3RyYXRvc2VydmVyLm5ldCAobG9jYWxob3N0IFtJUHY2Ojo6 MV0pCi0JYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFAgaWQgNUJDNEM4NDg3 QzsKLQlNb24sICAxIEp1biAyMDI2IDEyOjM5OjI4ICswMjAwIChDRVNUKQotQXV0aGVudGljYXRp b24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25l KSBoZWFkZXIuZnJvbT1sc3QuZGUKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54 LmRlOwotIHNwZj1wYXNzIHNtdHAubWFpbGZyb209dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5k ZQotUmVjZWl2ZWQ6IGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4LCBmcm9tIHVzZXJpZCAxMDkp Ci0gaWQgOTEzQjE4NDg5NDsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOToyNyArMDIwMCAoQ0VTVCkK LVgtU3BhbS1DaGVja2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAoMjAxOC0wOS0xMykg b24gcGhvYm9zLmRlbnguZGUKLVgtU3BhbS1MZXZlbDogCi1YLVNwYW0tU3RhdHVzOiBObywgc2Nv cmU9LTEuOSByZXF1aXJlZD01LjAgdGVzdHM9QkFZRVNfMDAsCi0gUkNWRF9JTl9ETlNXTF9CTE9D S0VELFNQRl9IRUxPX05PTkUsU1BGX1BBU1MgYXV0b2xlYXJuPWhhbQotIGF1dG9sZWFybl9mb3Jj ZT1ubyB2ZXJzaW9uPTMuNC4yCi1SZWNlaXZlZDogZnJvbSB2ZXJlaW4ubHN0LmRlICh2ZXJlaW4u bHN0LmRlIFsyMTMuOTUuMTEuMjExXSkKLSAodXNpbmcgVExTdjEuMiB3aXRoIGNpcGhlciBFQ0RI RS1SU0EtQUVTMjU2LUdDTS1TSEEzODQgKDI1Ni8yNTYgYml0cykpCi0gKE5vIGNsaWVudCBjZXJ0 aWZpY2F0ZSByZXF1ZXN0ZWQpCi0gYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNN VFBTIGlkIEJEMEVCODQ4N0MKLSBmb3IgPHUtYm9vdEBsaXN0cy5kZW54LmRlPjsgTW9uLCAgMSBK dW4gMjAyNiAxMjozOToyNSArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBo b2Jvcy5kZW54LmRlOwotIGRtYXJjPWZhaWwgKHA9bm9uZSBkaXM9bm9uZSkgaGVhZGVyLmZyb209 bHN0LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsgc3BmPXBhc3Mg c210cC5tYWlsZnJvbT1kdXdlQGxzdC5kZQotUmVjZWl2ZWQ6IGJ5IHZlcmVpbi5sc3QuZGUgKFBv c3RmaXgsIGZyb20gdXNlcmlkIDIwMDUpCi0gaWQgMzBBMUY2OEM0RTsgTW9uLCAgMSBKdW4gMjAy NiAxMjozOToyMyArMDIwMCAoQ0VTVCkKLUluLVJlcGx5LVRvOiA8MjAyNjA2MDExMDM1NTcuMDIy RUI2OEIwNUB2ZXJlaW4ubHN0LmRlPgotUmVmZXJlbmNlczogPDIwMjYwNjAxMTAzNTU3LjAyMkVC NjhCMDVAdmVyZWluLmxzdC5kZT4KLVN1YmplY3Q6IFtQQVRDSCB2NSAyLzldIHBjaTogYnJjbXN0 YjogRml4IFBDSWUgYnVzIG51bWJlcnMKLVRvOiBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBn bWFpbC5jb20+LAotIE1hdHRoaWFzIEJydWdnZXIgPG1icnVnZ2VyQHN1c2UuY29tPgotQ2M6ID0/ dW5rbm93bi04Yml0P3E/VG9tX1JpbmlfPTNDdHJpbmk9NDBrb25zdWxrbz0yRWNvbT0zRT0yQz0y Mkphbl89QzQ9OENlcj89Ci0JPT91bmtub3duLThiaXQ/cT9tPUMzPUExaz0yMl89M0NzYWlyb249 NDBzYWlyb249MkVjej0zRT0yQ0FuZHJlYV9kZWxsYV9Qb3J0Pz0KLQk9P3Vua25vd24tOGJpdD9x P2FfPTNDYW5kcmVhPTJFcG9ydGE9NDBzdXNlPTJFY29tPTNFPTJDPTIySXZhbl9UPTJFX0l2YW5v dj89Ci0JPT91bmtub3duLThiaXQ/cT89MjJfPTNDaWl2YW5vdj00MHN1c2U9MkVkZT0zRT0yQ19T dGFuaW1pcl9WYXJiYW5vdl89M0NzdGFuPz0KLQk9P3Vua25vd24tOGJpdD9xP2ltaXI9MkV2YXJi YW5vdj00MHN1c2U9MkVjb209M0U9MkNfT2xla3NpaV9Nb2lzaWVpZXZfPTNDT2w/PQotCT0/dW5r bm93bi04Yml0P3E/ZWtzaWk9NUZNb2lzaWVpZXY9NDBlcGFtPTJFY29tPTNFPTJDX1ZvbG9keW15 cl9CYWJjaHVrXz0zQz89Ci0JPT91bmtub3duLThiaXQ/cT92b2xvZHlteXI9NUZiYWJjaHVrPTQw ZXBhbT0yRWNvbT0zRT0yQ19NYXJla19WYXN1dF89M0NtYXJlPz0KLQk9P3Vua25vd24tOGJpdD9x P2s9MkV2YXN1dCtyZW5lc2FzPTQwbWFpbGJveD0yRW9yZz0zRT0yQ1BhdWxfQmFya2VyXz0zQ3Bh dWw/PQotCT0/dW5rbm93bi04Yml0P3E/PTJFYmFya2VyPTJFY3Q9NDBicD0yRXJlbmVzYXM9MkVj b209M0U9MkNQYXRyaWNlX0Nob3RhcmRfPz0KLQk9P3Vua25vd24tOGJpdD9xPz0zQ3BhdHJpY2U9 MkVjaG90YXJkPTQwZm9zcz0yRXN0PTJFY29tPTNFPTJDQ2hyaXN0aWFuX01hcmE/PQotCT0/dW5r bm93bi04Yml0P3E/bmdpXz0zQ2Fuc3VlbHNtdGg9NDBnbWFpbD0yRWNvbT0zRT0yQ1BhdHJpY2tf RGVsYXVuYXlfPTNDcD89Ci0JPT91bmtub3duLThiaXQ/cT9hdHJpY2s9MkVkZWxhdW5heT00MGZv c3M9MkVzdD0yRWNvbT0zRT0yQ0h1YW5fWmhvdV89M0NtZT89Ci0JPT91bmtub3duLThiaXQ/cT89 NDBwZXIxY3ljbGU9MkVvcmc9M0U9MkNHYWJyaWVsX0Zlcm5hbmRlel89M0NnYWJyaWVsPTJFZmVy Pz0KLQk9P3Vua25vd24tOGJpdD9xP25hbmRlej00MGZvc3M9MkVzdD0yRWNvbT0zRT0yQ0tldmVy X1lhbmdfPTNDa2V2ZXI9MkV5YW5nPz0KLQk9P3Vua25vd24tOGJpdD9xPz00MHJvY2stY2hpcHM9 MkVjb209M0U9MkNKb25hc19LYXJsbWFuXz0zQ2pvbmFzPTQwa3dpYm9vPz0KLQk9P3Vua25vd24t OGJpdD9xPz0yRXNlPTNFPTJDSm9zZXBoX0NoZW5fPTNDY2hlbmpoPTQwcm9jay1jaGlwcz0yRWNv bT0zRT0yQ0U/PQotCT0/dW5rbm93bi04Yml0P3E/bGFpbmVfWmhhbmdfPTNDemhhbmdxaW5nPTQw cm9jay1jaGlwcz0yRWNvbT0zRT0yQ19QZWRyb19GYT89Ci0JPT91bmtub3duLThiaXQ/cT9sY2F0 b189M0NwZmFsY2F0bz00MHN1c2U9MkVkZT0zRT0yQ3UtYm9vdD00MGxpc3RzPTJFZGVueD89Ci0J PT91bmtub3duLThiaXQ/cT89MkVkZT89Ci1NZXNzYWdlLUlkOiA8MjAyNjA2MDExMDM5MjMuMzBB MUY2OEM0RUB2ZXJlaW4ubHN0LmRlPgotRGF0ZTogTW9uLCAgMSBKdW4gMjAyNiAxMjozOToyMyAr MDIwMCAoQ0VTVCkKLUZyb206IGR1d2VAbHN0LmRlIChUb3JzdGVuIER1d2UpCi1YLUJlZW5UaGVy ZTogdS1ib290QGxpc3RzLmRlbnguZGUKLVgtTWFpbG1hbi1WZXJzaW9uOiAyLjEuMzkKLVByZWNl ZGVuY2U6IGxpc3QKLUxpc3QtSWQ6IFUtQm9vdCBkaXNjdXNzaW9uIDx1LWJvb3QubGlzdHMuZGVu eC5kZT4KLUxpc3QtVW5zdWJzY3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvb3B0aW9ucy91 LWJvb3Q+LAotIDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXVu c3Vic2NyaWJlPgotTGlzdC1BcmNoaXZlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL3BpcGVybWFp bC91LWJvb3QvPgotTGlzdC1Qb3N0OiA8bWFpbHRvOnUtYm9vdEBsaXN0cy5kZW54LmRlPgotTGlz dC1IZWxwOiA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1oZWxw PgotTGlzdC1TdWJzY3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvbGlzdGluZm8vdS1ib290 PiwKLSA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1zdWJzY3Jp YmU+Ci1FcnJvcnMtVG86IHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLVNlbmRlcjogIlUt Qm9vdCIgPHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU+Ci1YLVZpcnVzLVNjYW5uZWQ6IGNs YW1hdi1taWx0ZXIgMC4xMDMuOCBhdCBwaG9ib3MuZGVueC5kZQotWC1WaXJ1cy1TdGF0dXM6IENs ZWFuCi0KLUZyb206IEFuZHJlYSBkZWxsYSBQb3J0YSA8YW5kcmVhLnBvcnRhQHN1c2UuY29tPgot Ci1UaGUgbGludXgga2VybmVsIGFzc2lnbnMgYSBuZXcgZG9tYWluIGZvciBldmVyeSBSb290IENv bXBsZXggd2hlcmUgYnVzCi1udW1iZXJpbmcgc3RhcnRzIGZyb20gMCBmb3IgZWFjaCBkb21haW4u IFUtQm9vdCBkb2VzIG5vdCBoYXZlIGRvbWFpbnMKLWFuZCB1c2VzIGEgZmxhdHRlbmVkIGJ1cyBu dW1iZXJpbmcgc2NoZW1lIGluc3RlYWQuIFRoaXMgbWVhbnMgdGhhdCBhbnkKLWRldmljZSBvciBi cmlkZ2Ugb24gdGhlIHNlY29uZCBlbnVtZXJhdGVkIFJDIHdpbGwgcmVjZWl2ZSBhIGJ1cyBudW1i ZXIKLWVxdWFsIHRvIHRoZSBsYXN0IGFzc2lnbmVkIG9uZSArMS4gVGhpcyBidXMgbnVtYmVyIGNv bnRyaWJ1dGVzIHRvIHRoZQotYWRkcmVzcyB3cml0dGVuIGludG8gdGhlIGluZGV4IHJlZ2lzdGVy LCB3aGljaCB3aWxsIHNlbGVjdCB0aGUKLWNvbmZpZ3VyYXRpb24gc3BhY2UgdG8gYmUgcmVhZC4g Q29tcGVuc2F0ZSBmb3IgdGhpcyBjb250cmlidXRpb24gYnkKLXN1YnRyYWN0aW5nIHRoZSBiYXNl IGJ1cyBudW1iZXIuCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBkZWxsYSBQb3J0YSA8YW5kcmVh LnBvcnRhQHN1c2UuY29tPgotU2lnbmVkLW9mZi1ieTogVG9yc3RlbiBEdXdlIDxkdXdlQHN1c2Uu ZGU+Ci1UZXN0ZWQtYnk6IFBlZHJvIEZhbGNhdG8gPHBmYWxjYXRvQHN1c2UuZGU+Ci1SZXZpZXdl ZC1ieTogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZ21haWwuY29tPgotLS0tCi0gZHJpdmVy cy9wY2kvcGNpZV9icmNtc3RiLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llX2JyY21z dGIuYyBiL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jCi1pbmRleCBmMDg5YzQ4ZjAyOC4uNDdj MDgwMmRmMjMgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL3BjaS9wY2llX2JyY21zdGIuYwotKysrIGIv ZHJpdmVycy9wY2kvcGNpZV9icmNtc3RiLmMKLUBAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIGlu dCBicmNtX3BjaWVfY29uZmlnX2FkZHJlc3MoY29uc3Qgc3RydWN0IHVkZXZpY2UgKmRldiwgcGNp X2Rldl90IGJkZiwKLSAJCQkJICAgIHVpbnQgb2Zmc2V0LCB2b2lkICoqcGFkZHJlc3MpCi0gewot IAlzdHJ1Y3QgYnJjbV9wY2llICpwY2llID0gZGV2X2dldF9wcml2KGRldik7Ci0tCXVuc2lnbmVk IGludCBwY2lfYnVzID0gUENJX0JVUyhiZGYpOwotKwl1bnNpZ25lZCBpbnQgcGNpX2J1cyA9IFBD SV9CVVMoYmRmKSAtIGRldl9zZXEoZGV2KTsKLSAJdW5zaWduZWQgaW50IHBjaV9kZXYgPSBQQ0lf REVWKGJkZik7Ci0gCXVuc2lnbmVkIGludCBwY2lfZnVuYyA9IFBDSV9GVU5DKGJkZik7Ci0gCWlu dCBpZHg7Ci0KLUZyb20gcGF0Y2h3b3JrIE1vbiBKdW4gIDEgMTA6Mzk6MjUgMjAyNgotQ29udGVu dC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJ1dGYtOCIKLU1JTUUtVmVyc2lvbjogMS4wCi1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0Ci1YLVBhdGNod29yay1TdWJtaXR0ZXI6IFRv cnN0ZW4gRHV3ZSA8ZHV3ZUBsc3QuZGU+Ci1YLVBhdGNod29yay1JZDogMjI0NzMxNQotWC1QYXRj aHdvcmstRGVsZWdhdGU6IHBicm9iaW5zb25AZ21haWwuY29tCi1SZXR1cm4tUGF0aDogPHUtYm9v dC1ib3VuY2VzQGxpc3RzLmRlbnguZGU+Ci1YLU9yaWdpbmFsLVRvOiBpbmNvbWluZ0BwYXRjaHdv cmsub3psYWJzLm9yZwotRGVsaXZlcmVkLVRvOiBwYXRjaHdvcmstaW5jb21pbmdAbGVnb2xhcy5v emxhYnMub3JnCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBsZWdvbGFzLm96bGFicy5vcmc7Ci0g c3BmPXBhc3MgKHNlbmRlciBTUEYgYXV0aG9yaXplZCkgc210cC5tYWlsZnJvbT1saXN0cy5kZW54 LmRlCi0gKGNsaWVudC1pcD0yYTAxOjIzODo0MzhiOmM1MDA6MTczZDo5ZjUyOmRkYWI6ZWUwMTsg aGVsbz1waG9ib3MuZGVueC5kZTsKLSBlbnZlbG9wZS1mcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3Rz LmRlbnguZGU7IHJlY2VpdmVyPXBhdGNod29yay5vemxhYnMub3JnKQotUmVjZWl2ZWQ6IGZyb20g cGhvYm9zLmRlbnguZGUgKHBob2Jvcy5kZW54LmRlCi0gW0lQdjY6MmEwMToyMzg6NDM4YjpjNTAw OjE3M2Q6OWY1MjpkZGFiOmVlMDFdKQotCSh1c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRMU19B RVNfMjU2X0dDTV9TSEEzODQgKDI1Ni8yNTYgYml0cykKLQkga2V5LWV4Y2hhbmdlIHgyNTUxOSkK LQkoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJlcXVlc3RlZCkKLQlieSBsZWdvbGFzLm96bGFicy5v cmcgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIDRnVFZwNzVXSlh6MXlDVgotCWZvciA8aW5jb21p bmdAcGF0Y2h3b3JrLm96bGFicy5vcmc+OyBNb24sIDAxIEp1biAyMDI2IDIwOjM5OjQzICsxMDAw IChBRVNUKQotUmVjZWl2ZWQ6IGZyb20gaDI4NTA2MTYuc3RyYXRvc2VydmVyLm5ldCAobG9jYWxo b3N0IFtJUHY2Ojo6MV0pCi0JYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFAg aWQgOEQ3RjQ4NDg4MTsKLQlNb24sICAxIEp1biAyMDI2IDEyOjM5OjMwICswMjAwIChDRVNUKQot QXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gZG1hcmM9ZmFpbCAocD1u b25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1sc3QuZGUKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6 IHBob2Jvcy5kZW54LmRlOwotIHNwZj1wYXNzIHNtdHAubWFpbGZyb209dS1ib290LWJvdW5jZXNA bGlzdHMuZGVueC5kZQotUmVjZWl2ZWQ6IGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4LCBmcm9t IHVzZXJpZCAxMDkpCi0gaWQgMzRCMjk4NDg5RTsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOToyOSAr MDIwMCAoQ0VTVCkKLVgtU3BhbS1DaGVja2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAo MjAxOC0wOS0xMykgb24gcGhvYm9zLmRlbnguZGUKLVgtU3BhbS1MZXZlbDogCi1YLVNwYW0tU3Rh dHVzOiBObywgc2NvcmU9LTEuOSByZXF1aXJlZD01LjAgdGVzdHM9QkFZRVNfMDAsCi0gUkNWRF9J Tl9ETlNXTF9CTE9DS0VELFNQRl9IRUxPX05PTkUsU1BGX1BBU1MgYXV0b2xlYXJuPWhhbQotIGF1 dG9sZWFybl9mb3JjZT1ubyB2ZXJzaW9uPTMuNC4yCi1SZWNlaXZlZDogZnJvbSB2ZXJlaW4ubHN0 LmRlICh2ZXJlaW4ubHN0LmRlIFsyMTMuOTUuMTEuMjExXSkKLSAodXNpbmcgVExTdjEuMiB3aXRo IGNpcGhlciBFQ0RIRS1SU0EtQUVTMjU2LUdDTS1TSEEzODQgKDI1Ni8yNTYgYml0cykpCi0gKE5v IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1ZXN0ZWQpCi0gYnkgcGhvYm9zLmRlbnguZGUgKFBvc3Rm aXgpIHdpdGggRVNNVFBTIGlkIDJCODA4ODQ4OEEKLSBmb3IgPHUtYm9vdEBsaXN0cy5kZW54LmRl PjsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOToyNyArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9u LVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwotIGRtYXJjPWZhaWwgKHA9bm9uZSBkaXM9bm9uZSkg aGVhZGVyLmZyb209bHN0LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5k ZTsgc3BmPXBhc3Mgc210cC5tYWlsZnJvbT1kdXdlQGxzdC5kZQotUmVjZWl2ZWQ6IGJ5IHZlcmVp bi5sc3QuZGUgKFBvc3RmaXgsIGZyb20gdXNlcmlkIDIwMDUpCi0gaWQgNkIyRkU2OEM3QjsgTW9u LCAgMSBKdW4gMjAyNiAxMjozOToyNSArMDIwMCAoQ0VTVCkKLUluLVJlcGx5LVRvOiA8MjAyNjA2 MDExMDM1NTcuMDIyRUI2OEIwNUB2ZXJlaW4ubHN0LmRlPgotUmVmZXJlbmNlczogPDIwMjYwNjAx MTAzNTU3LjAyMkVCNjhCMDVAdmVyZWluLmxzdC5kZT4KLVN1YmplY3Q6IFtQQVRDSCB2NSAzLzld IHBjaTogYnJjbXN0YjogU3VwcG9ydCBkaWZmZXJlbnQgdmFyaWFudHMgdXNpbmcgYSBjZmcKLSBz dHJ1Y3QKLVRvOiBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBnbWFpbC5jb20+LAotIE1hdHRo aWFzIEJydWdnZXIgPG1icnVnZ2VyQHN1c2UuY29tPgotQ2M6ID0/dW5rbm93bi04Yml0P3E/VG9t X1JpbmlfPTNDdHJpbmk9NDBrb25zdWxrbz0yRWNvbT0zRT0yQz0yMkphbl89QzQ9OENlcj89Ci0J PT91bmtub3duLThiaXQ/cT9tPUMzPUExaz0yMl89M0NzYWlyb249NDBzYWlyb249MkVjej0zRT0y Q0FuZHJlYV9kZWxsYV9Qb3J0Pz0KLQk9P3Vua25vd24tOGJpdD9xP2FfPTNDYW5kcmVhPTJFcG9y dGE9NDBzdXNlPTJFY29tPTNFPTJDPTIySXZhbl9UPTJFX0l2YW5vdj89Ci0JPT91bmtub3duLThi aXQ/cT89MjJfPTNDaWl2YW5vdj00MHN1c2U9MkVkZT0zRT0yQ19TdGFuaW1pcl9WYXJiYW5vdl89 M0NzdGFuPz0KLQk9P3Vua25vd24tOGJpdD9xP2ltaXI9MkV2YXJiYW5vdj00MHN1c2U9MkVjb209 M0U9MkNfT2xla3NpaV9Nb2lzaWVpZXZfPTNDT2w/PQotCT0/dW5rbm93bi04Yml0P3E/ZWtzaWk9 NUZNb2lzaWVpZXY9NDBlcGFtPTJFY29tPTNFPTJDX1ZvbG9keW15cl9CYWJjaHVrXz0zQz89Ci0J PT91bmtub3duLThiaXQ/cT92b2xvZHlteXI9NUZiYWJjaHVrPTQwZXBhbT0yRWNvbT0zRT0yQ19N YXJla19WYXN1dF89M0NtYXJlPz0KLQk9P3Vua25vd24tOGJpdD9xP2s9MkV2YXN1dCtyZW5lc2Fz PTQwbWFpbGJveD0yRW9yZz0zRT0yQ1BhdWxfQmFya2VyXz0zQ3BhdWw/PQotCT0/dW5rbm93bi04 Yml0P3E/PTJFYmFya2VyPTJFY3Q9NDBicD0yRXJlbmVzYXM9MkVjb209M0U9MkNQYXRyaWNlX0No b3RhcmRfPz0KLQk9P3Vua25vd24tOGJpdD9xPz0zQ3BhdHJpY2U9MkVjaG90YXJkPTQwZm9zcz0y RXN0PTJFY29tPTNFPTJDQ2hyaXN0aWFuX01hcmE/PQotCT0/dW5rbm93bi04Yml0P3E/bmdpXz0z Q2Fuc3VlbHNtdGg9NDBnbWFpbD0yRWNvbT0zRT0yQ1BhdHJpY2tfRGVsYXVuYXlfPTNDcD89Ci0J PT91bmtub3duLThiaXQ/cT9hdHJpY2s9MkVkZWxhdW5heT00MGZvc3M9MkVzdD0yRWNvbT0zRT0y Q0h1YW5fWmhvdV89M0NtZT89Ci0JPT91bmtub3duLThiaXQ/cT89NDBwZXIxY3ljbGU9MkVvcmc9 M0U9MkNHYWJyaWVsX0Zlcm5hbmRlel89M0NnYWJyaWVsPTJFZmVyPz0KLQk9P3Vua25vd24tOGJp dD9xP25hbmRlej00MGZvc3M9MkVzdD0yRWNvbT0zRT0yQ0tldmVyX1lhbmdfPTNDa2V2ZXI9MkV5 YW5nPz0KLQk9P3Vua25vd24tOGJpdD9xPz00MHJvY2stY2hpcHM9MkVjb209M0U9MkNKb25hc19L YXJsbWFuXz0zQ2pvbmFzPTQwa3dpYm9vPz0KLQk9P3Vua25vd24tOGJpdD9xPz0yRXNlPTNFPTJD Sm9zZXBoX0NoZW5fPTNDY2hlbmpoPTQwcm9jay1jaGlwcz0yRWNvbT0zRT0yQ0U/PQotCT0/dW5r bm93bi04Yml0P3E/bGFpbmVfWmhhbmdfPTNDemhhbmdxaW5nPTQwcm9jay1jaGlwcz0yRWNvbT0z RT0yQ19QZWRyb19GYT89Ci0JPT91bmtub3duLThiaXQ/cT9sY2F0b189M0NwZmFsY2F0bz00MHN1 c2U9MkVkZT0zRT0yQ3UtYm9vdD00MGxpc3RzPTJFZGVueD89Ci0JPT91bmtub3duLThiaXQ/cT89 MkVkZT89Ci1NZXNzYWdlLUlkOiA8MjAyNjA2MDExMDM5MjUuNkIyRkU2OEM3QkB2ZXJlaW4ubHN0 LmRlPgotRGF0ZTogTW9uLCAgMSBKdW4gMjAyNiAxMjozOToyNSArMDIwMCAoQ0VTVCkKLUZyb206 IGR1d2VAbHN0LmRlIChUb3JzdGVuIER1d2UpCi1YLUJlZW5UaGVyZTogdS1ib290QGxpc3RzLmRl bnguZGUKLVgtTWFpbG1hbi1WZXJzaW9uOiAyLjEuMzkKLVByZWNlZGVuY2U6IGxpc3QKLUxpc3Qt SWQ6IFUtQm9vdCBkaXNjdXNzaW9uIDx1LWJvb3QubGlzdHMuZGVueC5kZT4KLUxpc3QtVW5zdWJz Y3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvb3B0aW9ucy91LWJvb3Q+LAotIDxtYWlsdG86 dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXVuc3Vic2NyaWJlPgotTGlzdC1B cmNoaXZlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL3BpcGVybWFpbC91LWJvb3QvPgotTGlzdC1Q b3N0OiA8bWFpbHRvOnUtYm9vdEBsaXN0cy5kZW54LmRlPgotTGlzdC1IZWxwOiA8bWFpbHRvOnUt Ym9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1oZWxwPgotTGlzdC1TdWJzY3JpYmU6 IDxodHRwczovL2xpc3RzLmRlbnguZGUvbGlzdGluZm8vdS1ib290PiwKLSA8bWFpbHRvOnUtYm9v dC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1zdWJzY3JpYmU+Ci1FcnJvcnMtVG86IHUt Ym9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLVNlbmRlcjogIlUtQm9vdCIgPHUtYm9vdC1ib3Vu Y2VzQGxpc3RzLmRlbnguZGU+Ci1YLVZpcnVzLVNjYW5uZWQ6IGNsYW1hdi1taWx0ZXIgMC4xMDMu OCBhdCBwaG9ib3MuZGVueC5kZQotWC1WaXJ1cy1TdGF0dXM6IENsZWFuCi0KLUZyb206IFRvcnN0 ZW4gRHV3ZSA8ZHV3ZUBzdXNlLmRlPgotCi1UaGUgTGludXgga2VybmVsIGRyaXZlciBhbHJlYWR5 IGhhZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBoYXJkd2FyZQotdmFyaWFudHMgd2hlbiB0aGUgYmNt MjcxMiB3YXMgYWRkZWQgKHNlZSBlLmcuIGxpbnV4IGNvbW1pdAotMTBkYmVkYWQzYzgxOCB3aGlj aCBpcyB0aGUgbGFzdCBpbiBhIGxvbmdlciBzZXQgb2YgY2hhbmdlcykuIFRoaXMKLXBhdGNoIGJy aW5ncyBpbiB0aGlzIHJlcXVpcmVkIGluZnJhc3RydWN0dXJlIGFuZCBhZGRzIGEKLWRpZmZlcmVu dGlhdGlvbiBiZXR3ZWVuIDI3MTEgYW5kIDI3MTIgcmVnaXN0ZXIgbGF5b3V0cyBvbiB0b3AuCi0K LVNpZ25lZC1vZmYtYnk6IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBzdXNlLmRlPgotQ28tYXV0aG9yZWQt Ynk6IE9sZWtzaWkgTW9pc2llaWV2IDxvbGVrc2lpX21vaXNpZWlldkBlcGFtLmNvbT4KLVRlc3Rl ZC1ieTogUGVkcm8gRmFsY2F0byA8cGZhbGNhdG9Ac3VzZS5kZT4KLVJldmlld2VkLWJ5OiBOZWls IEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4KLS0tLQotIC4uLi9tYWNoLWJj bTI4M3gvaW5jbHVkZS9tYWNoL2FjcGkvYmNtMjcxMS5oICB8ICAgNSArCi0gZHJpdmVycy9wY2kv cGNpZV9icmNtc3RiLmMgICAgICAgICAgICAgICAgICAgIHwgMTA0ICsrKysrKysrKysrKysrKyst LQotIDIgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWJjbTI4M3gvaW5jbHVkZS9tYWNoL2FjcGkvYmNt MjcxMS5oIGIvYXJjaC9hcm0vbWFjaC1iY20yODN4L2luY2x1ZGUvbWFjaC9hY3BpL2JjbTI3MTEu aAotaW5kZXggYTg2ODc1YjE4MzMuLjUxNzFjNTkzYzcyIDEwMDY0NAotLS0tIGEvYXJjaC9hcm0v bWFjaC1iY20yODN4L2luY2x1ZGUvbWFjaC9hY3BpL2JjbTI3MTEuaAotKysrIGIvYXJjaC9hcm0v bWFjaC1iY20yODN4L2luY2x1ZGUvbWFjaC9hY3BpL2JjbTI3MTEuaAotQEAgLTcwLDYgKzcwLDcg QEAKLSAjZGVmaW5lIFBDSUVfTUlTQ19SQ19CQVIyX0NPTkZJR19ISSAgICAgICAgICAgICAgIDB4 NDAzOAotICNkZWZpbmUgUENJRV9NSVNDX1JDX0JBUjNfQ09ORklHX0xPICAgICAgICAgICAgICAg MHg0MDNjCi0gI2RlZmluZSAgUkNfQkFSM19DT05GSUdfTE9fU0laRV9NQVNLICAgICAgICAgICAg ICAgIDB4MWYKLSsjZGVmaW5lIFBDSUVfTUlTQ19QQ0lFX0NUUkwJCQkgIDB4NDA2NAotICNkZWZp bmUgUENJRV9NSVNDX1BDSUVfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHg0MDY4Ci0gI2Rl ZmluZSAgU1RBVFVTX1BDSUVfUE9SVF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4ODAKLSAj ZGVmaW5lICBTVEFUVVNfUENJRV9QT1JUX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgNwot QEAgLTEwOCw2ICsxMDksMTAgQEAKLSAKLSAjZGVmaW5lIFBDSUVfUkdSMV9TV19JTklUXzEgICAg ICAgICAgICAgICAgICAgMHg5MjEwCi0gI2RlZmluZSBQQ0lFX0VYVF9DRkdfSU5ERVggICAgICAg ICAgICAgICAgICAgIDB4OTAwMAotKyNkZWZpbmUgIFJHUjFfU1dfSU5JVF8xX1BFUlNUX01BU0sJ CQkweDEKLSsjZGVmaW5lICBSR1IxX1NXX0lOSVRfMV9QRVJTVEJfTUFTSwkJCTB4NAotKyNkZWZp bmUgIFJHUjFfU1dfSU5JVF8xX0lOSVRfTUFTSwkJCTB4MgotKwotIC8qIEEgc21hbGwgd2luZG93 IHBvaW50aW5nIGF0IHRoZSBFQ0FNIG9mIHRoZSBkZXZpY2Ugc2VsZWN0ZWQgYnkgQ0ZHX0lOREVY ICovCi0gI2RlZmluZSBQQ0lFX0VYVF9DRkdfREFUQSAgICAgICAgICAgICAgICAgICAgIDB4ODAw MAotIAotZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jIGIvZHJpdmVycy9w Y2kvcGNpZV9icmNtc3RiLmMKLWluZGV4IDQ3YzA4MDJkZjIzLi41Y2IzOWRmZDEzNiAxMDA2NDQK LS0tLSBhL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jCi0rKysgYi9kcml2ZXJzL3BjaS9wY2ll X2JyY21zdGIuYwotQEAgLTQ5LDYgKzQ5LDI0IEBACi0gI2RlZmluZSBTU0NfU1RBVFVTX1BMTF9M T0NLX01BU0sJCQkweDgwMAotICNkZWZpbmUgU1NDX1NUQVRVU19QTExfTE9DS19TSElGVAkJCTEx Ci0gCi0rZW51bSB7Ci0rCVJHUjFfU1dfSU5JVF8xLAotKwlQQ0lFX0hBUkRfREVCVUcsCi0rfTsK LSsKLStlbnVtIGJyY21fcGNpZV90eXBlIHsKLSsJQkNNMjcxMSwKLSsJQkNNMjcxMgotK307Ci0r Ci0rc3RydWN0IGJyY21fcGNpZTsKLSsKLStzdHJ1Y3QgYnJjbV9wY2llX2NmZ19kYXRhIHsKLSsJ Y29uc3QgaW50ICpvZmZzZXRzOwotKwljb25zdCBlbnVtIGJyY21fcGNpZV90eXBlIHR5cGU7Ci0r CXZvaWQgKCpwZXJzdF9zZXQpKHN0cnVjdCBicmNtX3BjaWUgKnBjaWUsIHUzMiB2YWwpOwotK307 Ci0rCi0gLyoqCi0gICogc3RydWN0IGJyY21fcGNpZSAtIHRoZSBQQ0llIGNvbnRyb2xsZXIgc3Rh dGUKLSAgKiBAYmFzZTogQmFzZSBhZGRyZXNzIG9mIG1lbW9yeSBtYXBwZWQgSU8gcmVnaXN0ZXJz IG9mIHRoZSBjb250cm9sbGVyCi1AQCAtNjEsNiArNzksNyBAQCBzdHJ1Y3QgYnJjbV9wY2llIHsK LSAKLSAJaW50CQkJZ2VuOwotIAlib29sCQkJc3NjOwotKwljb25zdCBzdHJ1Y3QgYnJjbV9wY2ll X2NmZ19kYXRhICpwY2llX2NmZzsKLSB9OwotIAotIC8qKgotQEAgLTEwNCw2ICsxMjMsMzYgQEAg c3RhdGljIGJvb2wgYnJjbV9wY2llX3JjX21vZGUoc3RydWN0IGJyY21fcGNpZSAqcGNpZSkKLSAJ cmV0dXJuICh2YWwgJiBTVEFUVVNfUENJRV9QT1JUX01BU0spID4+IFNUQVRVU19QQ0lFX1BPUlRf U0hJRlQ7Ci0gfQotIAotK3N0YXRpYyB2b2lkIGJyY21fcGNpZV9wZXJzdF9zZXRfZ2VuZXJpYyhz dHJ1Y3QgYnJjbV9wY2llICpwY2llLCB1MzIgdmFsKQotK3sKLSsJaWYgKHZhbCkKLSsJCXNldGJp dHNfbGUzMihwY2llLT5iYXNlICsgcGNpZS0+cGNpZV9jZmctPm9mZnNldHNbUkdSMV9TV19JTklU XzFdLAotKwkJCSAgICAgUkdSMV9TV19JTklUXzFfUEVSU1RfTUFTSyk7Ci0rCWVsc2UKLSsJCWNs cmJpdHNfbGUzMihwY2llLT5iYXNlICsgcGNpZS0+cGNpZV9jZmctPm9mZnNldHNbUkdSMV9TV19J TklUXzFdLAotKwkJCSAgICAgUkdSMV9TV19JTklUXzFfUEVSU1RfTUFTSyk7Ci0rfQotKwotK3N0 YXRpYyB2b2lkIGJyY21fcGNpZV9wZXJzdF9zZXRfMjcxMihzdHJ1Y3QgYnJjbV9wY2llICpwY2ll LCB1MzIgdmFsKQotK3sKLSsJdTMyIHRtcDsKLSsKLSsJLyogUGVyc3QgYml0IGhhcyBtb3ZlZCBh bmQgYXNzZXJ0IHZhbHVlIGlzIDAgKi8KLSsJdG1wID0gcmVhZGwocGNpZS0+YmFzZSArIFBDSUVf TUlTQ19QQ0lFX0NUUkwpOwotKwl1MzJwX3JlcGxhY2VfYml0cygmdG1wLCAhdmFsLCBSR1IxX1NX X0lOSVRfMV9QRVJTVEJfTUFTSyk7Ci0rCXdyaXRlbCh0bXAsIHBjaWUtPmJhc2UgKyBQQ0lFX01J U0NfUENJRV9DVFJMKTsKLSt9Ci0rCi0rc3RhdGljIHZvaWQgYnJjbV9wY2llX2JyaWRnZV9zd19p bml0X3NldChzdHJ1Y3QgYnJjbV9wY2llICpwY2llLCB1MzIgdmFsKQotK3sKLSsJaWYgKHZhbCkK LSsJCXNldGJpdHNfbGUzMihwY2llLT5iYXNlICsgcGNpZS0+cGNpZV9jZmctPm9mZnNldHNbUkdS MV9TV19JTklUXzFdLAotKwkJCSAgICAgUkdSMV9TV19JTklUXzFfSU5JVF9NQVNLKTsKLSsJZWxz ZQotKwkJY2xyYml0c19sZTMyKHBjaWUtPmJhc2UgKyBwY2llLT5wY2llX2NmZy0+b2Zmc2V0c1tS R1IxX1NXX0lOSVRfMV0sCi0rCQkJICAgICBSR1IxX1NXX0lOSVRfMV9JTklUX01BU0spOwotK30K LSsKLSAvKioKLSAgKiBicmNtX3BjaWVfbGlua191cCgpIC0gQ2hlY2sgd2hldGhlciB0aGUgUENJ ZSBsaW5rIGlzIHVwCi0gICogQHBjaWU6IFBvaW50ZXIgdG8gdGhlIFBDSWUgY29udHJvbGxlciBz dGF0ZQotQEAgLTM2NSw4ICs0MTQsOSBAQCBzdGF0aWMgaW50IGJyY21fcGNpZV9wcm9iZShzdHJ1 Y3QgdWRldmljZSAqZGV2KQotIAkgKiBlLmcuIEJDTTcyNzgsIHRoZSBmdW5kYW1lbnRhbCByZXNl dCBzaG91bGQgbm90IGJlIGFzc2VydGVkIGhlcmUuCi0gCSAqIFRoaXMgd2lsbCBuZWVkIHRvIGJl IGNoYW5nZWQgd2hlbiBzdXBwb3J0IGZvciBvdGhlciBTb0NzIGlzIGFkZGVkLgotIAkgKi8KLS0J c2V0Yml0c19sZTMyKGJhc2UgKyBQQ0lFX1JHUjFfU1dfSU5JVF8xLAotLQkJICAgICBQQ0lFX1JH UjFfU1dfSU5JVF8xX0lOSVRfTUFTSyB8IFBDSUVfUkdSMV9TV19JTklUXzFfUEVSU1RfTUFTSyk7 Ci0rCWJyY21fcGNpZV9icmlkZ2Vfc3dfaW5pdF9zZXQocGNpZSwgMSk7Ci0rCWlmIChwY2llLT5w Y2llX2NmZy0+dHlwZSAhPSBCQ00yNzEyKQotKwkJcGNpZS0+cGNpZV9jZmctPnBlcnN0X3NldChw Y2llLCAxKTsKLSAJLyoKLSAJICogVGhlIGRlbGF5IGlzIGEgc2FmZXR5IHByZWNhdXRpb24gdG8g cHJlY2x1ZGUgdGhlIHJlc2V0IHNpZ25hbAotIAkgKiBmcm9tIGxvb2tpbmcgbGlrZSBhIGdsaXRj aC4KLUBAIC0zNzQsOSArNDI0LDkgQEAgc3RhdGljIGludCBicmNtX3BjaWVfcHJvYmUoc3RydWN0 IHVkZXZpY2UgKmRldikKLSAJdWRlbGF5KDEwMCk7Ci0gCi0gCS8qIFRha2UgdGhlIGJyaWRnZSBv dXQgb2YgcmVzZXQgKi8KLS0JY2xyYml0c19sZTMyKGJhc2UgKyBQQ0lFX1JHUjFfU1dfSU5JVF8x LCBQQ0lFX1JHUjFfU1dfSU5JVF8xX0lOSVRfTUFTSyk7Ci0rCWJyY21fcGNpZV9icmlkZ2Vfc3df aW5pdF9zZXQocGNpZSwgMCk7Ci0gCi0tCWNscmJpdHNfbGUzMihiYXNlICsgUENJRV9NSVNDX0hB UkRfUENJRV9IQVJEX0RFQlVHLAotKwljbHJiaXRzX2xlMzIoYmFzZSArIHBjaWUtPnBjaWVfY2Zn LT5vZmZzZXRzW1BDSUVfSEFSRF9ERUJVR10sCi0gCQkgICAgIFBDSUVfSEFSRF9ERUJVR19TRVJE RVNfSUREUV9NQVNLKTsKLSAKLSAJLyogV2FpdCBmb3IgU2VyRGVzIHRvIGJlIHN0YWJsZSAqLwot QEAgLTQyNiw4ICs0NzYsNyBAQCBzdGF0aWMgaW50IGJyY21fcGNpZV9wcm9iZShzdHJ1Y3QgdWRl dmljZSAqZGV2KQotIAkJYnJjbV9wY2llX3NldF9nZW4ocGNpZSwgcGNpZS0+Z2VuKTsKLSAKLSAJ LyogVW5hc3NlcnQgdGhlIGZ1bmRhbWVudGFsIHJlc2V0ICovCi0tCWNscmJpdHNfbGUzMihwY2ll LT5iYXNlICsgUENJRV9SR1IxX1NXX0lOSVRfMSwKLS0JCSAgICAgUENJRV9SR1IxX1NXX0lOSVRf MV9QRVJTVF9NQVNLKTsKLSsJcGNpZS0+cGNpZV9jZmctPnBlcnN0X3NldChwY2llLCAwKTsKLSAK LSAJLyoKLSAJICogV2FpdCBmb3IgMTAwbXMgYWZ0ZXIgUEVSU1QjIGRlYXNzZXJ0aW9uOyBzZWUg UENJZSBDRU0gc3BlY2lmaWNhdGlvbgotQEAgLTUxNCwxNCArNTYzLDI1IEBAIHN0YXRpYyBpbnQg YnJjbV9wY2llX3JlbW92ZShzdHJ1Y3QgdWRldmljZSAqZGV2KQotIAl2b2lkIF9faW9tZW0gKmJh c2UgPSBwY2llLT5iYXNlOwotIAotIAkvKiBBc3NlcnQgZnVuZGFtZW50YWwgcmVzZXQgKi8KLS0J c2V0Yml0c19sZTMyKGJhc2UgKyBQQ0lFX1JHUjFfU1dfSU5JVF8xLCBQQ0lFX1JHUjFfU1dfSU5J VF8xX1BFUlNUX01BU0spOwotKwlzZXRiaXRzX2xlMzIoYmFzZSArIHBjaWUtPnBjaWVfY2ZnLT5v ZmZzZXRzW1JHUjFfU1dfSU5JVF8xXSwKLSsJCSAgICAgUENJRV9SR1IxX1NXX0lOSVRfMV9QRVJT VF9NQVNLKTsKLSAKLSAJLyogVHVybiBvZmYgU2VyRGVzICovCi0tCXNldGJpdHNfbGUzMihiYXNl ICsgUENJRV9NSVNDX0hBUkRfUENJRV9IQVJEX0RFQlVHLAotKwlzZXRiaXRzX2xlMzIoYmFzZSAr IHBjaWUtPnBjaWVfY2ZnLT5vZmZzZXRzW1BDSUVfSEFSRF9ERUJVR10sCi0gCQkgICAgIFBDSUVf SEFSRF9ERUJVR19TRVJERVNfSUREUV9NQVNLKTsKLSAKLSAJLyogU2h1dGRvd24gYnJpZGdlICov Ci0tCXNldGJpdHNfbGUzMihiYXNlICsgUENJRV9SR1IxX1NXX0lOSVRfMSwgUENJRV9SR1IxX1NX X0lOSVRfMV9JTklUX01BU0spOwotKwlicmNtX3BjaWVfYnJpZGdlX3N3X2luaXRfc2V0KHBjaWUs IDEpOwotKwotKwkvKgotKwkgKiBGb3IgdGhlIGNvbnRyb2xsZXJzIHRoYXQgYXJlIHV0aWxpemlu ZyByZXNldCBmb3IgYnJpZGdlIFN3IGluaXQsCi0rCSAqIHN1Y2ggYXMgQkNNMjcxMiwgcmVzZXQg c2hvdWxkIGJlIGRlYXNzZXJ0ZWQgYWZ0ZXIgYXNzZXJ0aW9uLgotKwkgKiBMZWF2aW5nIGl0IGlu IGFzc2VydGVkIHN0YXRlIG1heSBsZWFkIHRvIHVuZXhwZWN0ZWQgaGFuZ3MgaW4KLSsJICogdGhl IExpbnV4IEtlcm5lbCBkcml2ZXIgYmVjYXVzZSBpdCBkbyBub3QgcGVyZm9ybSByZXNldCBpbml0 aWFsaXphdGlvbgotKwkgKiBhbmQgc3RhcnQgYWNjZXNzaW5nIGRldmljZSBtZW1vcnkuCi0rCSAq LwotKwlpZiAocGNpZS0+cGNpZV9jZmctPnR5cGUgPT0gQkNNMjcxMikKLSsJCWJyY21fcGNpZV9i cmlkZ2Vfc3dfaW5pdF9zZXQocGNpZSwgMCk7Ci0gCi0gCXJldHVybiAwOwotIH0KLUBAIC01NDYs NiArNjA2LDcgQEAgc3RhdGljIGludCBicmNtX3BjaWVfb2ZfdG9fcGxhdChzdHJ1Y3QgdWRldmlj ZSAqZGV2KQotIAllbHNlCi0gCQlwY2llLT5nZW4gPSBtYXhfbGlua19zcGVlZDsKLSAKLSsJcGNp ZS0+cGNpZV9jZmcgPSAoY29uc3Qgc3RydWN0IGJyY21fcGNpZV9jZmdfZGF0YSAqKWRldl9nZXRf ZHJpdmVyX2RhdGEoZGV2KTsKLSAJcmV0dXJuIDA7Ci0gfQotIAotQEAgLTU1NCw4ICs2MTUsMzEg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbV9wY2lfb3BzIGJyY21fcGNpZV9vcHMgPSB7Ci0gCS53 cml0ZV9jb25maWcJPSBicmNtX3BjaWVfd3JpdGVfY29uZmlnLAotIH07Ci0gCi0rc3RhdGljIGNv bnN0IGludCBwY2llX29mZnNldHNbXSA9IHsKLSsJW1JHUjFfU1dfSU5JVF8xXSA9IDB4OTIxMCwK LSsJW1BDSUVfSEFSRF9ERUJVR10gPSAweDQyMDQsCi0rfTsKLSsKLStzdGF0aWMgY29uc3Qgc3Ry dWN0IGJyY21fcGNpZV9jZmdfZGF0YSBiY20yNzExX2NmZyA9IHsKLSsJLm9mZnNldHMJPSBwY2ll X29mZnNldHMsCi0rCS50eXBlCQk9IEJDTTI3MTEsCi0rCS5wZXJzdF9zZXQJPSBicmNtX3BjaWVf cGVyc3Rfc2V0X2dlbmVyaWMsCi0rfTsKLSsKLStzdGF0aWMgY29uc3QgaW50IHBjaWVfb2Zmc2V0 c19iY20yNzEyW10gPSB7Ci0rCVtSR1IxX1NXX0lOSVRfMV0gPSAweDAsCi0rCVtQQ0lFX0hBUkRf REVCVUddID0gMHg0MzA0LAotK307Ci0rCi0rc3RhdGljIGNvbnN0IHN0cnVjdCBicmNtX3BjaWVf Y2ZnX2RhdGEgYmNtMjcxMl9jZmcgPSB7Ci0rCS5vZmZzZXRzCT0gcGNpZV9vZmZzZXRzX2JjbTI3 MTIsCi0rCS50eXBlCQk9IEJDTTI3MTIsCi0rCS5wZXJzdF9zZXQJPSBicmNtX3BjaWVfcGVyc3Rf c2V0XzI3MTIsCi0rfTsKLSsKLSBzdGF0aWMgY29uc3Qgc3RydWN0IHVkZXZpY2VfaWQgYnJjbV9w Y2llX2lkc1tdID0gewotLQl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtMjcxMS1wY2llIiB9LAot Kwl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtMjcxMS1wY2llIiwgLmRhdGEgPSAodWxvbmcpJmJj bTI3MTFfY2ZnIH0sCi0rCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY20yNzEyLXBjaWUiLCAuZGF0 YSA9ICh1bG9uZykmYmNtMjcxMl9jZmcgfSwKLSAJeyB9Ci0gfTsKLSAKLQotRnJvbSBwYXRjaHdv cmsgTW9uIEp1biAgMSAxMDozOToyNyAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDdiaXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjogVG9yc3RlbiBEdXdlIDxkdXdlQGxzdC5k ZT4KLVgtUGF0Y2h3b3JrLUlkOiAyMjQ3MzE2Ci1YLVBhdGNod29yay1EZWxlZ2F0ZTogcGJyb2Jp bnNvbkBnbWFpbC5jb20KLVJldHVybi1QYXRoOiA8dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5k ZT4KLVgtT3JpZ2luYWwtVG86IGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnCi1EZWxpdmVy ZWQtVG86IHBhdGNod29yay1pbmNvbWluZ0BsZWdvbGFzLm96bGFicy5vcmcKLUF1dGhlbnRpY2F0 aW9uLVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBh dXRob3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xpZW50LWlwPTJhMDE6 MjM4OjQzOGI6YzUwMDoxNzNkOjlmNTI6ZGRhYjplZTAxOyBoZWxvPXBob2Jvcy5kZW54LmRlOwot IGVudmVsb3BlLWZyb209dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZTsgcmVjZWl2ZXI9cGF0 Y2h3b3JrLm96bGFicy5vcmcpCi1SZWNlaXZlZDogZnJvbSBwaG9ib3MuZGVueC5kZSAocGhvYm9z LmRlbnguZGUKLSBbSVB2NjoyYTAxOjIzODo0MzhiOmM1MDA6MTczZDo5ZjUyOmRkYWI6ZWUwMV0p Ci0JKHVzaW5nIFRMU3YxLjMgd2l0aCBjaXBoZXIgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAoMjU2 LzI1NiBiaXRzKQotCSBrZXktZXhjaGFuZ2UgeDI1NTE5KQotCShObyBjbGllbnQgY2VydGlmaWNh dGUgcmVxdWVzdGVkKQotCWJ5IGxlZ29sYXMub3psYWJzLm9yZyAoUG9zdGZpeCkgd2l0aCBFU01U UFMgaWQgNGdUVnBKM05qSHoxeUNWCi0JZm9yIDxpbmNvbWluZ0BwYXRjaHdvcmsub3psYWJzLm9y Zz47IE1vbiwgMDEgSnVuIDIwMjYgMjA6Mzk6NTIgKzEwMDAgKEFFU1QpCi1SZWNlaXZlZDogZnJv bSBoMjg1MDYxNi5zdHJhdG9zZXJ2ZXIubmV0IChsb2NhbGhvc3QgW0lQdjY6OjoxXSkKLQlieSBw aG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01UUCBpZCBDODI0Mjg0ODlEOwotCU1vbiwg IDEgSnVuIDIwMjYgMTI6Mzk6MzEgKzAyMDAgKENFU1QpCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRz OiBwaG9ib3MuZGVueC5kZTsKLSBkbWFyYz1mYWlsIChwPW5vbmUgZGlzPW5vbmUpIGhlYWRlci5m cm9tPWxzdC5kZQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gc3Bm PXBhc3Mgc210cC5tYWlsZnJvbT11LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlCi1SZWNlaXZl ZDogYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgsIGZyb20gdXNlcmlkIDEwOSkKLSBpZCBFQjk3 ODg0OEEyOyBNb24sICAxIEp1biAyMDI2IDEyOjM5OjMwICswMjAwIChDRVNUKQotWC1TcGFtLUNo ZWNrZXItVmVyc2lvbjogU3BhbUFzc2Fzc2luIDMuNC4yICgyMDE4LTA5LTEzKSBvbiBwaG9ib3Mu ZGVueC5kZQotWC1TcGFtLUxldmVsOiAKLVgtU3BhbS1TdGF0dXM6IE5vLCBzY29yZT0tMS45IHJl cXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18wMCwKLSBSQ1ZEX0lOX0ROU1dMX0JMT0NLRUQsU1BGX0hF TE9fTk9ORSxTUEZfUEFTUyBhdXRvbGVhcm49aGFtCi0gYXV0b2xlYXJuX2ZvcmNlPW5vIHZlcnNp b249My40LjIKLVJlY2VpdmVkOiBmcm9tIHZlcmVpbi5sc3QuZGUgKHZlcmVpbi5sc3QuZGUgWzIx My45NS4xMS4yMTFdKQotICh1c2luZyBUTFN2MS4yIHdpdGggY2lwaGVyIEVDREhFLVJTQS1BRVMy NTYtR0NNLVNIQTM4NCAoMjU2LzI1NiBiaXRzKSkKLSAoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJl cXVlc3RlZCkKLSBieSBwaG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01UUFMgaWQgRjEx RDc4NDg5OAotIGZvciA8dS1ib290QGxpc3RzLmRlbnguZGU+OyBNb24sICAxIEp1biAyMDI2IDEy OjM5OjI4ICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbngu ZGU7Ci0gZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1sc3QuZGUKLUF1 dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOyBzcGY9cGFzcyBzbXRwLm1haWxm cm9tPWR1d2VAbHN0LmRlCi1SZWNlaXZlZDogYnkgdmVyZWluLmxzdC5kZSAoUG9zdGZpeCwgZnJv bSB1c2VyaWQgMjAwNSkKLSBpZCA3NjE2QjY4RDA1OyBNb24sICAxIEp1biAyMDI2IDEyOjM5OjI3 ICswMjAwIChDRVNUKQotSW4tUmVwbHktVG86IDwyMDI2MDYwMTEwMzU1Ny4wMjJFQjY4QjA1QHZl cmVpbi5sc3QuZGU+Ci1SZWZlcmVuY2VzOiA8MjAyNjA2MDExMDM1NTcuMDIyRUI2OEIwNUB2ZXJl aW4ubHN0LmRlPgotU3ViamVjdDogW1BBVENIIHY1IDQvOV0gcmVzZXQ6IEFkZCBSUGk1IGJyY21z dGIgcmVzZXQgZmFjaWxpdGllcwotVG86IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdtYWls LmNvbT4sCi0gTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+Ci1DYzogPT91bmtu b3duLThiaXQ/cT9Ub21fUmluaV89M0N0cmluaT00MGtvbnN1bGtvPTJFY29tPTNFPTJDPTIySmFu Xz1DND04Q2VyPz0KLQk9P3Vua25vd24tOGJpdD9xP209QzM9QTFrPTIyXz0zQ3NhaXJvbj00MHNh aXJvbj0yRWN6PTNFPTJDQW5kcmVhX2RlbGxhX1BvcnQ/PQotCT0/dW5rbm93bi04Yml0P3E/YV89 M0NhbmRyZWE9MkVwb3J0YT00MHN1c2U9MkVjb209M0U9MkM9MjJJdmFuX1Q9MkVfSXZhbm92Pz0K LQk9P3Vua25vd24tOGJpdD9xPz0yMl89M0NpaXZhbm92PTQwc3VzZT0yRWRlPTNFPTJDX1N0YW5p bWlyX1ZhcmJhbm92Xz0zQ3N0YW4/PQotCT0/dW5rbm93bi04Yml0P3E/aW1pcj0yRXZhcmJhbm92 PTQwc3VzZT0yRWNvbT0zRT0yQ19PbGVrc2lpX01vaXNpZWlldl89M0NPbD89Ci0JPT91bmtub3du LThiaXQ/cT9la3NpaT01Rk1vaXNpZWlldj00MGVwYW09MkVjb209M0U9MkNfVm9sb2R5bXlyX0Jh YmNodWtfPTNDPz0KLQk9P3Vua25vd24tOGJpdD9xP3ZvbG9keW15cj01RmJhYmNodWs9NDBlcGFt PTJFY29tPTNFPTJDX01hcmVrX1Zhc3V0Xz0zQ21hcmU/PQotCT0/dW5rbm93bi04Yml0P3E/az0y RXZhc3V0K3JlbmVzYXM9NDBtYWlsYm94PTJFb3JnPTNFPTJDUGF1bF9CYXJrZXJfPTNDcGF1bD89 Ci0JPT91bmtub3duLThiaXQ/cT89MkViYXJrZXI9MkVjdD00MGJwPTJFcmVuZXNhcz0yRWNvbT0z RT0yQ1BhdHJpY2VfQ2hvdGFyZF8/PQotCT0/dW5rbm93bi04Yml0P3E/PTNDcGF0cmljZT0yRWNo b3RhcmQ9NDBmb3NzPTJFc3Q9MkVjb209M0U9MkNDaHJpc3RpYW5fTWFyYT89Ci0JPT91bmtub3du LThiaXQ/cT9uZ2lfPTNDYW5zdWVsc210aD00MGdtYWlsPTJFY29tPTNFPTJDUGF0cmlja19EZWxh dW5heV89M0NwPz0KLQk9P3Vua25vd24tOGJpdD9xP2F0cmljaz0yRWRlbGF1bmF5PTQwZm9zcz0y RXN0PTJFY29tPTNFPTJDSHVhbl9aaG91Xz0zQ21lPz0KLQk9P3Vua25vd24tOGJpdD9xPz00MHBl cjFjeWNsZT0yRW9yZz0zRT0yQ0dhYnJpZWxfRmVybmFuZGV6Xz0zQ2dhYnJpZWw9MkVmZXI/PQot CT0/dW5rbm93bi04Yml0P3E/bmFuZGV6PTQwZm9zcz0yRXN0PTJFY29tPTNFPTJDS2V2ZXJfWWFu Z189M0NrZXZlcj0yRXlhbmc/PQotCT0/dW5rbm93bi04Yml0P3E/PTQwcm9jay1jaGlwcz0yRWNv bT0zRT0yQ0pvbmFzX0thcmxtYW5fPTNDam9uYXM9NDBrd2lib28/PQotCT0/dW5rbm93bi04Yml0 P3E/PTJFc2U9M0U9MkNKb3NlcGhfQ2hlbl89M0NjaGVuamg9NDByb2NrLWNoaXBzPTJFY29tPTNF PTJDRT89Ci0JPT91bmtub3duLThiaXQ/cT9sYWluZV9aaGFuZ189M0N6aGFuZ3Fpbmc9NDByb2Nr LWNoaXBzPTJFY29tPTNFPTJDX1BlZHJvX0ZhPz0KLQk9P3Vua25vd24tOGJpdD9xP2xjYXRvXz0z Q3BmYWxjYXRvPTQwc3VzZT0yRWRlPTNFPTJDdS1ib290PTQwbGlzdHM9MkVkZW54Pz0KLQk9P3Vu a25vd24tOGJpdD9xPz0yRWRlPz0KLU1lc3NhZ2UtSWQ6IDwyMDI2MDYwMTEwMzkyNy43NjE2QjY4 RDA1QHZlcmVpbi5sc3QuZGU+Ci1EYXRlOiBNb24sICAxIEp1biAyMDI2IDEyOjM5OjI3ICswMjAw IChDRVNUKQotRnJvbTogZHV3ZUBsc3QuZGUgKFRvcnN0ZW4gRHV3ZSkKLVgtQmVlblRoZXJlOiB1 LWJvb3RAbGlzdHMuZGVueC5kZQotWC1NYWlsbWFuLVZlcnNpb246IDIuMS4zOQotUHJlY2VkZW5j ZTogbGlzdAotTGlzdC1JZDogVS1Cb290IGRpc2N1c3Npb24gPHUtYm9vdC5saXN0cy5kZW54LmRl PgotTGlzdC1VbnN1YnNjcmliZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9vcHRpb25zL3UtYm9v dD4sCi0gPG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9dW5zdWJz Y3JpYmU+Ci1MaXN0LUFyY2hpdmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvcGlwZXJtYWlsL3Ut Ym9vdC8+Ci1MaXN0LVBvc3Q6IDxtYWlsdG86dS1ib290QGxpc3RzLmRlbnguZGU+Ci1MaXN0LUhl bHA6IDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PWhlbHA+Ci1M aXN0LVN1YnNjcmliZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9saXN0aW5mby91LWJvb3Q+LAot IDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXN1YnNjcmliZT4K LUVycm9ycy1UbzogdS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZQotU2VuZGVyOiAiVS1Cb290 IiA8dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZT4KLVgtVmlydXMtU2Nhbm5lZDogY2xhbWF2 LW1pbHRlciAwLjEwMy44IGF0IHBob2Jvcy5kZW54LmRlCi1YLVZpcnVzLVN0YXR1czogQ2xlYW4K LQotRnJvbTogVG9yc3RlbiBEdXdlIDxkdXdlQHN1c2UuZGU+Ci0KLUEgZHJpdmVyIGZvciBCcm9h ZGNvbSByZXNldCBjb250cm9sbGVycyBwb3J0ZWQgZnJvbQotbGludXgvZHJpdmVycy9yZXNldC9y ZXNldC1icmNtc3RiLmMgdG8gVS1Cb290LgotCi1TaWduZWQtb2ZmLWJ5OiBUb3JzdGVuIER1d2Ug PGR1d2VAc3VzZS5kZT4KLUNvLWF1dGhvcmVkLWJ5OiBPbGVrc2lpIE1vaXNpZWlldiA8b2xla3Np aV9tb2lzaWVpZXZAZXBhbS5jb20+Ci1UZXN0ZWQtYnk6IFBlZHJvIEZhbGNhdG8gPHBmYWxjYXRv QHN1c2UuZGU+Ci0tLS0KLSBjb25maWdzL3JwaV9hcm02NF9kZWZjb25maWcgICB8ICAxICsKLSBk cml2ZXJzL3Jlc2V0L0tjb25maWcgICAgICAgICB8ICA4ICsrKwotIGRyaXZlcnMvcmVzZXQvTWFr ZWZpbGUgICAgICAgIHwgIDEgKwotIGRyaXZlcnMvcmVzZXQvcmVzZXQtYnJjbXN0Yi5jIHwgOTcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSA0IGZpbGVzIGNoYW5nZWQsIDEw NyBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcmVzZXQvcmVzZXQt YnJjbXN0Yi5jCi0KLWRpZmYgLS1naXQgYS9jb25maWdzL3JwaV9hcm02NF9kZWZjb25maWcgYi9j b25maWdzL3JwaV9hcm02NF9kZWZjb25maWcKLWluZGV4IDY5ZThlNzJjNWQ3Li4xNTNkN2VkMzAx ZSAxMDA2NDQKLS0tLSBhL2NvbmZpZ3MvcnBpX2FybTY0X2RlZmNvbmZpZwotKysrIGIvY29uZmln cy9ycGlfYXJtNjRfZGVmY29uZmlnCi1AQCAtNDQsNiArNDQsNyBAQCBDT05GSUdfQkNNR0VORVQ9 eQotIENPTkZJR19QQ0lfQlJDTVNUQj15Ci0gQ09ORklHX1BJTkNUUkw9eQotICMgQ09ORklHX1BJ TkNUUkxfR0VORVJJQyBpcyBub3Qgc2V0Ci0rQ09ORklHX1JFU0VUX0JSQ01TVEI9eQotIENPTkZJ R19ETV9STkc9eQotIENPTkZJR19STkdfSVBST0MyMDA9eQotICMgQ09ORklHX1JFUVVJUkVfU0VS SUFMX0NPTlNPTEUgaXMgbm90IHNldAotZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVzZXQvS2NvbmZp ZyBiL2RyaXZlcnMvcmVzZXQvS2NvbmZpZwotaW5kZXggMmZkOTFkNjI5OWMuLjhmNGM5ZTI5YmFh IDEwMDY0NAotLS0tIGEvZHJpdmVycy9yZXNldC9LY29uZmlnCi0rKysgYi9kcml2ZXJzL3Jlc2V0 L0tjb25maWcKLUBAIC02NCw2ICs2NCwxNCBAQCBjb25maWcgUkVTRVRfQkNNNjM0NQotIAloZWxw Ci0gCSAgU3VwcG9ydCByZXNldCBjb250cm9sbGVyIG9uIEJDTTYzNDUuCi0gCi0rY29uZmlnIFJF U0VUX0JSQ01TVEIKLSsJZGVwZW5kcyBvbiBBUkNIX0JDTTI4M1gKLSsJYm9vbCAiR2VuZXJpYyBS ZXNldCBjb250cm9sbGVyIGRyaXZlciBmb3IgQnJvYWRjb20iCi0rCWhlbHAKLSsJICBUaGlzIGVu YWJsZXMgcmVzZXQgY29udHJvbGxlciBmb3IgQnJvYWRjb20gZGV2aWNlcy4KLSsJICBJZiB5b3Ug d2lzaCB0byB1c2UgcmVzZXQgcmVzb3VyY2VzIG1hbmFnZWQgYnkgdGhlIEJyb2FkY29tCi0rCSAg UmVzZXQgQ29udHJvbGxlciwgc2F5IFkgaGVyZS4gT3RoZXJ3aXNlLCBzYXkgTi4KLSsKLSBjb25m aWcgUkVTRVRfVU5JUEhJRVIKLSAJYm9vbCAiUmVzZXQgY29udHJvbGxlciBkcml2ZXIgZm9yIFVu aVBoaWVyIFNvQ3MiCi0gCWRlcGVuZHMgb24gQVJDSF9VTklQSElFUgotZGlmZiAtLWdpdCBhL2Ry aXZlcnMvcmVzZXQvTWFrZWZpbGUgYi9kcml2ZXJzL3Jlc2V0L01ha2VmaWxlCi1pbmRleCBlZTVi MDA5ZDEzNC4uZWJmM2Q3NDI1YTQgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL3Jlc2V0L01ha2VmaWxl Ci0rKysgYi9kcml2ZXJzL3Jlc2V0L01ha2VmaWxlCi1AQCAtMTMsNiArMTMsNyBAQCBvYmotJChD T05GSUdfUkVTRVRfQUlST0hBKSArPSByZXNldC1haXJvaGEubwotIG9iai0kKENPTkZJR19SRVNF VF9USV9TQ0kpICs9IHJlc2V0LXRpLXNjaS5vCi0gb2JqLSQoQ09ORklHX1JFU0VUX0hTREspICs9 IHJlc2V0LWhzZGsubwotIG9iai0kKENPTkZJR19SRVNFVF9CQ002MzQ1KSArPSByZXNldC1iY202 MzQ1Lm8KLStvYmotJChDT05GSUdfUkVTRVRfQlJDTVNUQikgKz0gcmVzZXQtYnJjbXN0Yi5vCi0g b2JqLSQoQ09ORklHX1JFU0VUX1VOSVBISUVSKSArPSByZXNldC11bmlwaGllci5vCi0gb2JqLSQo Q09ORklHX1JFU0VUX0FTVDI1MDApICs9IHJlc2V0LWFzdDI1MDAubwotIG9iai0kKENPTkZJR19S RVNFVF9BU1QyNjAwKSArPSByZXNldC1hc3QyNjAwLm8KLWRpZmYgLS1naXQgYS9kcml2ZXJzL3Jl c2V0L3Jlc2V0LWJyY21zdGIuYyBiL2RyaXZlcnMvcmVzZXQvcmVzZXQtYnJjbXN0Yi5jCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjc4NjFmN2M5YmFmCi0tLS0gL2Rl di9udWxsCi0rKysgYi9kcml2ZXJzL3Jlc2V0L3Jlc2V0LWJyY21zdGIuYwotQEAgLTAsMCArMSw5 NyBAQAotKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCi0rLyoKLSsgKiBCcm9h ZGNvbSBTVEIgZ2VuZXJpYyByZXNldCBjb250cm9sbGVyCi0rICoKLSsgKiBDb3B5cmlnaHQgKEMp IDIwMjQgRVBBTSBTeXN0ZW1zCi0rICoKLSsgKiBNb3ZlZCBmcm9tIGxpbnV4IGtlcm5lbDoKLSsg KiBBdXRob3I6IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgotKyAqIENv cHlyaWdodCAoQykgMjAxOCBCcm9hZGNvbQotKyAqLwotKwotKyNpbmNsdWRlIDxhc20vaW8uaD4K LSsjaW5jbHVkZSA8ZG0uaD4KLSsjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSA8bGludXgv Yml0b3BzLmg+Ci0rI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0rI2luY2x1ZGUgPGxvZy5oPgot KyNpbmNsdWRlIDxtYWxsb2MuaD4KLSsjaW5jbHVkZSA8cmVzZXQtdWNsYXNzLmg+Ci0rCi0rc3Ry dWN0IGJyY21zdGJfcmVzZXQgewotKwl2b2lkIF9faW9tZW0gKmJhc2U7Ci0rfTsKLSsKLSsjZGVm aW5lIFNXX0lOSVRfU0VUIDB4MDAKLSsjZGVmaW5lIFNXX0lOSVRfQ0xFQVIgMHgwNAotKyNkZWZp bmUgU1dfSU5JVF9TVEFUVVMgMHgwOAotKwotKyNkZWZpbmUgU1dfSU5JVF9CSVQoaWQpIEJJVCgo aWQpICYgMHgxZikKLSsjZGVmaW5lIFNXX0lOSVRfQkFOSyhpZCkgKChpZCkgPj4gNSkKLSsKLSsj ZGVmaW5lIHVzbGVlcF9yYW5nZShhLCBiKSB1ZGVsYXkoKGIpKQotKwotKy8qIEEgZnVsbCBiYW5r IGNvbnRhaW5zIGV4dHJhIHJlZ2lzdGVycyB0aGF0IHdlIGFyZSBub3QgdXRpbGl6aW5nIGJ1dCBz dGlsbAotKyAqIHF1YWxpZnkgYXMgYSBzaW5nbGUgYmFuay4KLSsgKi8KLSsjZGVmaW5lIFNXX0lO SVRfQkFOS19TSVpFIDB4MTgKLSsKLStzdGF0aWMgaW50IGJyY21zdGJfcmVzZXRfYXNzZXJ0KHN0 cnVjdCByZXNldF9jdGwgKnJzdCkKLSt7Ci0rCXVuc2lnbmVkIGludCBvZmYgPSBTV19JTklUX0JB TksocnN0LT5pZCkgKiBTV19JTklUX0JBTktfU0laRTsKLSsJc3RydWN0IGJyY21zdGJfcmVzZXQg KnByaXYgPSBkZXZfZ2V0X3ByaXYocnN0LT5kZXYpOwotKwotKwl3cml0ZWxfcmVsYXhlZChTV19J TklUX0JJVChyc3QtPmlkKSwgcHJpdi0+YmFzZSArIG9mZiArIFNXX0lOSVRfU0VUKTsKLSsJcmV0 dXJuIDA7Ci0rfQotKwotK3N0YXRpYyBpbnQgYnJjbXN0Yl9yZXNldF9kZWFzc2VydChzdHJ1Y3Qg cmVzZXRfY3RsICpyc3QpCi0rewotKwl1bnNpZ25lZCBpbnQgb2ZmID0gU1dfSU5JVF9CQU5LKHJz dC0+aWQpICogU1dfSU5JVF9CQU5LX1NJWkU7Ci0rCXN0cnVjdCBicmNtc3RiX3Jlc2V0ICpwcml2 ID0gZGV2X2dldF9wcml2KHJzdC0+ZGV2KTsKLSsKLSsJd3JpdGVsX3JlbGF4ZWQoU1dfSU5JVF9C SVQocnN0LT5pZCksIHByaXYtPmJhc2UgKyBvZmYgKyBTV19JTklUX0NMRUFSKTsKLSsJLyogTWF4 aW11bSByZXNldCBkZWxheSBhZnRlciBkZS1hc3NlcnRpbmcgYSBsaW5lIGFuZCBzZWVpbmcgYmxv Y2sKLSsJICogb3BlcmF0aW9uIGlzIHR5cGljYWxseSAxNHVzIGZvciB0aGUgd29yc3QgY2FzZSwg YnVpbGQgc29tZSBzbGFjawotKwkgKiBoZXJlLgotKwkgKi8KLSsJdXNsZWVwX3JhbmdlKDEwMCwg MjAwKTsKLSsJcmV0dXJuIDA7Ci0rfQotKwotK3N0YXRpYyBpbnQgYnJjbXN0Yl9yZXNldF9zdGF0 dXMoc3RydWN0IHJlc2V0X2N0bCAqcnN0KQotK3sKLSsJdW5zaWduZWQgaW50IG9mZiA9IFNXX0lO SVRfQkFOSyhyc3QtPmlkKSAqIFNXX0lOSVRfQkFOS19TSVpFOwotKwlzdHJ1Y3QgYnJjbXN0Yl9y ZXNldCAqcHJpdiA9IGRldl9nZXRfcHJpdihyc3QtPmRldik7Ci0rCi0rCXJldHVybiByZWFkbF9y ZWxheGVkKHByaXYtPmJhc2UgKyBvZmYgKyBTV19JTklUX1NUQVRVUykgJgotKwkJCVNXX0lOSVRf QklUKHJzdC0+aWQpOwotK30KLSsKLStzdHJ1Y3QgcmVzZXRfb3BzIGJyY21zdGJfcmVzZXRfcmVz ZXRfb3BzID0gewotKwkucnN0X2Fzc2VydCA9IGJyY21zdGJfcmVzZXRfYXNzZXJ0LAotKwkucnN0 X2RlYXNzZXJ0ID0gYnJjbXN0Yl9yZXNldF9kZWFzc2VydCwKLSsJLnJzdF9zdGF0dXMgPSBicmNt c3RiX3Jlc2V0X3N0YXR1c307Ci0rCi0rc3RhdGljIGludCBicmNtc3RiX3Jlc2V0X3Byb2JlKHN0 cnVjdCB1ZGV2aWNlICpkZXYpCi0rewotKwlzdHJ1Y3QgYnJjbXN0Yl9yZXNldCAqcHJpdiA9IGRl dl9nZXRfcHJpdihkZXYpOwotKwotKwlwcml2LT5iYXNlID0gZGV2X3JlbWFwX2FkZHIoZGV2KTsK LSsJaWYgKCFwcml2LT5iYXNlKQotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCi0rCXJldHVybiAwOwot K30KLSsKLStzdGF0aWMgY29uc3Qgc3RydWN0IHVkZXZpY2VfaWQgYnJjbXN0Yl9yZXNldF9pZHNb XSA9IHsKLSsJey5jb21wYXRpYmxlID0gImJyY20sYnJjbXN0Yi1yZXNldCJ9LCB7Lyogc2VudGlu ZWwgKi99fTsKLSsKLStVX0JPT1RfRFJJVkVSKGJyY21zdGJfcmVzZXQpID0gewotKwkubmFtZSA9 ICJicmNtc3RiLXJlc2V0IiwKLSsJLmlkID0gVUNMQVNTX1JFU0VULAotKwkub2ZfbWF0Y2ggPSBi cmNtc3RiX3Jlc2V0X2lkcywKLSsJLm9wcyA9ICZicmNtc3RiX3Jlc2V0X3Jlc2V0X29wcywKLSsJ LnByb2JlID0gYnJjbXN0Yl9yZXNldF9wcm9iZSwKLSsJLnByaXZfYXV0byA9IHNpemVvZihzdHJ1 Y3QgYnJjbXN0Yl9yZXNldCksCi0rfTsKLQotRnJvbSBwYXRjaHdvcmsgTW9uIEp1biAgMSAxMDoz OToyOSAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9InV0Zi04IgotTUlN RS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLVgtUGF0Y2h3 b3JrLVN1Ym1pdHRlcjogVG9yc3RlbiBEdXdlIDxkdXdlQGxzdC5kZT4KLVgtUGF0Y2h3b3JrLUlk OiAyMjQ3MzE3Ci1YLVBhdGNod29yay1EZWxlZ2F0ZTogcGJyb2JpbnNvbkBnbWFpbC5jb20KLVJl dHVybi1QYXRoOiA8dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZT4KLVgtT3JpZ2luYWwtVG86 IGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnCi1EZWxpdmVyZWQtVG86IHBhdGNod29yay1p bmNvbWluZ0BsZWdvbGFzLm96bGFicy5vcmcKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IGxlZ29s YXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBhdXRob3JpemVkKSBzbXRwLm1h aWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xpZW50LWlwPTg1LjIxNC42Mi42MTsgaGVsbz1waG9i b3MuZGVueC5kZTsKLSBlbnZlbG9wZS1mcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU7 IHJlY2VpdmVyPXBhdGNod29yay5vemxhYnMub3JnKQotUmVjZWl2ZWQ6IGZyb20gcGhvYm9zLmRl bnguZGUgKHBob2Jvcy5kZW54LmRlIFs4NS4yMTQuNjIuNjFdKQotCSh1c2luZyBUTFN2MS4zIHdp dGggY2lwaGVyIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgKDI1Ni8yNTYgYml0cykKLQkga2V5LWV4 Y2hhbmdlIHgyNTUxOSkKLQkoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJlcXVlc3RlZCkKLQlieSBs ZWdvbGFzLm96bGFicy5vcmcgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIDRnVFZwVDNadmR6MXlD VgotCWZvciA8aW5jb21pbmdAcGF0Y2h3b3JrLm96bGFicy5vcmc+OyBNb24sIDAxIEp1biAyMDI2 IDIwOjQwOjAxICsxMDAwIChBRVNUKQotUmVjZWl2ZWQ6IGZyb20gaDI4NTA2MTYuc3RyYXRvc2Vy dmVyLm5ldCAobG9jYWxob3N0IFtJUHY2Ojo6MV0pCi0JYnkgcGhvYm9zLmRlbnguZGUgKFBvc3Rm aXgpIHdpdGggRVNNVFAgaWQgMDk0N0U4NDhBMTsKLQlNb24sICAxIEp1biAyMDI2IDEyOjM5OjM0 ICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0g ZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1sc3QuZGUKLUF1dGhlbnRp Y2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwotIHNwZj1wYXNzIHNtdHAubWFpbGZyb209 dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZQotUmVjZWl2ZWQ6IGJ5IHBob2Jvcy5kZW54LmRl IChQb3N0Zml4LCBmcm9tIHVzZXJpZCAxMDkpCi0gaWQgQjI3MzM4NDg3ODsgTW9uLCAgMSBKdW4g MjAyNiAxMjozOTozMiArMDIwMCAoQ0VTVCkKLVgtU3BhbS1DaGVja2VyLVZlcnNpb246IFNwYW1B c3Nhc3NpbiAzLjQuMiAoMjAxOC0wOS0xMykgb24gcGhvYm9zLmRlbnguZGUKLVgtU3BhbS1MZXZl bDogCi1YLVNwYW0tU3RhdHVzOiBObywgc2NvcmU9LTEuOSByZXF1aXJlZD01LjAgdGVzdHM9QkFZ RVNfMDAsCi0gUkNWRF9JTl9ETlNXTF9CTE9DS0VELFNQRl9IRUxPX05PTkUsU1BGX1BBU1MgYXV0 b2xlYXJuPWhhbQotIGF1dG9sZWFybl9mb3JjZT1ubyB2ZXJzaW9uPTMuNC4yCi1SZWNlaXZlZDog ZnJvbSB2ZXJlaW4ubHN0LmRlICh2ZXJlaW4ubHN0LmRlIFsyMTMuOTUuMTEuMjExXSkKLSAodXNp bmcgVExTdjEuMiB3aXRoIGNpcGhlciBFQ0RIRS1SU0EtQUVTMjU2LUdDTS1TSEEzODQgKDI1Ni8y NTYgYml0cykpCi0gKE5vIGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1ZXN0ZWQpCi0gYnkgcGhvYm9z LmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIEMwRTFEODQ4OUUKLSBmb3IgPHUtYm9v dEBsaXN0cy5kZW54LmRlPjsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOTozMCArMDIwMCAoQ0VTVCkK LUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwotIGRtYXJjPWZhaWwgKHA9 bm9uZSBkaXM9bm9uZSkgaGVhZGVyLmZyb209bHN0LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRz OiBwaG9ib3MuZGVueC5kZTsgc3BmPXBhc3Mgc210cC5tYWlsZnJvbT1kdXdlQGxzdC5kZQotUmVj ZWl2ZWQ6IGJ5IHZlcmVpbi5sc3QuZGUgKFBvc3RmaXgsIGZyb20gdXNlcmlkIDIwMDUpCi0gaWQg NzUxRDY2OEQwOTsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOToyOSArMDIwMCAoQ0VTVCkKLUluLVJl cGx5LVRvOiA8MjAyNjA2MDExMDM1NTcuMDIyRUI2OEIwNUB2ZXJlaW4ubHN0LmRlPgotUmVmZXJl bmNlczogPDIwMjYwNjAxMTAzNTU3LjAyMkVCNjhCMDVAdmVyZWluLmxzdC5kZT4KLVN1YmplY3Q6 IFtQQVRDSCB2NSA1LzldIHJlc2V0OiBBZGQgUlBpNSByZXNjYWwgcmVzZXQgZmFjaWxpdGllcwot VG86IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdtYWlsLmNvbT4sCi0gTWF0dGhpYXMgQnJ1 Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+Ci1DYzogPT91bmtub3duLThiaXQ/cT9Ub21fUmluaV89 M0N0cmluaT00MGtvbnN1bGtvPTJFY29tPTNFPTJDPTIySmFuXz1DND04Q2VyPz0KLQk9P3Vua25v d24tOGJpdD9xP209QzM9QTFrPTIyXz0zQ3NhaXJvbj00MHNhaXJvbj0yRWN6PTNFPTJDQW5kcmVh X2RlbGxhX1BvcnQ/PQotCT0/dW5rbm93bi04Yml0P3E/YV89M0NhbmRyZWE9MkVwb3J0YT00MHN1 c2U9MkVjb209M0U9MkM9MjJJdmFuX1Q9MkVfSXZhbm92Pz0KLQk9P3Vua25vd24tOGJpdD9xPz0y Ml89M0NpaXZhbm92PTQwc3VzZT0yRWRlPTNFPTJDX1N0YW5pbWlyX1ZhcmJhbm92Xz0zQ3N0YW4/ PQotCT0/dW5rbm93bi04Yml0P3E/aW1pcj0yRXZhcmJhbm92PTQwc3VzZT0yRWNvbT0zRT0yQ19P bGVrc2lpX01vaXNpZWlldl89M0NPbD89Ci0JPT91bmtub3duLThiaXQ/cT9la3NpaT01Rk1vaXNp ZWlldj00MGVwYW09MkVjb209M0U9MkNfVm9sb2R5bXlyX0JhYmNodWtfPTNDPz0KLQk9P3Vua25v d24tOGJpdD9xP3ZvbG9keW15cj01RmJhYmNodWs9NDBlcGFtPTJFY29tPTNFPTJDX01hcmVrX1Zh c3V0Xz0zQ21hcmU/PQotCT0/dW5rbm93bi04Yml0P3E/az0yRXZhc3V0K3JlbmVzYXM9NDBtYWls Ym94PTJFb3JnPTNFPTJDUGF1bF9CYXJrZXJfPTNDcGF1bD89Ci0JPT91bmtub3duLThiaXQ/cT89 MkViYXJrZXI9MkVjdD00MGJwPTJFcmVuZXNhcz0yRWNvbT0zRT0yQ1BhdHJpY2VfQ2hvdGFyZF8/ PQotCT0/dW5rbm93bi04Yml0P3E/PTNDcGF0cmljZT0yRWNob3RhcmQ9NDBmb3NzPTJFc3Q9MkVj b209M0U9MkNDaHJpc3RpYW5fTWFyYT89Ci0JPT91bmtub3duLThiaXQ/cT9uZ2lfPTNDYW5zdWVs c210aD00MGdtYWlsPTJFY29tPTNFPTJDUGF0cmlja19EZWxhdW5heV89M0NwPz0KLQk9P3Vua25v d24tOGJpdD9xP2F0cmljaz0yRWRlbGF1bmF5PTQwZm9zcz0yRXN0PTJFY29tPTNFPTJDSHVhbl9a aG91Xz0zQ21lPz0KLQk9P3Vua25vd24tOGJpdD9xPz00MHBlcjFjeWNsZT0yRW9yZz0zRT0yQ0dh YnJpZWxfRmVybmFuZGV6Xz0zQ2dhYnJpZWw9MkVmZXI/PQotCT0/dW5rbm93bi04Yml0P3E/bmFu ZGV6PTQwZm9zcz0yRXN0PTJFY29tPTNFPTJDS2V2ZXJfWWFuZ189M0NrZXZlcj0yRXlhbmc/PQot CT0/dW5rbm93bi04Yml0P3E/PTQwcm9jay1jaGlwcz0yRWNvbT0zRT0yQ0pvbmFzX0thcmxtYW5f PTNDam9uYXM9NDBrd2lib28/PQotCT0/dW5rbm93bi04Yml0P3E/PTJFc2U9M0U9MkNKb3NlcGhf Q2hlbl89M0NjaGVuamg9NDByb2NrLWNoaXBzPTJFY29tPTNFPTJDRT89Ci0JPT91bmtub3duLThi aXQ/cT9sYWluZV9aaGFuZ189M0N6aGFuZ3Fpbmc9NDByb2NrLWNoaXBzPTJFY29tPTNFPTJDX1Bl ZHJvX0ZhPz0KLQk9P3Vua25vd24tOGJpdD9xP2xjYXRvXz0zQ3BmYWxjYXRvPTQwc3VzZT0yRWRl PTNFPTJDdS1ib290PTQwbGlzdHM9MkVkZW54Pz0KLQk9P3Vua25vd24tOGJpdD9xPz0yRWRlPz0K LU1lc3NhZ2UtSWQ6IDwyMDI2MDYwMTEwMzkyOS43NTFENjY4RDA5QHZlcmVpbi5sc3QuZGU+Ci1E YXRlOiBNb24sICAxIEp1biAyMDI2IDEyOjM5OjI5ICswMjAwIChDRVNUKQotRnJvbTogZHV3ZUBs c3QuZGUgKFRvcnN0ZW4gRHV3ZSkKLVgtQmVlblRoZXJlOiB1LWJvb3RAbGlzdHMuZGVueC5kZQot WC1NYWlsbWFuLVZlcnNpb246IDIuMS4zOQotUHJlY2VkZW5jZTogbGlzdAotTGlzdC1JZDogVS1C b290IGRpc2N1c3Npb24gPHUtYm9vdC5saXN0cy5kZW54LmRlPgotTGlzdC1VbnN1YnNjcmliZTog PGh0dHBzOi8vbGlzdHMuZGVueC5kZS9vcHRpb25zL3UtYm9vdD4sCi0gPG1haWx0bzp1LWJvb3Qt cmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9dW5zdWJzY3JpYmU+Ci1MaXN0LUFyY2hpdmU6 IDxodHRwczovL2xpc3RzLmRlbnguZGUvcGlwZXJtYWlsL3UtYm9vdC8+Ci1MaXN0LVBvc3Q6IDxt YWlsdG86dS1ib290QGxpc3RzLmRlbnguZGU+Ci1MaXN0LUhlbHA6IDxtYWlsdG86dS1ib290LXJl cXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PWhlbHA+Ci1MaXN0LVN1YnNjcmliZTogPGh0dHBz Oi8vbGlzdHMuZGVueC5kZS9saXN0aW5mby91LWJvb3Q+LAotIDxtYWlsdG86dS1ib290LXJlcXVl c3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXN1YnNjcmliZT4KLUVycm9ycy1UbzogdS1ib290LWJv dW5jZXNAbGlzdHMuZGVueC5kZQotU2VuZGVyOiAiVS1Cb290IiA8dS1ib290LWJvdW5jZXNAbGlz dHMuZGVueC5kZT4KLVgtVmlydXMtU2Nhbm5lZDogY2xhbWF2LW1pbHRlciAwLjEwMy44IGF0IHBo b2Jvcy5kZW54LmRlCi1YLVZpcnVzLVN0YXR1czogQ2xlYW4KLQotRnJvbTogVG9yc3RlbiBEdXdl IDxkdXdlQHN1c2UuZGU+Ci0KLUEgZHJpdmVyIGZvciBCcm9hZGNvbSByZXNjYWwgcmVzZXQgY29u dHJvbGxlcnMgcG9ydGVkIGZyb20KLWxpbnV4L2RyaXZlcnMvcmVzZXQvcmVzZXQtYnJjbXN0Yi1y ZXNjYWwuYyB0byBVLUJvb3QuCi0KLVNpZ25lZC1vZmYtYnk6IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBz dXNlLmRlPgotQ28tYXV0aG9yZWQtYnk6IE9sZWtzaWkgTW9pc2llaWV2IDxvbGVrc2lpX21vaXNp ZWlldkBlcGFtLmNvbT4KLVRlc3RlZC1ieTogUGVkcm8gRmFsY2F0byA8cGZhbGNhdG9Ac3VzZS5k ZT4KLS0tLQotIGNvbmZpZ3MvcnBpX2FybTY0X2RlZmNvbmZpZyAgICAgICAgICB8ICAgMSArCi0g ZHJpdmVycy9yZXNldC9LY29uZmlnICAgICAgICAgICAgICAgIHwgICA4ICsrKwotIGRyaXZlcnMv cmVzZXQvTWFrZWZpbGUgICAgICAgICAgICAgICB8ICAgMSArCi0gZHJpdmVycy9yZXNldC9yZXNl dC1icmNtc3RiLXJlc2NhbC5jIHwgMTAzICsrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDQg ZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9yZXNldC9yZXNldC1icmNtc3RiLXJlc2NhbC5jCi0KLWRpZmYgLS1naXQgYS9jb25maWdz L3JwaV9hcm02NF9kZWZjb25maWcgYi9jb25maWdzL3JwaV9hcm02NF9kZWZjb25maWcKLWluZGV4 IDE1M2Q3ZWQzMDFlLi4zOGFmNTAyOTQwMyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3MvcnBpX2FybTY0 X2RlZmNvbmZpZwotKysrIGIvY29uZmlncy9ycGlfYXJtNjRfZGVmY29uZmlnCi1AQCAtNDUsNiAr NDUsNyBAQCBDT05GSUdfUENJX0JSQ01TVEI9eQotIENPTkZJR19QSU5DVFJMPXkKLSAjIENPTkZJ R19QSU5DVFJMX0dFTkVSSUMgaXMgbm90IHNldAotIENPTkZJR19SRVNFVF9CUkNNU1RCPXkKLStD T05GSUdfUkVTRVRfQlJDTVNUQl9SRVNDQUw9eQotIENPTkZJR19ETV9STkc9eQotIENPTkZJR19S TkdfSVBST0MyMDA9eQotICMgQ09ORklHX1JFUVVJUkVfU0VSSUFMX0NPTlNPTEUgaXMgbm90IHNl dAotZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVzZXQvS2NvbmZpZyBiL2RyaXZlcnMvcmVzZXQvS2Nv bmZpZwotaW5kZXggOGY0YzllMjliYWEuLmU2YzIzMzY4NDI4IDEwMDY0NAotLS0tIGEvZHJpdmVy cy9yZXNldC9LY29uZmlnCi0rKysgYi9kcml2ZXJzL3Jlc2V0L0tjb25maWcKLUBAIC03Miw2ICs3 MiwxNCBAQCBjb25maWcgUkVTRVRfQlJDTVNUQgotIAkgIElmIHlvdSB3aXNoIHRvIHVzZSByZXNl dCByZXNvdXJjZXMgbWFuYWdlZCBieSB0aGUgQnJvYWRjb20KLSAJICBSZXNldCBDb250cm9sbGVy LCBzYXkgWSBoZXJlLiBPdGhlcndpc2UsIHNheSBOLgotIAotK2NvbmZpZyBSRVNFVF9CUkNNU1RC X1JFU0NBTAotKwlkZXBlbmRzIG9uIEFSQ0hfQkNNMjgzWAotKwlib29sICJHZW5lcmljIFJlc2Nh bCBSZXNldCBjb250cm9sbGVyIGRyaXZlciBmb3IgQnJvYWRjb20iCi0rCWhlbHAKLSsJICBTdXBw b3J0IHJlc2NhbCByZXNldCBjb250cm9sbGVyIG9uIEJyb2FkY29tLgotKwkgIElmIHlvdSB3aXNo IHRvIHVzZSByZXNldCByZXNvdXJjZXMgbWFuYWdlZCBieSB0aGUgQnJvYWRjb20KLSsJICBSZXNl dCBDb250cm9sbGVyLCBzYXkgWSBoZXJlLiBPdGhlcndpc2UsIHNheSBOLgotKwotIGNvbmZpZyBS RVNFVF9VTklQSElFUgotIAlib29sICJSZXNldCBjb250cm9sbGVyIGRyaXZlciBmb3IgVW5pUGhp ZXIgU29DcyIKLSAJZGVwZW5kcyBvbiBBUkNIX1VOSVBISUVSCi1kaWZmIC0tZ2l0IGEvZHJpdmVy cy9yZXNldC9NYWtlZmlsZSBiL2RyaXZlcnMvcmVzZXQvTWFrZWZpbGUKLWluZGV4IGViZjNkNzQy NWE0Li5jN2E5ZGEzMjY4ZCAxMDA2NDQKLS0tLSBhL2RyaXZlcnMvcmVzZXQvTWFrZWZpbGUKLSsr KyBiL2RyaXZlcnMvcmVzZXQvTWFrZWZpbGUKLUBAIC0xNCw2ICsxNCw3IEBAIG9iai0kKENPTkZJ R19SRVNFVF9USV9TQ0kpICs9IHJlc2V0LXRpLXNjaS5vCi0gb2JqLSQoQ09ORklHX1JFU0VUX0hT REspICs9IHJlc2V0LWhzZGsubwotIG9iai0kKENPTkZJR19SRVNFVF9CQ002MzQ1KSArPSByZXNl dC1iY202MzQ1Lm8KLSBvYmotJChDT05GSUdfUkVTRVRfQlJDTVNUQikgKz0gcmVzZXQtYnJjbXN0 Yi5vCi0rb2JqLSQoQ09ORklHX1JFU0VUX0JSQ01TVEJfUkVTQ0FMKSArPSByZXNldC1icmNtc3Ri LXJlc2NhbC5vCi0gb2JqLSQoQ09ORklHX1JFU0VUX1VOSVBISUVSKSArPSByZXNldC11bmlwaGll ci5vCi0gb2JqLSQoQ09ORklHX1JFU0VUX0FTVDI1MDApICs9IHJlc2V0LWFzdDI1MDAubwotIG9i ai0kKENPTkZJR19SRVNFVF9BU1QyNjAwKSArPSByZXNldC1hc3QyNjAwLm8KLWRpZmYgLS1naXQg YS9kcml2ZXJzL3Jlc2V0L3Jlc2V0LWJyY21zdGItcmVzY2FsLmMgYi9kcml2ZXJzL3Jlc2V0L3Jl c2V0LWJyY21zdGItcmVzY2FsLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw MDAwMC4uZmM4ZmNmYThiM2YKLS0tLSAvZGV2L251bGwKLSsrKyBiL2RyaXZlcnMvcmVzZXQvcmVz ZXQtYnJjbXN0Yi1yZXNjYWwuYwotQEAgLTAsMCArMSwxMDMgQEAKLSsvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMAotKy8qCi0rICogQnJvYWRjb20gU1RCIGdlbmVyaWMgcmVzZXQg Y29udHJvbGxlcgotKyAqCi0rICogQ29weXJpZ2h0IChDKSAyMDI0IEVQQU0gU3lzdGVtcwotKyAq IE1vdmVkIGZyb20gbGludXgga2VybmVsOgotKyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIwIEJy b2FkY29tCi0rICovCi0rCi0rI2luY2x1ZGUgPGFzbS9pby5oPgotKyNpbmNsdWRlIDxkbS5oPgot KyNpbmNsdWRlIDxkbS9kZXZpY2VfY29tcGF0Lmg+Ci0rI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2lu Y2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgotKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotKyNpbmNs dWRlIDxsaW51eC9pb3BvbGwuaD4KLSsjaW5jbHVkZSA8bG9nLmg+Ci0rI2luY2x1ZGUgPG1hbGxv Yy5oPgotKyNpbmNsdWRlIDxyZXNldC11Y2xhc3MuaD4KLSsKLSsjZGVmaW5lIEJSQ01fUkVTQ0FM X1NUQVJUIDB4MAotKyNkZWZpbmUgQlJDTV9SRVNDQUxfU1RBUlRfQklUIEJJVCgwKQotKyNkZWZp bmUgQlJDTV9SRVNDQUxfQ1RSTCAweDQKLSsjZGVmaW5lIEJSQ01fUkVTQ0FMX1NUQVRVUyAweDgK LSsjZGVmaW5lIEJSQ01fUkVTQ0FMX1NUQVRVU19CSVQgQklUKDApCi0rCi0rc3RydWN0IGJyY21f cmVzY2FsX3Jlc2V0IHsKLSsJdm9pZCBfX2lvbWVtICpiYXNlOwotK307Ci0rCi0rLyogQWxzbyBk b3VibGVzIGEgZGVhc3NlcnQgKi8KLStzdGF0aWMgaW50IGJyY21fcmVzY2FsX3Jlc2V0X3NldChz dHJ1Y3QgcmVzZXRfY3RsICpyc3QpCi0rewotKwlzdHJ1Y3QgYnJjbV9yZXNjYWxfcmVzZXQgKmRh dGEgPSBkZXZfZ2V0X3ByaXYocnN0LT5kZXYpOwotKwl2b2lkIF9faW9tZW0gKmJhc2UgPSBkYXRh LT5iYXNlOwotKwl1MzIgcmVnOwotKwlpbnQgcmV0OwotKwotKwlyZWcgPSByZWFkbChiYXNlICsg QlJDTV9SRVNDQUxfU1RBUlQpOwotKwl3cml0ZWwocmVnIHwgQlJDTV9SRVNDQUxfU1RBUlRfQklU LCBiYXNlICsgQlJDTV9SRVNDQUxfU1RBUlQpOwotKwlyZWcgPSByZWFkbChiYXNlICsgQlJDTV9S RVNDQUxfU1RBUlQpOwotKwlpZiAoIShyZWcgJiBCUkNNX1JFU0NBTF9TVEFSVF9CSVQpKSB7Ci0r CQlkZXZfZXJyKHJzdC0+ZGV2LCAiZmFpbGVkIHRvIHN0YXJ0IFNBVEEvUENJZSByZXNjYWxcbiIp OwotKwkJcmV0dXJuIC1FSU87Ci0rCX0KLSsKLSsJcmV0ID0gcmVhZGxfcG9sbF90aW1lb3V0KGJh c2UgKyBCUkNNX1JFU0NBTF9TVEFUVVMsIHJlZywKLSsJCQkJIChyZWcgJiBCUkNNX1JFU0NBTF9T VEFUVVNfQklUKSwgMTAwKTsKLSsJaWYgKHJldCkgewotKwkJZGV2X2Vycihyc3QtPmRldiwgInRp bWUgb3V0IG9uIFNBVEEvUENJZSByZXNjYWxcbiIpOwotKwkJcmV0dXJuIHJldDsKLSsJfQotKwot KwlyZWcgPSByZWFkbChiYXNlICsgQlJDTV9SRVNDQUxfU1RBUlQpOwotKwl3cml0ZWwocmVnICYg fkJSQ01fUkVTQ0FMX1NUQVJUX0JJVCwgYmFzZSArIEJSQ01fUkVTQ0FMX1NUQVJUKTsKLSsKLSsJ ZGV2X2RiZyhyc3QtPmRldiwgIlNBVEEvUENJZSByZXNjYWwgc3VjY2Vzc1xuIik7Ci0rCXJldHVy biAwOwotK30KLSsKLSsvKiBBIGR1bW15IGZ1bmN0aW9uIC0gZGVhc3NlcnQvcmVzZXQgZG9lcyBh bGwgdGhlIHdvcmsgKi8KLStzdGF0aWMgaW50IGJyY21fcmVzY2FsX3Jlc2V0X2Fzc2VydChzdHJ1 Y3QgcmVzZXRfY3RsICpyc3QpCi0rewotKwlyZXR1cm4gMDsKLSt9Ci0rCi0rc3RhdGljIGludCBi cmNtX3Jlc2NhbF9yZXNldF94bGF0ZShzdHJ1Y3QgcmVzZXRfY3RsICpyZXNldF9jdGwsCi0rCQkJ CSAgIHN0cnVjdCBvZm5vZGVfcGhhbmRsZV9hcmdzICphcmdzKQotK3sKLSsJLyogVGhpcyBpcyBu ZWVkZWQgaWYgI3Jlc2V0LWNlbGxzID09IDAuICovCi0rCXJldHVybiAwOwotK30KLSsKLStzdGF0 aWMgY29uc3Qgc3RydWN0IHJlc2V0X29wcyBicmNtX3Jlc2NhbF9yZXNldF9vcHMgPSB7Ci0rCS5y c3RfZGVhc3NlcnQgPSBicmNtX3Jlc2NhbF9yZXNldF9zZXQsCi0rCS5yc3RfYXNzZXJ0ID0gYnJj bV9yZXNjYWxfcmVzZXRfYXNzZXJ0LAotKwkub2ZfeGxhdGUgPSBicmNtX3Jlc2NhbF9yZXNldF94 bGF0ZSwKLSt9OwotKwotK3N0YXRpYyBpbnQgYnJjbV9yZXNjYWxfcmVzZXRfcHJvYmUoc3RydWN0 IHVkZXZpY2UgKmRldikKLSt7Ci0rCXN0cnVjdCBicmNtX3Jlc2NhbF9yZXNldCAqZGF0YSA9IGRl dl9nZXRfcHJpdihkZXYpOwotKwotKwlkYXRhLT5iYXNlID0gZGV2X3JlbWFwX2FkZHIoZGV2KTsK LSsJaWYgKCFkYXRhLT5iYXNlKQotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCi0rCXJldHVybiAwOwot K30KLSsKLStzdGF0aWMgY29uc3Qgc3RydWN0IHVkZXZpY2VfaWQgYnJjbV9yZXNjYWxfcmVzZXRf b2ZfbWF0Y2hbXSA9IHsKLSsJey5jb21wYXRpYmxlID0gImJyY20sYmNtNzIxNi1wY2llLXNhdGEt cmVzY2FsIn0sCi0rCXt9LAotK307Ci0rCi0rVV9CT09UX0RSSVZFUihicmNtc3RiX3Jlc2V0X3Jl c2NhbCkgPSB7Ci0rCS5uYW1lID0gImJyY21zdGItcmVzZXQtcmVzY2FsIiwKLSsJLmlkID0gVUNM QVNTX1JFU0VULAotKwkub2ZfbWF0Y2ggPSBicmNtX3Jlc2NhbF9yZXNldF9vZl9tYXRjaCwKLSsJ Lm9wcyA9ICZicmNtX3Jlc2NhbF9yZXNldF9vcHMsCi0rCS5wcm9iZSA9IGJyY21fcmVzY2FsX3Jl c2V0X3Byb2JlLAotKwkucHJpdl9hdXRvID0gc2l6ZW9mKHN0cnVjdCBicmNtX3Jlc2NhbF9yZXNl dCksCi0rfTsKLQotRnJvbSBwYXRjaHdvcmsgTW9uIEp1biAgMSAxMDozOTozMSAyMDI2Ci1Db250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAK LUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjog VG9yc3RlbiBEdXdlIDxkdXdlQGxzdC5kZT4KLVgtUGF0Y2h3b3JrLUlkOiAyMjQ3MzE4Ci1YLVBh dGNod29yay1EZWxlZ2F0ZTogcGJyb2JpbnNvbkBnbWFpbC5jb20KLVJldHVybi1QYXRoOiA8dS1i b290LWJvdW5jZXNAbGlzdHMuZGVueC5kZT4KLVgtT3JpZ2luYWwtVG86IGluY29taW5nQHBhdGNo d29yay5vemxhYnMub3JnCi1EZWxpdmVyZWQtVG86IHBhdGNod29yay1pbmNvbWluZ0BsZWdvbGFz Lm96bGFicy5vcmcKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsK LSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBhdXRob3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRl bnguZGUKLSAoY2xpZW50LWlwPTg1LjIxNC42Mi42MTsgaGVsbz1waG9ib3MuZGVueC5kZTsKLSBl bnZlbG9wZS1mcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU7IHJlY2VpdmVyPXBhdGNo d29yay5vemxhYnMub3JnKQotUmVjZWl2ZWQ6IGZyb20gcGhvYm9zLmRlbnguZGUgKHBob2Jvcy5k ZW54LmRlIFs4NS4yMTQuNjIuNjFdKQotCSh1c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRMU19B RVNfMjU2X0dDTV9TSEEzODQgKDI1Ni8yNTYgYml0cykKLQkga2V5LWV4Y2hhbmdlIHgyNTUxOSkK LQkoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJlcXVlc3RlZCkKLQlieSBsZWdvbGFzLm96bGFicy5v cmcgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIDRnVFZwaDJOdld6MXlEWQotCWZvciA8aW5jb21p bmdAcGF0Y2h3b3JrLm96bGFicy5vcmc+OyBNb24sIDAxIEp1biAyMDI2IDIwOjQwOjEyICsxMDAw IChBRVNUKQotUmVjZWl2ZWQ6IGZyb20gaDI4NTA2MTYuc3RyYXRvc2VydmVyLm5ldCAobG9jYWxo b3N0IFtJUHY2Ojo6MV0pCi0JYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFAg aWQgM0M0ODE4NDhCOTsKLQlNb24sICAxIEp1biAyMDI2IDEyOjM5OjM2ICswMjAwIChDRVNUKQot QXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gZG1hcmM9ZmFpbCAocD1u b25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1sc3QuZGUKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6 IHBob2Jvcy5kZW54LmRlOwotIHNwZj1wYXNzIHNtdHAubWFpbGZyb209dS1ib290LWJvdW5jZXNA bGlzdHMuZGVueC5kZQotUmVjZWl2ZWQ6IGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4LCBmcm9t IHVzZXJpZCAxMDkpCi0gaWQgMzM0ODE4NDhCNDsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOTozNSAr MDIwMCAoQ0VTVCkKLVgtU3BhbS1DaGVja2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAo MjAxOC0wOS0xMykgb24gcGhvYm9zLmRlbnguZGUKLVgtU3BhbS1MZXZlbDogCi1YLVNwYW0tU3Rh dHVzOiBObywgc2NvcmU9LTEuOSByZXF1aXJlZD01LjAgdGVzdHM9QkFZRVNfMDAsCi0gUkNWRF9J Tl9ETlNXTF9CTE9DS0VELFNQRl9IRUxPX05PTkUsU1BGX1BBU1MgYXV0b2xlYXJuPWhhbQotIGF1 dG9sZWFybl9mb3JjZT1ubyB2ZXJzaW9uPTMuNC4yCi1SZWNlaXZlZDogZnJvbSB2ZXJlaW4ubHN0 LmRlICh2ZXJlaW4ubHN0LmRlIFsyMTMuOTUuMTEuMjExXSkKLSAodXNpbmcgVExTdjEuMiB3aXRo IGNpcGhlciBFQ0RIRS1SU0EtQUVTMjU2LUdDTS1TSEEzODQgKDI1Ni8yNTYgYml0cykpCi0gKE5v IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1ZXN0ZWQpCi0gYnkgcGhvYm9zLmRlbnguZGUgKFBvc3Rm aXgpIHdpdGggRVNNVFBTIGlkIDM5QzY1ODQ4NzgKLSBmb3IgPHUtYm9vdEBsaXN0cy5kZW54LmRl PjsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOTozMyArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9u LVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwotIGRtYXJjPWZhaWwgKHA9bm9uZSBkaXM9bm9uZSkg aGVhZGVyLmZyb209bHN0LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5k ZTsgc3BmPXBhc3Mgc210cC5tYWlsZnJvbT1kdXdlQGxzdC5kZQotUmVjZWl2ZWQ6IGJ5IHZlcmVp bi5sc3QuZGUgKFBvc3RmaXgsIGZyb20gdXNlcmlkIDIwMDUpCi0gaWQgQkQ4Q0M2OEQwRDsgTW9u LCAgMSBKdW4gMjAyNiAxMjozOTozMSArMDIwMCAoQ0VTVCkKLUluLVJlcGx5LVRvOiA8MjAyNjA2 MDExMDM1NTcuMDIyRUI2OEIwNUB2ZXJlaW4ubHN0LmRlPgotUmVmZXJlbmNlczogPDIwMjYwNjAx MTAzNTU3LjAyMkVCNjhCMDVAdmVyZWluLmxzdC5kZT4KLVN1YmplY3Q6IFtQQVRDSCB2NSA2Lzld IHBjaTogYnJjbXN0YjogR2V0IGFuZCB1c2UgYnJpZGdlIGFuZCByZXNjYWwgcmVzZXQKLSBwcm9w ZXJ0aWVzCi1UbzogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZ21haWwuY29tPiwKLSBNYXR0 aGlhcyBCcnVnZ2VyIDxtYnJ1Z2dlckBzdXNlLmNvbT4KLUNjOiA9P3Vua25vd24tOGJpdD9xP1Rv bV9SaW5pXz0zQ3RyaW5pPTQwa29uc3Vsa289MkVjb209M0U9MkM9MjJKYW5fPUM0PThDZXI/PQot CT0/dW5rbm93bi04Yml0P3E/bT1DMz1BMWs9MjJfPTNDc2Fpcm9uPTQwc2Fpcm9uPTJFY3o9M0U9 MkNBbmRyZWFfZGVsbGFfUG9ydD89Ci0JPT91bmtub3duLThiaXQ/cT9hXz0zQ2FuZHJlYT0yRXBv cnRhPTQwc3VzZT0yRWNvbT0zRT0yQz0yMkl2YW5fVD0yRV9JdmFub3Y/PQotCT0/dW5rbm93bi04 Yml0P3E/PTIyXz0zQ2lpdmFub3Y9NDBzdXNlPTJFZGU9M0U9MkNfU3RhbmltaXJfVmFyYmFub3Zf PTNDc3Rhbj89Ci0JPT91bmtub3duLThiaXQ/cT9pbWlyPTJFdmFyYmFub3Y9NDBzdXNlPTJFY29t PTNFPTJDX09sZWtzaWlfTW9pc2llaWV2Xz0zQ09sPz0KLQk9P3Vua25vd24tOGJpdD9xP2Vrc2lp PTVGTW9pc2llaWV2PTQwZXBhbT0yRWNvbT0zRT0yQ19Wb2xvZHlteXJfQmFiY2h1a189M0M/PQot CT0/dW5rbm93bi04Yml0P3E/dm9sb2R5bXlyPTVGYmFiY2h1az00MGVwYW09MkVjb209M0U9MkNf TWFyZWtfVmFzdXRfPTNDbWFyZT89Ci0JPT91bmtub3duLThiaXQ/cT9rPTJFdmFzdXQrcmVuZXNh cz00MG1haWxib3g9MkVvcmc9M0U9MkNQYXVsX0Jhcmtlcl89M0NwYXVsPz0KLQk9P3Vua25vd24t OGJpdD9xPz0yRWJhcmtlcj0yRWN0PTQwYnA9MkVyZW5lc2FzPTJFY29tPTNFPTJDUGF0cmljZV9D aG90YXJkXz89Ci0JPT91bmtub3duLThiaXQ/cT89M0NwYXRyaWNlPTJFY2hvdGFyZD00MGZvc3M9 MkVzdD0yRWNvbT0zRT0yQ0NocmlzdGlhbl9NYXJhPz0KLQk9P3Vua25vd24tOGJpdD9xP25naV89 M0NhbnN1ZWxzbXRoPTQwZ21haWw9MkVjb209M0U9MkNQYXRyaWNrX0RlbGF1bmF5Xz0zQ3A/PQot CT0/dW5rbm93bi04Yml0P3E/YXRyaWNrPTJFZGVsYXVuYXk9NDBmb3NzPTJFc3Q9MkVjb209M0U9 MkNIdWFuX1pob3VfPTNDbWU/PQotCT0/dW5rbm93bi04Yml0P3E/PTQwcGVyMWN5Y2xlPTJFb3Jn PTNFPTJDR2FicmllbF9GZXJuYW5kZXpfPTNDZ2FicmllbD0yRWZlcj89Ci0JPT91bmtub3duLThi aXQ/cT9uYW5kZXo9NDBmb3NzPTJFc3Q9MkVjb209M0U9MkNLZXZlcl9ZYW5nXz0zQ2tldmVyPTJF eWFuZz89Ci0JPT91bmtub3duLThiaXQ/cT89NDByb2NrLWNoaXBzPTJFY29tPTNFPTJDSm9uYXNf S2FybG1hbl89M0Nqb25hcz00MGt3aWJvbz89Ci0JPT91bmtub3duLThiaXQ/cT89MkVzZT0zRT0y Q0pvc2VwaF9DaGVuXz0zQ2NoZW5qaD00MHJvY2stY2hpcHM9MkVjb209M0U9MkNFPz0KLQk9P3Vu a25vd24tOGJpdD9xP2xhaW5lX1poYW5nXz0zQ3poYW5ncWluZz00MHJvY2stY2hpcHM9MkVjb209 M0U9MkNfUGVkcm9fRmE/PQotCT0/dW5rbm93bi04Yml0P3E/bGNhdG9fPTNDcGZhbGNhdG89NDBz dXNlPTJFZGU9M0U9MkN1LWJvb3Q9NDBsaXN0cz0yRWRlbng/PQotCT0/dW5rbm93bi04Yml0P3E/ PTJFZGU/PQotTWVzc2FnZS1JZDogPDIwMjYwNjAxMTAzOTMxLkJEOENDNjhEMERAdmVyZWluLmxz dC5kZT4KLURhdGU6IE1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6MzEgKzAyMDAgKENFU1QpCi1Gcm9t OiBkdXdlQGxzdC5kZSAoVG9yc3RlbiBEdXdlKQotWC1CZWVuVGhlcmU6IHUtYm9vdEBsaXN0cy5k ZW54LmRlCi1YLU1haWxtYW4tVmVyc2lvbjogMi4xLjM5Ci1QcmVjZWRlbmNlOiBsaXN0Ci1MaXN0 LUlkOiBVLUJvb3QgZGlzY3Vzc2lvbiA8dS1ib290Lmxpc3RzLmRlbnguZGU+Ci1MaXN0LVVuc3Vi c2NyaWJlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL29wdGlvbnMvdS1ib290PiwKLSA8bWFpbHRv OnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD11bnN1YnNjcmliZT4KLUxpc3Qt QXJjaGl2ZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9waXBlcm1haWwvdS1ib290Lz4KLUxpc3Qt UG9zdDogPG1haWx0bzp1LWJvb3RAbGlzdHMuZGVueC5kZT4KLUxpc3QtSGVscDogPG1haWx0bzp1 LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9aGVscD4KLUxpc3QtU3Vic2NyaWJl OiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL2xpc3RpbmZvL3UtYm9vdD4sCi0gPG1haWx0bzp1LWJv b3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9c3Vic2NyaWJlPgotRXJyb3JzLVRvOiB1 LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlCi1TZW5kZXI6ICJVLUJvb3QiIDx1LWJvb3QtYm91 bmNlc0BsaXN0cy5kZW54LmRlPgotWC1WaXJ1cy1TY2FubmVkOiBjbGFtYXYtbWlsdGVyIDAuMTAz LjggYXQgcGhvYm9zLmRlbnguZGUKLVgtVmlydXMtU3RhdHVzOiBDbGVhbgotCi1Gcm9tOiBUb3Jz dGVuIER1d2UgPGR1d2VAc3VzZS5kZT4KLQotQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIHRyZWUg aGFzIG5vZGVzIGZvciB0aGUgdHdvIHJlc2V0IGNvbnRyb2xzIGFuZCB1c2UKLXRoZW0gaWYgc28u Ci0KLVNpZ25lZC1vZmYtYnk6IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBzdXNlLmRlPgotQ28tYXV0aG9y ZWQtYnk6IE9sZWtzaWkgTW9pc2llaWV2IDxvbGVrc2lpX21vaXNpZWlldkBlcGFtLmNvbT4KLVRl c3RlZC1ieTogUGVkcm8gRmFsY2F0byA8cGZhbGNhdG9Ac3VzZS5kZT4KLVJldmlld2VkLWJ5OiBO ZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4KLS0tLQotIGRyaXZlcnMv cGNpL3BjaWVfYnJjbXN0Yi5jIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jIGIvZHJpdmVycy9wY2kv cGNpZV9icmNtc3RiLmMKLWluZGV4IDVjYjM5ZGZkMTM2Li4wMTJiNTAxMDc4YSAxMDA2NDQKLS0t LSBhL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jCi0rKysgYi9kcml2ZXJzL3BjaS9wY2llX2Jy Y21zdGIuYwotQEAgLTIxLDYgKzIxLDcgQEAKLSAjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4K LSAjaW5jbHVkZSA8bGludXgvbG9nMi5oPgotICNpbmNsdWRlIDxsaW51eC9pb3BvbGwuaD4KLSsj aW5jbHVkZSA8cmVzZXQuaD4KLSAKLSAvKiBQQ0llIHBhcmFtZXRlcnMgKi8KLSAjZGVmaW5lIEJS Q01fTlVNX1BDSUVfT1VUX1dJTlMJCQkJNAotQEAgLTc5LDYgKzgwLDggQEAgc3RydWN0IGJyY21f cGNpZSB7Ci0gCi0gCWludAkJCWdlbjsKLSAJYm9vbAkJCXNzYzsKLSsJc3RydWN0IHJlc2V0X2N0 bAlyZXNjYWw7Ci0rCXN0cnVjdCByZXNldF9jdGwJYnJpZGdlX3Jlc2V0OwotIAljb25zdCBzdHJ1 Y3QgYnJjbV9wY2llX2NmZ19kYXRhICpwY2llX2NmZzsKLSB9OwotIAotQEAgLTE0MywxNCArMTQ2 LDU4IEBAIHN0YXRpYyB2b2lkIGJyY21fcGNpZV9wZXJzdF9zZXRfMjcxMihzdHJ1Y3QgYnJjbV9w Y2llICpwY2llLCB1MzIgdmFsKQotIAl3cml0ZWwodG1wLCBwY2llLT5iYXNlICsgUENJRV9NSVND X1BDSUVfQ1RSTCk7Ci0gfQotIAotLXN0YXRpYyB2b2lkIGJyY21fcGNpZV9icmlkZ2Vfc3dfaW5p dF9zZXQoc3RydWN0IGJyY21fcGNpZSAqcGNpZSwgdTMyIHZhbCkKLStzdGF0aWMgaW50IGJyY21f cGNpZV9nZXRfcmVzZXRzX2R0KHN0cnVjdCB1ZGV2aWNlICpkZXYpCi0gewotKwlzdHJ1Y3QgYnJj bV9wY2llICpwY2llID0gZGV2X2dldF9wcml2KGRldik7Ci0rCWludCByZXQ7Ci0rCi0rCXJldCA9 IHJlc2V0X2dldF9ieV9uYW1lKGRldiwgInJlc2NhbCIsICZwY2llLT5yZXNjYWwpOwotKwlpZiAo cmV0KSB7Ci0rCQlwcmludGYoIlVuYWJsZSB0byBnZXQgcmVzY2FsIHJlc2V0XG4iKTsKLSsJCXJl dHVybiByZXQ7Ci0rCX0KLSsKLSsJcmV0ID0gcmVzZXRfZ2V0X2J5X25hbWUoZGV2LCAiYnJpZGdl IiwgJnBjaWUtPmJyaWRnZV9yZXNldCk7Ci0rCWlmIChyZXQpCi0rCQlwcmludGYoIlVuYWJsZSB0 byBnZXQgYnJpZGdlIHJlc2V0XG4iKTsKLSsKLSsJcmV0dXJuIHJldDsKLSt9Ci0rCi0rc3RhdGlj IGludCBicmNtX3BjaWVfZG9fcmVzZXQoc3RydWN0IHVkZXZpY2UgKmRldikKLSt7Ci0rCXN0cnVj dCBicmNtX3BjaWUgKnBjaWUgPSBkZXZfZ2V0X3ByaXYoZGV2KTsKLSsJaW50IHJldDsKLSsKLSsJ cmV0ID0gcmVzZXRfZGVhc3NlcnQoJnBjaWUtPnJlc2NhbCk7Ci0rCWlmIChyZXQpCi0rCQlwcmlu dGYoImZhaWxlZCB0byBkZWFzc2VydCAncmVzY2FsJ1xuIik7Ci0rCXJldHVybiByZXQ7Ci0rfQot KwotK3N0YXRpYyBpbnQgYnJjbV9wY2llX2JyaWRnZV9zd19pbml0X3NldChzdHJ1Y3QgYnJjbV9w Y2llICpwY2llLCB1MzIgdmFsKQotK3sKLSsJaW50IHJldCA9IDA7Ci0rCi0rCWlmIChyZXNldF92 YWxpZCgmcGNpZS0+YnJpZGdlX3Jlc2V0KSkKLSsJewotKwkJaWYgKHZhbCkKLSsJCQlyZXQgPSBy ZXNldF9hc3NlcnQoJnBjaWUtPmJyaWRnZV9yZXNldCk7Ci0rCQllbHNlCi0rCQkJcmV0ID0gcmVz ZXRfZGVhc3NlcnQoJnBjaWUtPmJyaWRnZV9yZXNldCk7Ci0rCQlpZiAocmV0KQotKwkJCWxvZ19l cnIoImZhaWxlZCB0byAlc2Fzc2VydCBicmlkZ2UgcmVzZXQsIGVycj0lZFxuIiwKLSsJCQkJdmFs ID8gIiIgOiAiZGUiLCByZXQpOwotKwkJcmV0dXJuIHJldDsKLSsJfQotKwotIAlpZiAodmFsKQot IAkJc2V0Yml0c19sZTMyKHBjaWUtPmJhc2UgKyBwY2llLT5wY2llX2NmZy0+b2Zmc2V0c1tSR1Ix X1NXX0lOSVRfMV0sCi0gCQkJICAgICBSR1IxX1NXX0lOSVRfMV9JTklUX01BU0spOwotIAllbHNl Ci0gCQljbHJiaXRzX2xlMzIocGNpZS0+YmFzZSArIHBjaWUtPnBjaWVfY2ZnLT5vZmZzZXRzW1JH UjFfU1dfSU5JVF8xXSwKLSAJCQkgICAgIFJHUjFfU1dfSU5JVF8xX0lOSVRfTUFTSyk7Ci0rCXJl dHVybiAwOwotIH0KLSAKLSAvKioKLUBAIC00MDUsMTYgKzQ1MiwyNSBAQCBzdGF0aWMgaW50IGJy Y21fcGNpZV9wcm9iZShzdHJ1Y3QgdWRldmljZSAqZGV2KQotIAlpbnQgbnVtX291dF93aW5zID0g MDsKLSAJdTY0IHJjX2JhcjJfb2Zmc2V0LCByY19iYXIyX3NpemU7Ci0gCXVuc2lnbmVkIGludCBz Y2Jfc2l6ZV92YWw7Ci0tCWludCBpLCByZXQ7Ci0rCWludCBpLCByZXQgPSAwOwotIAl1MTYgbmx3 LCBjbHMsIGxua3N0YTsKLSAJdTMyIHRtcDsKLSAKLSsJLyoKLSsJICogRW5zdXJlIHJlc2NhbCBy ZXNldCBmb3IgQkNNMjcxMiBpcyByZWFsbHkgZGlzYWJsZWQuCi0rCSAqLwotKwlpZiAocGNpZS0+ cGNpZV9jZmctPnR5cGUgPT0gQkNNMjcxMikKLSsJCXJldCA9IGJyY21fcGNpZV9kb19yZXNldChk ZXYpOwotKwlpZiAocmV0KQotKwkJcmV0dXJuIHJldDsKLSAJLyoKLSAJICogUmVzZXQgdGhlIGJy aWRnZSwgYXNzZXJ0IHRoZSBmdW5kYW1lbnRhbCByZXNldC4gTm90ZSBmb3Igc29tZSBTb0NzLAot IAkgKiBlLmcuIEJDTTcyNzgsIHRoZSBmdW5kYW1lbnRhbCByZXNldCBzaG91bGQgbm90IGJlIGFz c2VydGVkIGhlcmUuCi0gCSAqIFRoaXMgd2lsbCBuZWVkIHRvIGJlIGNoYW5nZWQgd2hlbiBzdXBw b3J0IGZvciBvdGhlciBTb0NzIGlzIGFkZGVkLgotIAkgKi8KLS0JYnJjbV9wY2llX2JyaWRnZV9z d19pbml0X3NldChwY2llLCAxKTsKLSsJcmV0ID0gYnJjbV9wY2llX2JyaWRnZV9zd19pbml0X3Nl dChwY2llLCAxKTsKLSsJaWYgKHJldCkKLSsJCXJldHVybiByZXQ7Ci0gCWlmIChwY2llLT5wY2ll X2NmZy0+dHlwZSAhPSBCQ00yNzEyKQotIAkJcGNpZS0+cGNpZV9jZmctPnBlcnN0X3NldChwY2ll LCAxKTsKLSAJLyoKLUBAIC00MjQsOCArNDgwLDkgQEAgc3RhdGljIGludCBicmNtX3BjaWVfcHJv YmUoc3RydWN0IHVkZXZpY2UgKmRldikKLSAJdWRlbGF5KDEwMCk7Ci0gCi0gCS8qIFRha2UgdGhl IGJyaWRnZSBvdXQgb2YgcmVzZXQgKi8KLS0JYnJjbV9wY2llX2JyaWRnZV9zd19pbml0X3NldChw Y2llLCAwKTsKLS0KLSsJcmV0ID0gYnJjbV9wY2llX2JyaWRnZV9zd19pbml0X3NldChwY2llLCAw KTsKLSsJaWYgKHJldCkKLSsJCXJldHVybiByZXQ7Ci0gCWNscmJpdHNfbGUzMihiYXNlICsgcGNp ZS0+cGNpZV9jZmctPm9mZnNldHNbUENJRV9IQVJEX0RFQlVHXSwKLSAJCSAgICAgUENJRV9IQVJE X0RFQlVHX1NFUkRFU19JRERRX01BU0spOwotIAotQEAgLTYwNyw2ICs2NjQsMTAgQEAgc3RhdGlj IGludCBicmNtX3BjaWVfb2ZfdG9fcGxhdChzdHJ1Y3QgdWRldmljZSAqZGV2KQotIAkJcGNpZS0+ Z2VuID0gbWF4X2xpbmtfc3BlZWQ7Ci0gCi0gCXBjaWUtPnBjaWVfY2ZnID0gKGNvbnN0IHN0cnVj dCBicmNtX3BjaWVfY2ZnX2RhdGEgKilkZXZfZ2V0X2RyaXZlcl9kYXRhKGRldik7Ci0rCi0rCWlm IChwY2llLT5wY2llX2NmZy0+dHlwZSA9PSBCQ00yNzEyKQotKwkJcmV0dXJuIGJyY21fcGNpZV9n ZXRfcmVzZXRzX2R0KGRldik7Ci0rCi0gCXJldHVybiAwOwotIH0KLSAKLQotRnJvbSBwYXRjaHdv cmsgTW9uIEp1biAgMSAxMDozOTozNCAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDdiaXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjogVG9yc3RlbiBEdXdlIDxkdXdlQGxzdC5k ZT4KLVgtUGF0Y2h3b3JrLUlkOiAyMjQ3MzE5Ci1YLVBhdGNod29yay1EZWxlZ2F0ZTogcGJyb2Jp bnNvbkBnbWFpbC5jb20KLVJldHVybi1QYXRoOiA8dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5k ZT4KLVgtT3JpZ2luYWwtVG86IGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnCi1EZWxpdmVy ZWQtVG86IHBhdGNod29yay1pbmNvbWluZ0BsZWdvbGFzLm96bGFicy5vcmcKLUF1dGhlbnRpY2F0 aW9uLVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBh dXRob3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xpZW50LWlwPTJhMDE6 MjM4OjQzOGI6YzUwMDoxNzNkOjlmNTI6ZGRhYjplZTAxOyBoZWxvPXBob2Jvcy5kZW54LmRlOwot IGVudmVsb3BlLWZyb209dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZTsgcmVjZWl2ZXI9cGF0 Y2h3b3JrLm96bGFicy5vcmcpCi1SZWNlaXZlZDogZnJvbSBwaG9ib3MuZGVueC5kZSAocGhvYm9z LmRlbnguZGUKLSBbSVB2NjoyYTAxOjIzODo0MzhiOmM1MDA6MTczZDo5ZjUyOmRkYWI6ZWUwMV0p Ci0JKHVzaW5nIFRMU3YxLjMgd2l0aCBjaXBoZXIgVExTX0FFU18yNTZfR0NNX1NIQTM4NCAoMjU2 LzI1NiBiaXRzKQotCSBrZXktZXhjaGFuZ2UgeDI1NTE5KQotCShObyBjbGllbnQgY2VydGlmaWNh dGUgcmVxdWVzdGVkKQotCWJ5IGxlZ29sYXMub3psYWJzLm9yZyAoUG9zdGZpeCkgd2l0aCBFU01U UFMgaWQgNGdUVnB2Mm5wSnoxeURZCi0JZm9yIDxpbmNvbWluZ0BwYXRjaHdvcmsub3psYWJzLm9y Zz47IE1vbiwgMDEgSnVuIDIwMjYgMjA6NDA6MjMgKzEwMDAgKEFFU1QpCi1SZWNlaXZlZDogZnJv bSBoMjg1MDYxNi5zdHJhdG9zZXJ2ZXIubmV0IChsb2NhbGhvc3QgW0lQdjY6OjoxXSkKLQlieSBw aG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01UUCBpZCA0Q0IwMDg0ODk4OwotCU1vbiwg IDEgSnVuIDIwMjYgMTI6Mzk6NDEgKzAyMDAgKENFU1QpCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRz OiBwaG9ib3MuZGVueC5kZTsKLSBkbWFyYz1mYWlsIChwPW5vbmUgZGlzPW5vbmUpIGhlYWRlci5m cm9tPWxzdC5kZQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gc3Bm PXBhc3Mgc210cC5tYWlsZnJvbT11LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlCi1SZWNlaXZl ZDogYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgsIGZyb20gdXNlcmlkIDEwOSkKLSBpZCAwRjc5 Mzg0OEIwOyBNb24sICAxIEp1biAyMDI2IDEyOjM5OjM5ICswMjAwIChDRVNUKQotWC1TcGFtLUNo ZWNrZXItVmVyc2lvbjogU3BhbUFzc2Fzc2luIDMuNC4yICgyMDE4LTA5LTEzKSBvbiBwaG9ib3Mu ZGVueC5kZQotWC1TcGFtLUxldmVsOiAKLVgtU3BhbS1TdGF0dXM6IE5vLCBzY29yZT0tMS45IHJl cXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18wMCwKLSBSQ1ZEX0lOX0ROU1dMX0JMT0NLRUQsU1BGX0hF TE9fTk9ORSxTUEZfUEFTUyBhdXRvbGVhcm49aGFtCi0gYXV0b2xlYXJuX2ZvcmNlPW5vIHZlcnNp b249My40LjIKLVJlY2VpdmVkOiBmcm9tIHZlcmVpbi5sc3QuZGUgKHZlcmVpbi5sc3QuZGUgWzIx My45NS4xMS4yMTFdKQotICh1c2luZyBUTFN2MS4yIHdpdGggY2lwaGVyIEVDREhFLVJTQS1BRVMy NTYtR0NNLVNIQTM4NCAoMjU2LzI1NiBiaXRzKSkKLSAoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJl cXVlc3RlZCkKLSBieSBwaG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01UUFMgaWQgQkZF ODE4NDg5RQotIGZvciA8dS1ib290QGxpc3RzLmRlbnguZGU+OyBNb24sICAxIEp1biAyMDI2IDEy OjM5OjM1ICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbngu ZGU7Ci0gZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1sc3QuZGUKLUF1 dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOyBzcGY9cGFzcyBzbXRwLm1haWxm cm9tPWR1d2VAbHN0LmRlCi1SZWNlaXZlZDogYnkgdmVyZWluLmxzdC5kZSAoUG9zdGZpeCwgZnJv bSB1c2VyaWQgMjAwNSkKLSBpZCA1QjhDQzY4RDBFOyBNb24sICAxIEp1biAyMDI2IDEyOjM5OjM0 ICswMjAwIChDRVNUKQotSW4tUmVwbHktVG86IDwyMDI2MDYwMTEwMzU1Ny4wMjJFQjY4QjA1QHZl cmVpbi5sc3QuZGU+Ci1SZWZlcmVuY2VzOiA8MjAyNjA2MDExMDM1NTcuMDIyRUI2OEIwNUB2ZXJl aW4ubHN0LmRlPgotU3ViamVjdDogW1BBVENIIHY1IDcvOV0gcGNpOiBicmNtc3RiOiBGaXggaUJB UiBzaXplIGNhbGN1bGF0aW9uCi1UbzogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZ21haWwu Y29tPiwKLSBNYXR0aGlhcyBCcnVnZ2VyIDxtYnJ1Z2dlckBzdXNlLmNvbT4KLUNjOiA9P3Vua25v d24tOGJpdD9xP1RvbV9SaW5pXz0zQ3RyaW5pPTQwa29uc3Vsa289MkVjb209M0U9MkM9MjJKYW5f PUM0PThDZXI/PQotCT0/dW5rbm93bi04Yml0P3E/bT1DMz1BMWs9MjJfPTNDc2Fpcm9uPTQwc2Fp cm9uPTJFY3o9M0U9MkNBbmRyZWFfZGVsbGFfUG9ydD89Ci0JPT91bmtub3duLThiaXQ/cT9hXz0z Q2FuZHJlYT0yRXBvcnRhPTQwc3VzZT0yRWNvbT0zRT0yQz0yMkl2YW5fVD0yRV9JdmFub3Y/PQot CT0/dW5rbm93bi04Yml0P3E/PTIyXz0zQ2lpdmFub3Y9NDBzdXNlPTJFZGU9M0U9MkNfU3Rhbmlt aXJfVmFyYmFub3ZfPTNDc3Rhbj89Ci0JPT91bmtub3duLThiaXQ/cT9pbWlyPTJFdmFyYmFub3Y9 NDBzdXNlPTJFY29tPTNFPTJDX09sZWtzaWlfTW9pc2llaWV2Xz0zQ09sPz0KLQk9P3Vua25vd24t OGJpdD9xP2Vrc2lpPTVGTW9pc2llaWV2PTQwZXBhbT0yRWNvbT0zRT0yQ19Wb2xvZHlteXJfQmFi Y2h1a189M0M/PQotCT0/dW5rbm93bi04Yml0P3E/dm9sb2R5bXlyPTVGYmFiY2h1az00MGVwYW09 MkVjb209M0U9MkNfTWFyZWtfVmFzdXRfPTNDbWFyZT89Ci0JPT91bmtub3duLThiaXQ/cT9rPTJF dmFzdXQrcmVuZXNhcz00MG1haWxib3g9MkVvcmc9M0U9MkNQYXVsX0Jhcmtlcl89M0NwYXVsPz0K LQk9P3Vua25vd24tOGJpdD9xPz0yRWJhcmtlcj0yRWN0PTQwYnA9MkVyZW5lc2FzPTJFY29tPTNF PTJDUGF0cmljZV9DaG90YXJkXz89Ci0JPT91bmtub3duLThiaXQ/cT89M0NwYXRyaWNlPTJFY2hv dGFyZD00MGZvc3M9MkVzdD0yRWNvbT0zRT0yQ0NocmlzdGlhbl9NYXJhPz0KLQk9P3Vua25vd24t OGJpdD9xP25naV89M0NhbnN1ZWxzbXRoPTQwZ21haWw9MkVjb209M0U9MkNQYXRyaWNrX0RlbGF1 bmF5Xz0zQ3A/PQotCT0/dW5rbm93bi04Yml0P3E/YXRyaWNrPTJFZGVsYXVuYXk9NDBmb3NzPTJF c3Q9MkVjb209M0U9MkNIdWFuX1pob3VfPTNDbWU/PQotCT0/dW5rbm93bi04Yml0P3E/PTQwcGVy MWN5Y2xlPTJFb3JnPTNFPTJDR2FicmllbF9GZXJuYW5kZXpfPTNDZ2FicmllbD0yRWZlcj89Ci0J PT91bmtub3duLThiaXQ/cT9uYW5kZXo9NDBmb3NzPTJFc3Q9MkVjb209M0U9MkNLZXZlcl9ZYW5n Xz0zQ2tldmVyPTJFeWFuZz89Ci0JPT91bmtub3duLThiaXQ/cT89NDByb2NrLWNoaXBzPTJFY29t PTNFPTJDSm9uYXNfS2FybG1hbl89M0Nqb25hcz00MGt3aWJvbz89Ci0JPT91bmtub3duLThiaXQ/ cT89MkVzZT0zRT0yQ0pvc2VwaF9DaGVuXz0zQ2NoZW5qaD00MHJvY2stY2hpcHM9MkVjb209M0U9 MkNFPz0KLQk9P3Vua25vd24tOGJpdD9xP2xhaW5lX1poYW5nXz0zQ3poYW5ncWluZz00MHJvY2st Y2hpcHM9MkVjb209M0U9MkNfUGVkcm9fRmE/PQotCT0/dW5rbm93bi04Yml0P3E/bGNhdG9fPTND cGZhbGNhdG89NDBzdXNlPTJFZGU9M0U9MkN1LWJvb3Q9NDBsaXN0cz0yRWRlbng/PQotCT0/dW5r bm93bi04Yml0P3E/PTJFZGU/PQotTWVzc2FnZS1JZDogPDIwMjYwNjAxMTAzOTM0LjVCOENDNjhE MEVAdmVyZWluLmxzdC5kZT4KLURhdGU6IE1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6MzQgKzAyMDAg KENFU1QpCi1Gcm9tOiBkdXdlQGxzdC5kZSAoVG9yc3RlbiBEdXdlKQotWC1CZWVuVGhlcmU6IHUt Ym9vdEBsaXN0cy5kZW54LmRlCi1YLU1haWxtYW4tVmVyc2lvbjogMi4xLjM5Ci1QcmVjZWRlbmNl OiBsaXN0Ci1MaXN0LUlkOiBVLUJvb3QgZGlzY3Vzc2lvbiA8dS1ib290Lmxpc3RzLmRlbnguZGU+ Ci1MaXN0LVVuc3Vic2NyaWJlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL29wdGlvbnMvdS1ib290 PiwKLSA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD11bnN1YnNj cmliZT4KLUxpc3QtQXJjaGl2ZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9waXBlcm1haWwvdS1i b290Lz4KLUxpc3QtUG9zdDogPG1haWx0bzp1LWJvb3RAbGlzdHMuZGVueC5kZT4KLUxpc3QtSGVs cDogPG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9aGVscD4KLUxp c3QtU3Vic2NyaWJlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL2xpc3RpbmZvL3UtYm9vdD4sCi0g PG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9c3Vic2NyaWJlPgot RXJyb3JzLVRvOiB1LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlCi1TZW5kZXI6ICJVLUJvb3Qi IDx1LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlPgotWC1WaXJ1cy1TY2FubmVkOiBjbGFtYXYt bWlsdGVyIDAuMTAzLjggYXQgcGhvYm9zLmRlbnguZGUKLVgtVmlydXMtU3RhdHVzOiBDbGVhbgot Ci1Gcm9tOiBUb3JzdGVuIER1d2UgPGR1d2VAc3VzZS5kZT4KLQotRml4IGluYm91bmQgd2luZG93 IHNpemUgY2FsY3VsYXRpb24sIGxpa2UgTGludXggY29tbWl0IDI1YTk4YzcyNzAxNTYuCi0KLVNp Z25lZC1vZmYtYnk6IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBzdXNlLmRlPgotVGVzdGVkLWJ5OiBQZWRy byBGYWxjYXRvIDxwZmFsY2F0b0BzdXNlLmRlPgotUmV2aWV3ZWQtYnk6IE5laWwgQXJtc3Ryb25n IDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPgotLS0tCi0gZHJpdmVycy9wY2kvcGNpZV9icmNt c3RiLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpZV9icmNtc3RiLmMgYi9kcml2 ZXJzL3BjaS9wY2llX2JyY21zdGIuYwotaW5kZXggMDEyYjUwMTA3OGEuLjE2NGQ4ZTJiN2ZlIDEw MDY0NAotLS0tIGEvZHJpdmVycy9wY2kvcGNpZV9icmNtc3RiLmMKLSsrKyBiL2RyaXZlcnMvcGNp L3BjaWVfYnJjbXN0Yi5jCi1AQCAtMTAxLDggKzEwMSw4IEBAIHN0YXRpYyBpbnQgYnJjbV9wY2ll X2VuY29kZV9pYmFyX3NpemUodTY0IHNpemUpCi0gCWlmIChsb2cyX2luID49IDEyICYmIGxvZzJf aW4gPD0gMTUpCi0gCQkvKiBDb3ZlcnMgNEtCIHRvIDMyS0IgKGluY2x1c2l2ZSkgKi8KLSAJCXJl dHVybiAobG9nMl9pbiAtIDEyKSArIDB4MWM7Ci0tCWVsc2UgaWYgKGxvZzJfaW4gPj0gMTYgJiYg bG9nMl9pbiA8PSAzNykKLS0JCS8qIENvdmVycyA2NEtCIHRvIDMyR0IsIChpbmNsdXNpdmUpICov Ci0rCWVsc2UgaWYgKGxvZzJfaW4gPj0gMTYgJiYgbG9nMl9pbiA8PSAzNikKLSsJCS8qIENvdmVy cyA2NEtCIHRvIDY0R0IsIChpbmNsdXNpdmUpICovCi0gCQlyZXR1cm4gbG9nMl9pbiAtIDE1Owot IAotIAkvKiBTb21ldGhpbmcgaXMgYXdyeSBzbyBkaXNhYmxlICovCi0KLUZyb20gcGF0Y2h3b3Jr IE1vbiBKdW4gIDEgMTA6Mzk6MzYgMjAyNgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PSJ1dGYtOCIKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA3Yml0Ci1YLVBhdGNod29yay1TdWJtaXR0ZXI6IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBsc3QuZGU+ Ci1YLVBhdGNod29yay1JZDogMjI0NzMyMAotWC1QYXRjaHdvcmstRGVsZWdhdGU6IHBicm9iaW5z b25AZ21haWwuY29tCi1SZXR1cm4tUGF0aDogPHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU+ Ci1YLU9yaWdpbmFsLVRvOiBpbmNvbWluZ0BwYXRjaHdvcmsub3psYWJzLm9yZwotRGVsaXZlcmVk LVRvOiBwYXRjaHdvcmstaW5jb21pbmdAbGVnb2xhcy5vemxhYnMub3JnCi1BdXRoZW50aWNhdGlv bi1SZXN1bHRzOiBsZWdvbGFzLm96bGFicy5vcmc7Ci0gc3BmPXBhc3MgKHNlbmRlciBTUEYgYXV0 aG9yaXplZCkgc210cC5tYWlsZnJvbT1saXN0cy5kZW54LmRlCi0gKGNsaWVudC1pcD0yYTAxOjIz ODo0MzhiOmM1MDA6MTczZDo5ZjUyOmRkYWI6ZWUwMTsgaGVsbz1waG9ib3MuZGVueC5kZTsKLSBl bnZlbG9wZS1mcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU7IHJlY2VpdmVyPXBhdGNo d29yay5vemxhYnMub3JnKQotUmVjZWl2ZWQ6IGZyb20gcGhvYm9zLmRlbnguZGUgKHBob2Jvcy5k ZW54LmRlCi0gW0lQdjY6MmEwMToyMzg6NDM4YjpjNTAwOjE3M2Q6OWY1MjpkZGFiOmVlMDFdKQot CSh1c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgKDI1Ni8y NTYgYml0cykKLQkga2V5LWV4Y2hhbmdlIHgyNTUxOSkKLQkoTm8gY2xpZW50IGNlcnRpZmljYXRl IHJlcXVlc3RlZCkKLQlieSBsZWdvbGFzLm96bGFicy5vcmcgKFBvc3RmaXgpIHdpdGggRVNNVFBT IGlkIDRnVFZxNjE1TTl6MXlEWQotCWZvciA8aW5jb21pbmdAcGF0Y2h3b3JrLm96bGFicy5vcmc+ OyBNb24sIDAxIEp1biAyMDI2IDIwOjQwOjM0ICsxMDAwIChBRVNUKQotUmVjZWl2ZWQ6IGZyb20g aDI4NTA2MTYuc3RyYXRvc2VydmVyLm5ldCAobG9jYWxob3N0IFtJUHY2Ojo6MV0pCi0JYnkgcGhv Ym9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFAgaWQgODQ1RTQ4NDhDNTsKLQlNb24sICAx IEp1biAyMDI2IDEyOjM5OjQzICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czog cGhvYm9zLmRlbnguZGU7Ci0gZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJv bT1sc3QuZGUKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwotIHNwZj1w YXNzIHNtdHAubWFpbGZyb209dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZQotUmVjZWl2ZWQ6 IGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4LCBmcm9tIHVzZXJpZCAxMDkpCi0gaWQgMDk4QkQ4 NDhCNDsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOTo0MCArMDIwMCAoQ0VTVCkKLVgtU3BhbS1DaGVj a2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAoMjAxOC0wOS0xMykgb24gcGhvYm9zLmRl bnguZGUKLVgtU3BhbS1MZXZlbDogCi1YLVNwYW0tU3RhdHVzOiBObywgc2NvcmU9LTEuOSByZXF1 aXJlZD01LjAgdGVzdHM9QkFZRVNfMDAsCi0gUkNWRF9JTl9ETlNXTF9CTE9DS0VELFNQRl9IRUxP X05PTkUsU1BGX1BBU1MgYXV0b2xlYXJuPWhhbQotIGF1dG9sZWFybl9mb3JjZT1ubyB2ZXJzaW9u PTMuNC4yCi1SZWNlaXZlZDogZnJvbSB2ZXJlaW4ubHN0LmRlICh2ZXJlaW4ubHN0LmRlIFsyMTMu OTUuMTEuMjExXSkKLSAodXNpbmcgVExTdjEuMiB3aXRoIGNpcGhlciBFQ0RIRS1SU0EtQUVTMjU2 LUdDTS1TSEEzODQgKDI1Ni8yNTYgYml0cykpCi0gKE5vIGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1 ZXN0ZWQpCi0gYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIEYxNDdE ODQ4NzgKLSBmb3IgPHUtYm9vdEBsaXN0cy5kZW54LmRlPjsgTW9uLCAgMSBKdW4gMjAyNiAxMjoz OTozNyArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRl OwotIGRtYXJjPWZhaWwgKHA9bm9uZSBkaXM9bm9uZSkgaGVhZGVyLmZyb209bHN0LmRlCi1BdXRo ZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsgc3BmPXBhc3Mgc210cC5tYWlsZnJv bT1kdXdlQGxzdC5kZQotUmVjZWl2ZWQ6IGJ5IHZlcmVpbi5sc3QuZGUgKFBvc3RmaXgsIGZyb20g dXNlcmlkIDIwMDUpCi0gaWQgQTFBMzA2OEJGRTsgTW9uLCAgMSBKdW4gMjAyNiAxMjozOTozNiAr MDIwMCAoQ0VTVCkKLUluLVJlcGx5LVRvOiA8MjAyNjA2MDExMDM1NTcuMDIyRUI2OEIwNUB2ZXJl aW4ubHN0LmRlPgotUmVmZXJlbmNlczogPDIwMjYwNjAxMTAzNTU3LjAyMkVCNjhCMDVAdmVyZWlu LmxzdC5kZT4KLVN1YmplY3Q6IFtQQVRDSCB2NSA4LzldIHBjaTogYnJjbXN0YjogcmV3b3JrIGlC QVIgaGFuZGxpbmcKLVRvOiBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBnbWFpbC5jb20+LAot IE1hdHRoaWFzIEJydWdnZXIgPG1icnVnZ2VyQHN1c2UuY29tPgotQ2M6ID0/dW5rbm93bi04Yml0 P3E/VG9tX1JpbmlfPTNDdHJpbmk9NDBrb25zdWxrbz0yRWNvbT0zRT0yQz0yMkphbl89QzQ9OENl cj89Ci0JPT91bmtub3duLThiaXQ/cT9tPUMzPUExaz0yMl89M0NzYWlyb249NDBzYWlyb249MkVj ej0zRT0yQ0FuZHJlYV9kZWxsYV9Qb3J0Pz0KLQk9P3Vua25vd24tOGJpdD9xP2FfPTNDYW5kcmVh PTJFcG9ydGE9NDBzdXNlPTJFY29tPTNFPTJDPTIySXZhbl9UPTJFX0l2YW5vdj89Ci0JPT91bmtu b3duLThiaXQ/cT89MjJfPTNDaWl2YW5vdj00MHN1c2U9MkVkZT0zRT0yQ19TdGFuaW1pcl9WYXJi YW5vdl89M0NzdGFuPz0KLQk9P3Vua25vd24tOGJpdD9xP2ltaXI9MkV2YXJiYW5vdj00MHN1c2U9 MkVjb209M0U9MkNfT2xla3NpaV9Nb2lzaWVpZXZfPTNDT2w/PQotCT0/dW5rbm93bi04Yml0P3E/ ZWtzaWk9NUZNb2lzaWVpZXY9NDBlcGFtPTJFY29tPTNFPTJDX1ZvbG9keW15cl9CYWJjaHVrXz0z Qz89Ci0JPT91bmtub3duLThiaXQ/cT92b2xvZHlteXI9NUZiYWJjaHVrPTQwZXBhbT0yRWNvbT0z RT0yQ19NYXJla19WYXN1dF89M0NtYXJlPz0KLQk9P3Vua25vd24tOGJpdD9xP2s9MkV2YXN1dCty ZW5lc2FzPTQwbWFpbGJveD0yRW9yZz0zRT0yQ1BhdWxfQmFya2VyXz0zQ3BhdWw/PQotCT0/dW5r bm93bi04Yml0P3E/PTJFYmFya2VyPTJFY3Q9NDBicD0yRXJlbmVzYXM9MkVjb209M0U9MkNQYXRy aWNlX0Nob3RhcmRfPz0KLQk9P3Vua25vd24tOGJpdD9xPz0zQ3BhdHJpY2U9MkVjaG90YXJkPTQw Zm9zcz0yRXN0PTJFY29tPTNFPTJDQ2hyaXN0aWFuX01hcmE/PQotCT0/dW5rbm93bi04Yml0P3E/ bmdpXz0zQ2Fuc3VlbHNtdGg9NDBnbWFpbD0yRWNvbT0zRT0yQ1BhdHJpY2tfRGVsYXVuYXlfPTND cD89Ci0JPT91bmtub3duLThiaXQ/cT9hdHJpY2s9MkVkZWxhdW5heT00MGZvc3M9MkVzdD0yRWNv bT0zRT0yQ0h1YW5fWmhvdV89M0NtZT89Ci0JPT91bmtub3duLThiaXQ/cT89NDBwZXIxY3ljbGU9 MkVvcmc9M0U9MkNHYWJyaWVsX0Zlcm5hbmRlel89M0NnYWJyaWVsPTJFZmVyPz0KLQk9P3Vua25v d24tOGJpdD9xP25hbmRlej00MGZvc3M9MkVzdD0yRWNvbT0zRT0yQ0tldmVyX1lhbmdfPTNDa2V2 ZXI9MkV5YW5nPz0KLQk9P3Vua25vd24tOGJpdD9xPz00MHJvY2stY2hpcHM9MkVjb209M0U9MkNK b25hc19LYXJsbWFuXz0zQ2pvbmFzPTQwa3dpYm9vPz0KLQk9P3Vua25vd24tOGJpdD9xPz0yRXNl PTNFPTJDSm9zZXBoX0NoZW5fPTNDY2hlbmpoPTQwcm9jay1jaGlwcz0yRWNvbT0zRT0yQ0U/PQot CT0/dW5rbm93bi04Yml0P3E/bGFpbmVfWmhhbmdfPTNDemhhbmdxaW5nPTQwcm9jay1jaGlwcz0y RWNvbT0zRT0yQ19QZWRyb19GYT89Ci0JPT91bmtub3duLThiaXQ/cT9sY2F0b189M0NwZmFsY2F0 bz00MHN1c2U9MkVkZT0zRT0yQ3UtYm9vdD00MGxpc3RzPTJFZGVueD89Ci0JPT91bmtub3duLThi aXQ/cT89MkVkZT89Ci1NZXNzYWdlLUlkOiA8MjAyNjA2MDExMDM5MzYuQTFBMzA2OEJGRUB2ZXJl aW4ubHN0LmRlPgotRGF0ZTogTW9uLCAgMSBKdW4gMjAyNiAxMjozOTozNiArMDIwMCAoQ0VTVCkK LUZyb206IGR1d2VAbHN0LmRlIChUb3JzdGVuIER1d2UpCi1YLUJlZW5UaGVyZTogdS1ib290QGxp c3RzLmRlbnguZGUKLVgtTWFpbG1hbi1WZXJzaW9uOiAyLjEuMzkKLVByZWNlZGVuY2U6IGxpc3QK LUxpc3QtSWQ6IFUtQm9vdCBkaXNjdXNzaW9uIDx1LWJvb3QubGlzdHMuZGVueC5kZT4KLUxpc3Qt VW5zdWJzY3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvb3B0aW9ucy91LWJvb3Q+LAotIDxt YWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXVuc3Vic2NyaWJlPgot TGlzdC1BcmNoaXZlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL3BpcGVybWFpbC91LWJvb3QvPgot TGlzdC1Qb3N0OiA8bWFpbHRvOnUtYm9vdEBsaXN0cy5kZW54LmRlPgotTGlzdC1IZWxwOiA8bWFp bHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1oZWxwPgotTGlzdC1TdWJz Y3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvbGlzdGluZm8vdS1ib290PiwKLSA8bWFpbHRv OnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1zdWJzY3JpYmU+Ci1FcnJvcnMt VG86IHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLVNlbmRlcjogIlUtQm9vdCIgPHUtYm9v dC1ib3VuY2VzQGxpc3RzLmRlbnguZGU+Ci1YLVZpcnVzLVNjYW5uZWQ6IGNsYW1hdi1taWx0ZXIg MC4xMDMuOCBhdCBwaG9ib3MuZGVueC5kZQotWC1WaXJ1cy1TdGF0dXM6IENsZWFuCi0KLUZyb206 IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBzdXNlLmRlPgotCi1SZXdvcmsgdGhlIHNldHVwIG9mIGluYm91 bmQgUENJZSB3aW5kb3dzOiB1c2UgdGhlIGNvbnZlbmllbmNlIGZ1bmN0aW9ucwotZnJvbSBMaW51 eCBrZXJuZWwgY29tbWl0IGFlNjQ3NmM2ZGUxODcgdG8gY2FsY3VsYXRlIHRoZSBCQVIgb2Zmc2V0 cyBhbmQKLWZhY3RvciBvdXQgdGhlIHNldHVwIGNvZGUgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9u LgotCi1UaGUgTGludXgga2VybmVsIGZpcnN0IGFsbG9jYXRlcyBhbmQgcG9wdWxhdGVzIGFuIGFy cmF5IG9mIGluYm91bmRfd2luW10KLWFuZCBzZXRzIHRoZSBCQVJzIGZyb20gaXQgbGF0ZXIsIHdo aWxlIFUtQm9vdCBkb2VzIGl0IGFsbCBvbiB0aGUgZmx5LAotaW4gb25lIGdvLCBzbyB0aGUgY29k ZSBpcyBub3QgMToxIGNvbXBhcmFibGUuCi0KLVNpZ25lZC1vZmYtYnk6IFRvcnN0ZW4gRHV3ZSA8 ZHV3ZUBzdXNlLmRlPgotVGVzdGVkLWJ5OiBQZWRybyBGYWxjYXRvIDxwZmFsY2F0b0BzdXNlLmRl PgotUmV2aWV3ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3Jn PgotLS0tCi0gZHJpdmVycy9wY2kvcGNpZV9icmNtc3RiLmMgfCAxNTAgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygr KSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llX2JyY21z dGIuYyBiL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jCi1pbmRleCAxNjRkOGUyYjdmZS4uNjI0 Mzc2ZmUyMzUgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL3BjaS9wY2llX2JyY21zdGIuYwotKysrIGIv ZHJpdmVycy9wY2kvcGNpZV9icmNtc3RiLmMKLUBAIC01MCw2ICs1MCwyOSBAQAotICNkZWZpbmUg U1NDX1NUQVRVU19QTExfTE9DS19NQVNLCQkJMHg4MDAKLSAjZGVmaW5lIFNTQ19TVEFUVVNfUExM X0xPQ0tfU0hJRlQJCQkxMQotIAotKyNkZWZpbmUgUENJRV9SQ19QTF9QSFlfQ1RMXzE1CQkJCTB4 MTg0YwotKyNkZWZpbmUgUENJRV9SQ19QTF9QSFlfQ1RMXzE1X0RJU19QTExfUERfTUFTSwkJMHg0 MDAwMDAKLSsjZGVmaW5lIFBDSUVfUkNfUExfUEhZX0NUTF8xNV9QTV9DTEtfUEVSSU9EX01BU0sJ MHhmZgotKwotKyNkZWZpbmUgUENJRV9NSVNDX1VCVVNfQ1RSTAkJCQkweDQwYTQKLSsjZGVmaW5l ICBQQ0lFX01JU0NfVUJVU19DVFJMX1VCVVNfUENJRV9SRVBMWV9FUlJfRElTX01BU0sJQklUKDEz KQotKyNkZWZpbmUgIFBDSUVfTUlTQ19VQlVTX0NUUkxfVUJVU19QQ0lFX1JFUExZX0RFQ0VSUl9E SVNfTUFTSwlCSVQoMTkpCi0rI2RlZmluZSBQQ0lFX01JU0NfQVhJX1JFQURfRVJST1JfREFUQQkJ CTB4NDE3MAotKyNkZWZpbmUgUENJRV9NSVNDX1VCVVNfVElNRU9VVAkJCQkweDQwQTgKLSsjZGVm aW5lIFBDSUVfTUlTQ19SQ19DT05GSUdfUkVUUllfVElNRU9VVAkJMHg0MDVjCi0rI2RlZmluZSBQ Q0lFX01JU0NfUkNfQkFSNF9DT05GSUdfTE8JCQkweDQwZDQKLSsjZGVmaW5lIFBDSUVfTUlTQ19S Q19CQVI0X0NPTkZJR19ISQkJCTB4NDBkOAotKyNkZWZpbmUgUENJRV9NSVNDX1VCVVNfQkFSX0NP TkZJR19SRU1BUF9ISV9NQVNLCQkweGZmCi0rI2RlZmluZSBQQ0lFX01JU0NfVUJVU19CQVI0X0NP TkZJR19SRU1BUF9ISQkJMHg0MTEwCi0rI2RlZmluZSBQQ0lFX01JU0NfVUJVU19CQVJfQ09ORklH X1JFTUFQX0VOQUJMRQkJMHgxCi0rI2RlZmluZSBQQ0lFX01JU0NfVUJVU19CQVJfQ09ORklHX1JF TUFQX0xPX01BU0sJCTB4ZmZmZmYwMDAKLSsjZGVmaW5lIFBDSUVfTUlTQ19VQlVTX0JBUjRfQ09O RklHX1JFTUFQX0xPCQkweDQxMGMKLSsKLSsjZGVmaW5lIFBDSUVfTUlTQ19VQlVTX0JBUjFfQ09O RklHX1JFTUFQCQkweDQwYWMKLSsjZGVmaW5lIFBDSUVfTUlTQ19VQlVTX0JBUjJfQ09ORklHX1JF TUFQCQkweDQwYjQKLSsjZGVmaW5lICBQQ0lFX01JU0NfVUJVU19CQVIyX0NPTkZJR19SRU1BUF9B Q0NFU1NfRU5BQkxFX01BU0sJQklUKDApCi0rI2RlZmluZSAgTUlTQ19DVFJMX1BDSUVfUkNCX01Q U19NT0RFX01BU0sJCTB4NDAwCi0rCi0gZW51bSB7Ci0gCVJHUjFfU1dfSU5JVF8xLAotIAlQQ0lF X0hBUkRfREVCVUcsCi1AQCAtNDQxLDE3ICs0NjQsMTA1IEBAIHN0YXRpYyB2b2lkIGJyY21fcGNp ZV9zZXRfb3V0Ym91bmRfd2luKHN0cnVjdCBicmNtX3BjaWUgKnBjaWUsCi0gCXdyaXRlbCh0bXAs IGJhc2UgKyBQQ0lFX01FTV9XSU4wX0xJTUlUX0hJKHdpbikpOwotIH0KLSAKLStzdGF0aWMgdTMy IGJyY21fYmFyX3JlZ19vZmZzZXQoaW50IGJhcikKLSt7Ci0rCWlmIChiYXIgPD0gMykKLSsJCXJl dHVybiBQQ0lFX01JU0NfUkNfQkFSMV9DT05GSUdfTE8gKyA4ICogKGJhciAtIDEpOwotKwllbHNl Ci0rCQlyZXR1cm4gUENJRV9NSVNDX1JDX0JBUjRfQ09ORklHX0xPICsgOCAqIChiYXIgLSA0KTsK LSt9Ci0rCi0rc3RhdGljIHUzMiBicmNtX3VidXNfcmVnX29mZnNldChpbnQgYmFyKQotK3sKLSsJ aWYgKGJhciA8PSAzKQotKwkJcmV0dXJuIFBDSUVfTUlTQ19VQlVTX0JBUjFfQ09ORklHX1JFTUFQ ICsgOCAqIChiYXIgLSAxKTsKLSsJZWxzZQotKwkJcmV0dXJuIFBDSUVfTUlTQ19VQlVTX0JBUjRf Q09ORklHX1JFTUFQX0xPICsgOCAqIChiYXIgLSA0KTsKLSt9Ci0rCi0rLyoKLSsgKiBSb3VuZCBz aXplIHVwIHRvIHRoZSBuZXh0IHBvd2VyIG9mIHR3bywgYXMgcmVxdWlyZWQgYnkKLSsgKiBicmNt X3BjaWVfZW5jb2RlX2liYXJfc2l6ZSgpLiAgSWYgc2l6ZSBpcyBhbHJlYWR5IGEgcG93ZXIgb2Yg dHdvCi0rICogZmxzNjQoc2l6ZSAtIDEpIHN0aWxsIGdpdmVzIHRoZSBjb3JyZWN0IHJlc3VsdCBi ZWNhdXNlIHRoZSBoYXJkd2FyZQotKyAqIGVuY29kZXMgdGhlIGV4cG9uZW50LCBub3QgdGhlIHJh dyB2YWx1ZS4KLSsgKi8KLStzdGF0aWMgdTY0IGJyY21faWJhcl9yb3VuZF9zaXplKHU2NCBzaXpl KQotK3sKLSsJcmV0dXJuIDFVTEwgPDwgZmxzNjQoc2l6ZSAtIDEpOwotK30KLSsKLStzdGF0aWMg dm9pZCBicmNtX3BjaWVfc2V0X2luYm91bmRfd2luZG93cyhzdHJ1Y3QgdWRldmljZSAqZGV2KQot K3sKLSsJc3RydWN0IGJyY21fcGNpZSAqcGNpZSA9IGRldl9nZXRfcHJpdihkZXYpOwotKwl2b2lk IF9faW9tZW0gKmJhc2UgPSBwY2llLT5iYXNlOwotKwlib29sIGlzXzI3MTIgPSAocGNpZS0+cGNp ZV9jZmctPnR5cGUgPT0gQkNNMjcxMik7Ci0rCWludCBpLCBpYmFyX25vLCByZXQ7Ci0rCXUzMiB0 bXA7Ci0rCi0rCWliYXJfbm8gPSAwOwotKwkvKiBwcmUtMjcxMiBjaGlwcyBsZWF2ZSB0aGUgZmly c3QgZW50cnkgZW1wdHkgKi8KLSsJaWYgKHBjaWUtPnBjaWVfY2ZnLT50eXBlICE9IEJDTTI3MTIp Ci0rCQlpYmFyX25vKys7Ci0rCi0rCS8qIHByb2dyYW0gaW5ib3VuZCB3aW5kb3dzIGZyb20gT0Yg cHJvcGVydHkgImRtYS1yZWdpb25zIiAqLwotKwlmb3IgKGkgPSAwOyBpIDwgNzsgaSsrLCBpYmFy X25vKyspIHsKLSsJCXU2NCBiYXJfY3B1LCBiYXJfc2l6ZSwgYmFyX3BjaTsKLSsJCXN0cnVjdCBw Y2lfcmVnaW9uIHJlZ2lvbjsKLSsJCWludCB1YnVzX2Jhcl9vZmZzZXQsIHJjX2Jhcl9vZmZzZXQ7 Ci0rCi0rCQlyZXQgPSBwY2lfZ2V0X2RtYV9yZWdpb25zKGRldiwgJnJlZ2lvbiwgaSk7Ci0rCQlp ZiAocmV0KQkvKiBubyByZWdpb24gI2k/IFRoZW4gd2UncmUgZG9uZS4gKi8KLSsJCQlicmVhazsK LSsJCXVidXNfYmFyX29mZnNldCA9IGJyY21fdWJ1c19yZWdfb2Zmc2V0KGliYXJfbm8gKyAxKTsK LSsJCXJjX2Jhcl9vZmZzZXQgPSBicmNtX2Jhcl9yZWdfb2Zmc2V0KGliYXJfbm8gKyAxKTsKLSsK LSsJCWJhcl9wY2kgPSByZWdpb24uYnVzX3N0YXJ0OwotKwkJYmFyX2NwdSA9IHJlZ2lvbi5waHlz X3N0YXJ0OwotKwkJYmFyX3NpemUgPSByZWdpb24uc2l6ZTsKLSsKLSsJCWlmIChpc18yNzEyKSB7 Ci0rCQkJLyogQkNNMjcxMjogQkFSIGhvbGRzIHJhdyBQQ0kgYWRkcmVzczsgVUJVUyByZW1hcAot KwkJCSAqIHJlZ2lzdGVycyBzdXBwbHkgdGhlIENQVS1zaWRlIHRyYW5zbGF0aW9uLiAqLwotKwkJ CXRtcCA9IGxvd2VyXzMyX2JpdHMoYmFyX3BjaSk7Ci0rCQkJdTMycF9yZXBsYWNlX2JpdHMoJnRt cCwgYnJjbV9wY2llX2VuY29kZV9pYmFyX3NpemUoYmFyX3NpemUpLAotKwkJCQkJICBSQ19CQVIy X0NPTkZJR19MT19TSVpFX01BU0spOwotKwkJCXdyaXRlbCh0bXAsIGJhc2UgKyByY19iYXJfb2Zm c2V0KTsKLSsJCQl3cml0ZWwodXBwZXJfMzJfYml0cyhiYXJfcGNpKSwgYmFzZSArIHJjX2Jhcl9v ZmZzZXQgKyA0KTsKLSsKLSsJCQl0bXAgPSBsb3dlcl8zMl9iaXRzKGJhcl9jcHUpICYKLSsJCQkJ CVBDSUVfTUlTQ19VQlVTX0JBUl9DT05GSUdfUkVNQVBfTE9fTUFTSzsKLSsJCQl0bXAgfD0gUENJ RV9NSVNDX1VCVVNfQkFSX0NPTkZJR19SRU1BUF9FTkFCTEU7Ci0rCQkJd3JpdGVsKHRtcCwgYmFz ZSArIHVidXNfYmFyX29mZnNldCk7Ci0rCi0rCQkJdG1wID0gdXBwZXJfMzJfYml0cyhiYXJfY3B1 KSAmCi0rCQkJCVBDSUVfTUlTQ19VQlVTX0JBUl9DT05GSUdfUkVNQVBfSElfTUFTSzsKLSsJCQl3 cml0ZWwodG1wLCBiYXNlICsgdWJ1c19iYXJfb2Zmc2V0ICsgNCk7Ci0rCQl9IGVsc2UgewotKwkJ CS8qIFByZS1CQ00yNzEyIChlLmcuIEJDTTI3MTEgLyBSUGk0KTogdGhlIEJBUiBjb25maWcKLSsJ CQkgKiByZWdpc3RlciBob2xkcyB0aGUgb2Zmc2V0IChidXNfc3RhcnQgLSBwaHlzX3N0YXJ0KSwK LSsJCQkgKiBub3QgdGhlIHJhdyBQQ0kgYWRkcmVzcy4gIFRoZSBzaXplIG11c3QgYmUgcm91bmRl ZAotKwkJCSAqIHVwIHRvIHRoZSBuZXh0IHBvd2VyIG9mIHR3byBiZWZvcmUgZW5jb2RpbmcuICov Ci0rCQkJdTY0IGJhcl9vZmZzZXQgPSBiYXJfcGNpIC0gYmFyX2NwdTsKLSsJCQl1NjQgYmFyX3Np emVfcG8yID0gYnJjbV9pYmFyX3JvdW5kX3NpemUoYmFyX3NpemUpOwotKwotKwkJCXRtcCA9IGxv d2VyXzMyX2JpdHMoYmFyX29mZnNldCk7Ci0rCQkJdTMycF9yZXBsYWNlX2JpdHMoJnRtcCwgYnJj bV9wY2llX2VuY29kZV9pYmFyX3NpemUoYmFyX3NpemVfcG8yKSwKLSsJCQkJCSAgUkNfQkFSMl9D T05GSUdfTE9fU0laRV9NQVNLKTsKLSsJCQl3cml0ZWwodG1wLCBiYXNlICsgcmNfYmFyX29mZnNl dCk7Ci0rCQkJd3JpdGVsKHVwcGVyXzMyX2JpdHMoYmFyX29mZnNldCksIGJhc2UgKyByY19iYXJf b2Zmc2V0ICsgNCk7Ci0rCQkJLyogVUJVUyByZW1hcCByZWdpc3RlcnMgYXJlIG5vdCB1c2VkIG9u IHByZS0yNzEyIGhhcmR3YXJlLiAqLwotKwkJfQotKwl9Ci0rfQotKwotIHN0YXRpYyBpbnQgYnJj bV9wY2llX3Byb2JlKHN0cnVjdCB1ZGV2aWNlICpkZXYpCi0gewotIAlzdHJ1Y3QgdWRldmljZSAq Y3RsciA9IHBjaV9nZXRfY29udHJvbGxlcihkZXYpOwotIAlzdHJ1Y3QgcGNpX2NvbnRyb2xsZXIg Kmhvc2UgPSBkZXZfZ2V0X3VjbGFzc19wcml2KGN0bHIpOwotIAlzdHJ1Y3QgYnJjbV9wY2llICpw Y2llID0gZGV2X2dldF9wcml2KGRldik7Ci0gCXZvaWQgX19pb21lbSAqYmFzZSA9IHBjaWUtPmJh c2U7Ci0tCXN0cnVjdCBwY2lfcmVnaW9uIHJlZ2lvbjsKLSAJYm9vbCBzc2NfZ29vZCA9IGZhbHNl OwotIAlpbnQgbnVtX291dF93aW5zID0gMDsKLS0JdTY0IHJjX2JhcjJfb2Zmc2V0LCByY19iYXIy X3NpemU7Ci0tCXVuc2lnbmVkIGludCBzY2Jfc2l6ZV92YWw7Ci0gCWludCBpLCByZXQgPSAwOwot IAl1MTYgbmx3LCBjbHMsIGxua3N0YTsKLSAJdTMyIHRtcDsKLUBAIC00OTYsMjMgKzYwNywyMiBA QCBzdGF0aWMgaW50IGJyY21fcGNpZV9wcm9iZShzdHJ1Y3QgdWRldmljZSAqZGV2KQotIAkJCU1J U0NfQ1RSTF9DRkdfUkVBRF9VUl9NT0RFX01BU0sgfAotIAkJCU1JU0NfQ1RSTF9NQVhfQlVSU1Rf U0laRV8xMjgpOwotIAotLQlwY2lfZ2V0X2RtYV9yZWdpb25zKGRldiwgJnJlZ2lvbiwgMCk7Ci0t CXJjX2JhcjJfb2Zmc2V0ID0gcmVnaW9uLmJ1c19zdGFydCAtIHJlZ2lvbi5waHlzX3N0YXJ0Owot LQlyY19iYXIyX3NpemUgPSAxVUxMIDw8IGZsczY0KHJlZ2lvbi5zaXplIC0gMSk7Ci0tCi0tCXRt cCA9IGxvd2VyXzMyX2JpdHMocmNfYmFyMl9vZmZzZXQpOwotLQl1MzJwX3JlcGxhY2VfYml0cygm dG1wLCBicmNtX3BjaWVfZW5jb2RlX2liYXJfc2l6ZShyY19iYXIyX3NpemUpLAotLQkJCSAgUkNf QkFSMl9DT05GSUdfTE9fU0laRV9NQVNLKTsKLS0Jd3JpdGVsKHRtcCwgYmFzZSArIFBDSUVfTUlT Q19SQ19CQVIyX0NPTkZJR19MTyk7Ci0tCXdyaXRlbCh1cHBlcl8zMl9iaXRzKHJjX2JhcjJfb2Zm c2V0KSwKLS0JICAgICAgIGJhc2UgKyBQQ0lFX01JU0NfUkNfQkFSMl9DT05GSUdfSEkpOwotLQot LQlzY2Jfc2l6ZV92YWwgPSByY19iYXIyX3NpemUgPwotLQkJICAgICAgIGlsb2cyKHJjX2JhcjJf c2l6ZSkgLSAxNSA6IDB4ZjsgLyogMHhmIGlzIDFHQiAqLwotLQotIAl0bXAgPSByZWFkbChiYXNl ICsgUENJRV9NSVNDX01JU0NfQ1RSTCk7Ci0tCXUzMnBfcmVwbGFjZV9iaXRzKCZ0bXAsIHNjYl9z aXplX3ZhbCwKLS0JCQkgIE1JU0NfQ1RSTF9TQ0IwX1NJWkVfTUFTSyk7Ci0rCWlmIChwY2llLT5w Y2llX2NmZy0+dHlwZSA9PSBCQ00yNzEyKSB7Ci0rCQkvKiBCQ00yNzEyOiBmaXhlZCAzMkdCIFND QjAgd2luZG93ICovCi0rCQl1MzJwX3JlcGxhY2VfYml0cygmdG1wLCAyMCwgTUlTQ19DVFJMX1ND QjBfU0laRV9NQVNLKTsKLSsJfSBlbHNlIHsKLSsJCS8qIFByZS1CQ00yNzEyOiBzaXplIFNDQjAg dG8gbWF0Y2ggdGhlIGFjdHVhbCBETUEgcmVnaW9uLgotKwkJICogcmNfYmFyMl9zaXplIG11c3Qg YmUgYSBwb3dlciBvZiB0d287IGlsb2cyKHNpemUpIC0gMTUKLSsJCSAqIGdpdmVzIHRoZSBoYXJk d2FyZSBlbmNvZGluZyAoZS5nLiAxR0IgLT4gMTUpLiAqLwotKwkJc3RydWN0IHBjaV9yZWdpb24g cmVnaW9uOwotKwkJdTY0IHJjX2JhcjJfc2l6ZTsKLSsKLSsJCXBjaV9nZXRfZG1hX3JlZ2lvbnMo ZGV2LCAmcmVnaW9uLCAwKTsKLSsJCXJjX2JhcjJfc2l6ZSA9IGJyY21faWJhcl9yb3VuZF9zaXpl KHJlZ2lvbi5zaXplKTsKLSsJCXUzMnBfcmVwbGFjZV9iaXRzKCZ0bXAsIHJjX2JhcjJfc2l6ZSA/ IGlsb2cyKHJjX2JhcjJfc2l6ZSkgLSAxNSA6IDB4ZiwKLSsJCQkJICBNSVNDX0NUUkxfU0NCMF9T SVpFX01BU0spOwotKwl9Ci0gCXdyaXRlbCh0bXAsIGJhc2UgKyBQQ0lFX01JU0NfTUlTQ19DVFJM KTsKLSAKLSAJLyogRGlzYWJsZSB0aGUgUENJZS0+R0lTQiBtZW1vcnkgd2luZG93IChSQ19CQVIx KSAqLwotQEAgLTUyOSw2ICs2MzksOCBAQCBzdGF0aWMgaW50IGJyY21fcGNpZV9wcm9iZShzdHJ1 Y3QgdWRldmljZSAqZGV2KQotIAkvKiBDbGVhciBhbnkgaW50ZXJydXB0cyB3ZSBmaW5kIG9uIGJv b3QgKi8KLSAJd3JpdGVsKDB4ZmZmZmZmZmYsIGJhc2UgKyBQQ0lFX01TSV9JTlRSMl9DTFIpOwot IAotKwlicmNtX3BjaWVfc2V0X2luYm91bmRfd2luZG93cyhkZXYpOwotKwotIAlpZiAocGNpZS0+ Z2VuKQotIAkJYnJjbV9wY2llX3NldF9nZW4ocGNpZSwgcGNpZS0+Z2VuKTsKLSAKLQotRnJvbSBw YXRjaHdvcmsgTW9uIEp1biAgMSAxMDozOTo0MCAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDdiaXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjogVG9yc3RlbiBEdXdlIDxkdXdl QGxzdC5kZT4KLVgtUGF0Y2h3b3JrLUlkOiAyMjQ3MzIxCi1YLVBhdGNod29yay1EZWxlZ2F0ZTog cGJyb2JpbnNvbkBnbWFpbC5jb20KLVJldHVybi1QYXRoOiA8dS1ib290LWJvdW5jZXNAbGlzdHMu ZGVueC5kZT4KLVgtT3JpZ2luYWwtVG86IGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnCi1E ZWxpdmVyZWQtVG86IHBhdGNod29yay1pbmNvbWluZ0BsZWdvbGFzLm96bGFicy5vcmcKLUF1dGhl bnRpY2F0aW9uLVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAoc2VuZGVy IFNQRiBhdXRob3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xpZW50LWlw PTJhMDE6MjM4OjQzOGI6YzUwMDoxNzNkOjlmNTI6ZGRhYjplZTAxOyBoZWxvPXBob2Jvcy5kZW54 LmRlOwotIGVudmVsb3BlLWZyb209dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZTsgcmVjZWl2 ZXI9cGF0Y2h3b3JrLm96bGFicy5vcmcpCi1SZWNlaXZlZDogZnJvbSBwaG9ib3MuZGVueC5kZSAo cGhvYm9zLmRlbnguZGUKLSBbSVB2NjoyYTAxOjIzODo0MzhiOmM1MDA6MTczZDo5ZjUyOmRkYWI6 ZWUwMV0pCi0JKHVzaW5nIFRMU3YxLjMgd2l0aCBjaXBoZXIgVExTX0FFU18yNTZfR0NNX1NIQTM4 NCAoMjU2LzI1NiBiaXRzKQotCSBrZXktZXhjaGFuZ2UgeDI1NTE5KQotCShObyBjbGllbnQgY2Vy dGlmaWNhdGUgcmVxdWVzdGVkKQotCWJ5IGxlZ29sYXMub3psYWJzLm9yZyAoUG9zdGZpeCkgd2l0 aCBFU01UUFMgaWQgNGdUVnFKNVE3NXoxeURZCi0JZm9yIDxpbmNvbWluZ0BwYXRjaHdvcmsub3ps YWJzLm9yZz47IE1vbiwgMDEgSnVuIDIwMjYgMjA6NDA6NDQgKzEwMDAgKEFFU1QpCi1SZWNlaXZl ZDogZnJvbSBoMjg1MDYxNi5zdHJhdG9zZXJ2ZXIubmV0IChsb2NhbGhvc3QgW0lQdjY6OjoxXSkK LQlieSBwaG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01UUCBpZCBCQzBFNDg0OEQxOwot CU1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6NDMgKzAyMDAgKENFU1QpCi1BdXRoZW50aWNhdGlvbi1S ZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBkbWFyYz1mYWlsIChwPW5vbmUgZGlzPW5vbmUpIGhl YWRlci5mcm9tPWxzdC5kZQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7 Ci0gc3BmPXBhc3Mgc210cC5tYWlsZnJvbT11LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlCi1S ZWNlaXZlZDogYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgsIGZyb20gdXNlcmlkIDEwOSkKLSBp ZCA4RkRDMjg0OEM2OyBNb24sICAxIEp1biAyMDI2IDEyOjM5OjQzICswMjAwIChDRVNUKQotWC1T cGFtLUNoZWNrZXItVmVyc2lvbjogU3BhbUFzc2Fzc2luIDMuNC4yICgyMDE4LTA5LTEzKSBvbiBw aG9ib3MuZGVueC5kZQotWC1TcGFtLUxldmVsOiAKLVgtU3BhbS1TdGF0dXM6IE5vLCBzY29yZT0t MS45IHJlcXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18wMCwKLSBSQ1ZEX0lOX0ROU1dMX0JMT0NLRUQs U1BGX0hFTE9fTk9ORSxTUEZfUEFTUyBhdXRvbGVhcm49aGFtCi0gYXV0b2xlYXJuX2ZvcmNlPW5v IHZlcnNpb249My40LjIKLVJlY2VpdmVkOiBmcm9tIHZlcmVpbi5sc3QuZGUgKHZlcmVpbi5sc3Qu ZGUgWzIxMy45NS4xMS4yMTFdKQotICh1c2luZyBUTFN2MS4yIHdpdGggY2lwaGVyIEVDREhFLVJT QS1BRVMyNTYtR0NNLVNIQTM4NCAoMjU2LzI1NiBiaXRzKSkKLSAoTm8gY2xpZW50IGNlcnRpZmlj YXRlIHJlcXVlc3RlZCkKLSBieSBwaG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01UUFMg aWQgOTY4Njc4NDhCRAotIGZvciA8dS1ib290QGxpc3RzLmRlbnguZGU+OyBNb24sICAxIEp1biAy MDI2IDEyOjM5OjQxICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9z LmRlbnguZGU7Ci0gZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1sc3Qu ZGUKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOyBzcGY9cGFzcyBzbXRw Lm1haWxmcm9tPWR1d2VAbHN0LmRlCi1SZWNlaXZlZDogYnkgdmVyZWluLmxzdC5kZSAoUG9zdGZp eCwgZnJvbSB1c2VyaWQgMjAwNSkKLSBpZCAzRUZCMjY4QzdCOyBNb24sICAxIEp1biAyMDI2IDEy OjM5OjQwICswMjAwIChDRVNUKQotSW4tUmVwbHktVG86IDwyMDI2MDYwMTEwMzU1Ny4wMjJFQjY4 QjA1QHZlcmVpbi5sc3QuZGU+Ci1SZWZlcmVuY2VzOiA8MjAyNjA2MDExMDM1NTcuMDIyRUI2OEIw NUB2ZXJlaW4ubHN0LmRlPgotU3ViamVjdDogW1BBVENIIHY1IDkvOV0gcGNpOiBicmNtc3RiOiBB ZGFwdCB0byBBWEkgYnJpZGdlCi1UbzogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZ21haWwu Y29tPiwKLSBNYXR0aGlhcyBCcnVnZ2VyIDxtYnJ1Z2dlckBzdXNlLmNvbT4KLUNjOiA9P3Vua25v d24tOGJpdD9xP1RvbV9SaW5pXz0zQ3RyaW5pPTQwa29uc3Vsa289MkVjb209M0U9MkM9MjJKYW5f PUM0PThDZXI/PQotCT0/dW5rbm93bi04Yml0P3E/bT1DMz1BMWs9MjJfPTNDc2Fpcm9uPTQwc2Fp cm9uPTJFY3o9M0U9MkNBbmRyZWFfZGVsbGFfUG9ydD89Ci0JPT91bmtub3duLThiaXQ/cT9hXz0z Q2FuZHJlYT0yRXBvcnRhPTQwc3VzZT0yRWNvbT0zRT0yQz0yMkl2YW5fVD0yRV9JdmFub3Y/PQot CT0/dW5rbm93bi04Yml0P3E/PTIyXz0zQ2lpdmFub3Y9NDBzdXNlPTJFZGU9M0U9MkNfU3Rhbmlt aXJfVmFyYmFub3ZfPTNDc3Rhbj89Ci0JPT91bmtub3duLThiaXQ/cT9pbWlyPTJFdmFyYmFub3Y9 NDBzdXNlPTJFY29tPTNFPTJDX09sZWtzaWlfTW9pc2llaWV2Xz0zQ09sPz0KLQk9P3Vua25vd24t OGJpdD9xP2Vrc2lpPTVGTW9pc2llaWV2PTQwZXBhbT0yRWNvbT0zRT0yQ19Wb2xvZHlteXJfQmFi Y2h1a189M0M/PQotCT0/dW5rbm93bi04Yml0P3E/dm9sb2R5bXlyPTVGYmFiY2h1az00MGVwYW09 MkVjb209M0U9MkNfTWFyZWtfVmFzdXRfPTNDbWFyZT89Ci0JPT91bmtub3duLThiaXQ/cT9rPTJF dmFzdXQrcmVuZXNhcz00MG1haWxib3g9MkVvcmc9M0U9MkNQYXVsX0Jhcmtlcl89M0NwYXVsPz0K LQk9P3Vua25vd24tOGJpdD9xPz0yRWJhcmtlcj0yRWN0PTQwYnA9MkVyZW5lc2FzPTJFY29tPTNF PTJDUGF0cmljZV9DaG90YXJkXz89Ci0JPT91bmtub3duLThiaXQ/cT89M0NwYXRyaWNlPTJFY2hv dGFyZD00MGZvc3M9MkVzdD0yRWNvbT0zRT0yQ0NocmlzdGlhbl9NYXJhPz0KLQk9P3Vua25vd24t OGJpdD9xP25naV89M0NhbnN1ZWxzbXRoPTQwZ21haWw9MkVjb209M0U9MkNQYXRyaWNrX0RlbGF1 bmF5Xz0zQ3A/PQotCT0/dW5rbm93bi04Yml0P3E/YXRyaWNrPTJFZGVsYXVuYXk9NDBmb3NzPTJF c3Q9MkVjb209M0U9MkNIdWFuX1pob3VfPTNDbWU/PQotCT0/dW5rbm93bi04Yml0P3E/PTQwcGVy MWN5Y2xlPTJFb3JnPTNFPTJDR2FicmllbF9GZXJuYW5kZXpfPTNDZ2FicmllbD0yRWZlcj89Ci0J PT91bmtub3duLThiaXQ/cT9uYW5kZXo9NDBmb3NzPTJFc3Q9MkVjb209M0U9MkNLZXZlcl9ZYW5n Xz0zQ2tldmVyPTJFeWFuZz89Ci0JPT91bmtub3duLThiaXQ/cT89NDByb2NrLWNoaXBzPTJFY29t PTNFPTJDSm9uYXNfS2FybG1hbl89M0Nqb25hcz00MGt3aWJvbz89Ci0JPT91bmtub3duLThiaXQ/ cT89MkVzZT0zRT0yQ0pvc2VwaF9DaGVuXz0zQ2NoZW5qaD00MHJvY2stY2hpcHM9MkVjb209M0U9 MkNFPz0KLQk9P3Vua25vd24tOGJpdD9xP2xhaW5lX1poYW5nXz0zQ3poYW5ncWluZz00MHJvY2st Y2hpcHM9MkVjb209M0U9MkNfUGVkcm9fRmE/PQotCT0/dW5rbm93bi04Yml0P3E/bGNhdG9fPTND cGZhbGNhdG89NDBzdXNlPTJFZGU9M0U9MkN1LWJvb3Q9NDBsaXN0cz0yRWRlbng/PQotCT0/dW5r bm93bi04Yml0P3E/PTJFZGU/PQotTWVzc2FnZS1JZDogPDIwMjYwNjAxMTAzOTQwLjNFRkIyNjhD N0JAdmVyZWluLmxzdC5kZT4KLURhdGU6IE1vbiwgIDEgSnVuIDIwMjYgMTI6Mzk6NDAgKzAyMDAg KENFU1QpCi1Gcm9tOiBkdXdlQGxzdC5kZSAoVG9yc3RlbiBEdXdlKQotWC1CZWVuVGhlcmU6IHUt Ym9vdEBsaXN0cy5kZW54LmRlCi1YLU1haWxtYW4tVmVyc2lvbjogMi4xLjM5Ci1QcmVjZWRlbmNl OiBsaXN0Ci1MaXN0LUlkOiBVLUJvb3QgZGlzY3Vzc2lvbiA8dS1ib290Lmxpc3RzLmRlbnguZGU+ Ci1MaXN0LVVuc3Vic2NyaWJlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL29wdGlvbnMvdS1ib290 PiwKLSA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD11bnN1YnNj cmliZT4KLUxpc3QtQXJjaGl2ZTogPGh0dHBzOi8vbGlzdHMuZGVueC5kZS9waXBlcm1haWwvdS1i b290Lz4KLUxpc3QtUG9zdDogPG1haWx0bzp1LWJvb3RAbGlzdHMuZGVueC5kZT4KLUxpc3QtSGVs cDogPG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9aGVscD4KLUxp c3QtU3Vic2NyaWJlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL2xpc3RpbmZvL3UtYm9vdD4sCi0g PG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5kZW54LmRlP3N1YmplY3Q9c3Vic2NyaWJlPgot RXJyb3JzLVRvOiB1LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlCi1TZW5kZXI6ICJVLUJvb3Qi IDx1LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlPgotWC1WaXJ1cy1TY2FubmVkOiBjbGFtYXYt bWlsdGVyIDAuMTAzLjggYXQgcGhvYm9zLmRlbnguZGUKLVgtVmlydXMtU3RhdHVzOiBDbGVhbgot Ci1Gcm9tOiBUb3JzdGVuIER1d2UgPGR1d2VAc3VzZS5kZT4KLQotRml4LXVwcyBmb3IgdGhlIEJD TSByb290IGNvbXBsZXggd2hlbiBpdCBpcyBsb2NhdGVkIGJlaGluZCBhbiBBWEkKLWJyaWRnZSBh bmQgY2xvY2tlZCB3aXRoIDU0TUh6LiAgU29tZSBhcmUgZnJvbSBrZXJuZWwgY29tbWl0Ci0zNzdi Y2VkODhjMzI2LCBzb21lIHdoZXJlIHBpY2tlZCBieSBPbGVrc2lpIG9mZiBhIG5vdy1zdGFsZSBv bGRlcgotYnJhbmNoLiBBbGwgcmV3b3JrZWQgZm9yIHRoZSBzaW1wbGVyIHNldHVwIGNvZGUgaW4g VS1Cb290LgotCi1TaWduZWQtb2ZmLWJ5OiBUb3JzdGVuIER1d2UgPGR1d2VAc3VzZS5kZT4KLUNv LWF1dGhvcmVkLWJ5OiBPbGVrc2lpIE1vaXNpZWlldiA8b2xla3NpaV9tb2lzaWVpZXZAZXBhbS5j b20+Ci1UZXN0ZWQtYnk6IFBlZHJvIEZhbGNhdG8gPHBmYWxjYXRvQHN1c2UuZGU+Ci1SZXZpZXdl ZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+Ci0tLS0KLSAu Li4vbWFjaC1iY20yODN4L2luY2x1ZGUvbWFjaC9hY3BpL2JjbTI3MTEuaCAgfCAgMSArCi0gZHJp dmVycy9wY2kvcGNpZV9icmNtc3RiLmMgICAgICAgICAgICAgICAgICAgIHwgNjQgKysrKysrKysr KysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQotCi1kaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1iY20yODN4L2luY2x1ZGUvbWFjaC9h Y3BpL2JjbTI3MTEuaCBiL2FyY2gvYXJtL21hY2gtYmNtMjgzeC9pbmNsdWRlL21hY2gvYWNwaS9i Y20yNzExLmgKLWluZGV4IDUxNzFjNTkzYzcyLi5jNzJiNDdlMWIxMCAxMDA2NDQKLS0tLSBhL2Fy Y2gvYXJtL21hY2gtYmNtMjgzeC9pbmNsdWRlL21hY2gvYWNwaS9iY20yNzExLmgKLSsrKyBiL2Fy Y2gvYXJtL21hY2gtYmNtMjgzeC9pbmNsdWRlL21hY2gvYWNwaS9iY20yNzExLmgKLUBAIC01NCw2 ICs1NCw3IEBACi0gI2RlZmluZSAgTUlTQ19DVFJMX0NGR19SRUFEX1VSX01PREVfTUFTSyAgICAg ICAgICAweDIwMDAKLSAjZGVmaW5lICBNSVNDX0NUUkxfTUFYX0JVUlNUX1NJWkVfTUFTSyAgICAg ICAgICAgIDB4MzAwMDAwCi0gI2RlZmluZSAgTUlTQ19DVFJMX01BWF9CVVJTVF9TSVpFXzEyOCAg ICAgICAgICAgICAweDAKLSsjZGVmaW5lICBNSVNDX0NUUkxfTUFYX0JVUlNUX1NJWkVfMTI4XzI3 MTIJCTB4MTAwMDAwCi0gI2RlZmluZSAgTUlTQ19DVFJMX1NDQjBfU0laRV9NQVNLICAgICAgICAg ICAgICAgICAweGY4MDAwMDAwCi0gCi0gI2RlZmluZSBQQ0lFX01JU0NfQ1BVXzJfUENJRV9NRU1f V0lOMF9MTyAgICAgICAgICAweDQwMGMKLWRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9wY2llX2Jy Y21zdGIuYyBiL2RyaXZlcnMvcGNpL3BjaWVfYnJjbXN0Yi5jCi1pbmRleCA2MjQzNzZmZTIzNS4u MWIwM2IwYTdiMDUgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL3BjaS9wY2llX2JyY21zdGIuYwotKysr IGIvZHJpdmVycy9wY2kvcGNpZV9icmNtc3RiLmMKLUBAIC01NTUsNiArNTU1LDMwIEBAIHN0YXRp YyB2b2lkIGJyY21fcGNpZV9zZXRfaW5ib3VuZF93aW5kb3dzKHN0cnVjdCB1ZGV2aWNlICpkZXYp Ci0gCX0KLSB9Ci0gCi0rc3RhdGljIHZvaWQgYnJjbV9wY2llX211bmdlX3BsbChzdHJ1Y3QgYnJj bV9wY2llICpwY2llKQotK3sKLSsJdTMyIHRtcDsKLSsJaW50IHJldCwgaTsKLSsJdTggcmVnc1td ID0gIHsgMHgxNiwgICAweDE3LCAgIDB4MTgsICAgMHgxOSwgICAweDFiLCAgIDB4MWMsICAgMHgx ZSB9OwotKwl1MTYgZGF0YVtdID0geyAweDUwYjksIDB4YmRhMSwgMHgwMDk0LCAweDk3YjQsIDB4 NTAzMCwgMHg1MDMwLCAweDAwMDcgfTsKLSsKLSsJcmV0ID0gYnJjbV9wY2llX21kaW9fd3JpdGUo cGNpZS0+YmFzZSwgTURJT19QT1JUMCwgU0VUX0FERFJfT0ZGU0VULAotKwkJCQkgICAweDE2MDAp OwotKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWdzKTsgaSsrKSB7Ci0rCQlicmNtX3Bj aWVfbWRpb19yZWFkKHBjaWUtPmJhc2UsIE1ESU9fUE9SVDAsIHJlZ3NbaV0sICZ0bXApOwotKwkJ ZGVidWcoIlBDSUUgTURJTyBwcmVfcmVmY2xrIDB4JTAyeCA9IDB4JTA0eFxuIiwKLSsJCSAgICAg IHJlZ3NbaV0sIHRtcCk7Ci0rCX0KLSsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVncyk7 IGkrKykgewotKwkJYnJjbV9wY2llX21kaW9fd3JpdGUocGNpZS0+YmFzZSwgTURJT19QT1JUMCwg cmVnc1tpXSwgZGF0YVtpXSk7Ci0rCQlicmNtX3BjaWVfbWRpb19yZWFkKHBjaWUtPmJhc2UsIE1E SU9fUE9SVDAsIHJlZ3NbaV0sICZ0bXApOwotKwkJZGVidWcoIlBDSUUgTURJTyBwb3N0X3JlZmNs ayAweCUwMnggPSAweCUwNHhcbiIsCi0rCQkgICAgICByZWdzW2ldLCB0bXApOwotKwl9Ci0rCi0r CXVkZWxheSgyMDApOwotK30KLSsKLSBzdGF0aWMgaW50IGJyY21fcGNpZV9wcm9iZShzdHJ1Y3Qg dWRldmljZSAqZGV2KQotIHsKLSAJc3RydWN0IHVkZXZpY2UgKmN0bHIgPSBwY2lfZ2V0X2NvbnRy b2xsZXIoZGV2KTsKLUBAIC02MDAsMTIgKzYyNCwyNyBAQCBzdGF0aWMgaW50IGJyY21fcGNpZV9w cm9iZShzdHJ1Y3QgdWRldmljZSAqZGV2KQotIAkvKiBXYWl0IGZvciBTZXJEZXMgdG8gYmUgc3Rh YmxlICovCi0gCXVkZWxheSgxMDApOwotIAotKwlpZiAocGNpZS0+cGNpZV9jZmctPnR5cGUgPT0g QkNNMjcxMikgewotKwkJLyogQWxsb3cgYSA1NE1IeiAoeG9zYykgcmVmY2xrIHNvdXJjZSAqLwot KwkJYnJjbV9wY2llX211bmdlX3BsbChwY2llKTsKLSsJCS8qIEZpeCBmb3IgTDFTUyBlcnJhdGEg Ki8KLSsJCXRtcCA9IHJlYWRsKGJhc2UgKyBQQ0lFX1JDX1BMX1BIWV9DVExfMTUpOwotKwkJdG1w ICY9IH5QQ0lFX1JDX1BMX1BIWV9DVExfMTVfUE1fQ0xLX1BFUklPRF9NQVNLOwotKwkJLyogUE0g Y2xvY2sgcGVyaW9kIGlzIDE4LjUybnMgKHJvdW5kIGRvd24pICovCi0rCQl0bXAgfD0gMHgxMjsK LSsJCXdyaXRlbCh0bXAsIGJhc2UgKyBQQ0lFX1JDX1BMX1BIWV9DVExfMTUpOwotKwl9Ci0rCi0r CXRtcCA9IChwY2llLT5wY2llX2NmZy0+dHlwZSA9PSBCQ00yNzEyKSA/Ci0rCQkJTUlTQ19DVFJM X01BWF9CVVJTVF9TSVpFXzEyOF8yNzEyIDoKLSsJCQlNSVNDX0NUUkxfTUFYX0JVUlNUX1NJWkVf MTI4OwotIAkvKiBTZXQgU0NCX01BWF9CVVJTVF9TSVpFLCBDRkdfUkVBRF9VUl9NT0RFLCBTQ0Jf QUNDRVNTX0VOICovCi0gCWNscnNldGJpdHNfbGUzMihiYXNlICsgUENJRV9NSVNDX01JU0NfQ1RS TCwKLSAJCQlNSVNDX0NUUkxfTUFYX0JVUlNUX1NJWkVfTUFTSywKLSAJCQlNSVNDX0NUUkxfU0NC X0FDQ0VTU19FTl9NQVNLIHwKLSAJCQlNSVNDX0NUUkxfQ0ZHX1JFQURfVVJfTU9ERV9NQVNLIHwK LS0JCQlNSVNDX0NUUkxfTUFYX0JVUlNUX1NJWkVfMTI4KTsKLSsJCQlNSVNDX0NUUkxfUENJRV9S Q0JfTVBTX01PREVfTUFTSyB8Ci0rCQkJdG1wKTsKLSAKLSAJdG1wID0gcmVhZGwoYmFzZSArIFBD SUVfTUlTQ19NSVNDX0NUUkwpOwotIAlpZiAocGNpZS0+cGNpZV9jZmctPnR5cGUgPT0gQkNNMjcx MikgewotQEAgLTYyNSw2ICs2NjQsMjkgQEAgc3RhdGljIGludCBicmNtX3BjaWVfcHJvYmUoc3Ry dWN0IHVkZXZpY2UgKmRldikKLSAJfQotIAl3cml0ZWwodG1wLCBiYXNlICsgUENJRV9NSVNDX01J U0NfQ1RSTCk7Ci0gCi0rCWlmIChwY2llLT5wY2llX2NmZy0+dHlwZSA9PSBCQ00yNzEyKSB7Ci0r CQkvKiBTdXBwcmVzcyBBWEkgZXJyb3IgcmVzcG9uc2VzIGFuZCByZXR1cm4gMXMgZm9yIHJlYWQg ZmFpbHVyZXMgKi8KLSsJCXRtcCA9IHJlYWRsKGJhc2UgKyBQQ0lFX01JU0NfVUJVU19DVFJMKTsK LSsJCXUzMnBfcmVwbGFjZV9iaXRzKCZ0bXAsIDEsIFBDSUVfTUlTQ19VQlVTX0NUUkxfVUJVU19Q Q0lFX1JFUExZX0VSUl9ESVNfTUFTSyk7Ci0rCQl1MzJwX3JlcGxhY2VfYml0cygmdG1wLCAxLCBQ Q0lFX01JU0NfVUJVU19DVFJMX1VCVVNfUENJRV9SRVBMWV9ERUNFUlJfRElTX01BU0spOwotKwkJ d3JpdGVsKHRtcCwgYmFzZSArIFBDSUVfTUlTQ19VQlVTX0NUUkwpOwotKwkJd3JpdGVsKDB4ZmZm ZmZmZmYsIGJhc2UgKyBQQ0lFX01JU0NfQVhJX1JFQURfRVJST1JfREFUQSk7Ci0rCi0rCQkvKgot KwkJICogQWRqdXN0IHRpbWVvdXRzLiBUaGUgVUJVUyB0aW1lb3V0IGFsc28gYWZmZWN0cyBDUlMK LSsJCSAqIGNvbXBsZXRpb24gcmV0cmllcywgYXMgdGhlIHJlcXVlc3Qgd2lsbCBnZXQgdGVybWlu YXRlZCBpZgotKwkJICogZWl0aGVyIHRpbWVvdXQgZXhwaXJlcywgc28gYm90aCBoYXZlIHRvIGJl IGEgbGFyZ2UgdmFsdWUKLSsJCSAqIChpbiBjbG9ja3Mgb2YgNzUwTUh6KS4KLSsJCSAqIFNldCBV QlVTIHRpbWVvdXQgdG8gMjUwbXMsIHRoZW4gc2V0IFJDIGNvbmZpZyByZXRyeSB0aW1lb3V0Ci0r CQkgKiB0byBiZSB+MjQwbXMuCi0rCQkgKgotKwkJICogU2V0dGluZyBDUlNWaXM9MSB3aWxsIHN0 b3AgdGhlIGNvcmUgZnJvbSBibG9ja2luZyBvbiBhIENSUwotKwkJICogcmVzcG9uc2UsIGJ1dCBk b2VzIHJlcXVpcmUgdGhlIGRldmljZSB0byBiZSB3ZWxsLWJlaGF2ZWQuLi4KLSsJCSAqLwotKwkJ d3JpdGVsKDB4QjJEMDAwMCwgYmFzZSArIFBDSUVfTUlTQ19VQlVTX1RJTUVPVVQpOwotKwkJd3Jp dGVsKDB4QUJBMDAwMCwgYmFzZSArIFBDSUVfTUlTQ19SQ19DT05GSUdfUkVUUllfVElNRU9VVCk7 Ci0rCX0KLSsKLSAJLyogRGlzYWJsZSB0aGUgUENJZS0+R0lTQiBtZW1vcnkgd2luZG93IChSQ19C QVIxKSAqLwotIAljbHJiaXRzX2xlMzIoYmFzZSArIFBDSUVfTUlTQ19SQ19CQVIxX0NPTkZJR19M TywKLSAJCSAgICAgUkNfQkFSMV9DT05GSUdfTE9fU0laRV9NQVNLKTsKCmRpZmYgLS1naXQgYS9G aXgtTlZNZS1ub3Qtb25seS1vbi1SYXNwYmVycnktUGktNS5wYXRjaCBiL0ZpeC1OVk1lLW5vdC1v bmx5LW9uLVJhc3BiZXJyeS1QaS01LnBhdGNoCmluZGV4IDQ4YmFkNDQuLjY3ZjBkNmIgMTAwNjQ0 Ci0tLSBhL0ZpeC1OVk1lLW5vdC1vbmx5LW9uLVJhc3BiZXJyeS1QaS01LnBhdGNoCisrKyBiL0Zp eC1OVk1lLW5vdC1vbmx5LW9uLVJhc3BiZXJyeS1QaS01LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAot RnJvbSAwNjE3OWUwODQxODFjYmJjMWUyMDEyMWRjNTI1NjIxYjc3NzMzYmJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbSA5ZjkyNmUwN2E5ZmMzNGQ5Yzk1ZmNjMzMxODY3ZWUxN2Q2YTEy MTA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogVG9yc3RlbiBEdXdlIDxkdXdlQHN1 c2UuZGU+CiBEYXRlOiBGcmksIDggTWF5IDIwMjYgMTc6NDI6MzkgKzAyMDAKIFN1YmplY3Q6IFtQ QVRDSCAxLzNdIGNvcmU6IFNraXAgcGFyZW50IGRldmljZSBub2RlcyB3aXRob3V0IGEgRFQgcmVm ZXJlbmNlCkBAIC00OCw5ICs0OCw5IEBAIGluZGV4IGQzNjUyMDRiYTExLi5iNmQwMGNmNDcxNCAx MDA2NDQKIC0tIAogMi41NC4wCiAKLUZyb20gMzg5NzhlMzhjMTI0Njk3MmEzMTg0NzlhMWU4MzNk NjZmMDZlNDFiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTYwYmU2M2MwNTE5MjM5 YTIyNzhjYjVhNjU2OTM5OGQwMDEzZjQyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206 IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWF5 IDIwMjYgMTM6Mzg6MjcgKzAxMDAKK0RhdGU6IFR1ZSwgMjMgSnVuIDIwMjYgMTA6NTU6MTcgKzAx MDAKIFN1YmplY3Q6IFtQQVRDSCAyLzNdIG52bWU6IEZpeCBtaXNzaW5nIGFkZHJlc3MgdHJhbnNs YXRpb24gZm9yIFBDSWUgaW5ib3VuZAogIGFjY2VzcwogCkBAIC03MCw3ICs3MCw3IEBAIFNpZ25l ZC1vZmYtYnk6IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdtYWlsLmNvbT4KICAxIGZpbGUg Y2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQg YS9kcml2ZXJzL252bWUvbnZtZS5jIGIvZHJpdmVycy9udm1lL252bWUuYwotaW5kZXggMDYzMWIx OTBiOTcuLjcxM2YyYjBiNzEzIDEwMDY0NAoraW5kZXggMTQ3YTEwNDE0OWUuLjZmNWY1OGU0MDg4 IDEwMDY0NAogLS0tIGEvZHJpdmVycy9udm1lL252bWUuYwogKysrIGIvZHJpdmVycy9udm1lL252 bWUuYwogQEAgLTEyLDYgKzEyLDcgQEAKQEAgLTgxLDkgKzgxLDkgQEAgaW5kZXggMDYzMWIxOTBi OTcuLjcxM2YyYjBiNzEzIDEwMDY0NAogICNpbmNsdWRlIDx0aW1lLmg+CiAgI2luY2x1ZGUgPGRt L2RldmljZS1pbnRlcm5hbC5oPgogICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KLUBAIC0yNyw2 ICsyOCwxMyBAQAotICNkZWZpbmUgSU9fVElNRU9VVAkJMzAKLSAjZGVmaW5lIE1BWF9QUlBfUE9P TAkJNTEyCitAQCAtNDQsNiArNDUsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIG52bWVfaW52YWxp ZGF0ZV9jYWNoZV9hbGlnbmVkKHVpbnRwdHJfdCBhZGRyLCBpbnQgbGVuZ3RoKQorIAlpbnZhbGlk YXRlX2RjYWNoZV9yYW5nZShzdGFydF9hZGRyLCBlbmRfYWRkcik7CisgfQogIAogKy8qCiArICog Q29udmVydCBhIG1lbW9yeSBhZGRyZXNzIHRvIHRoZSB2YWx1ZSBuZWVkZWQgYnkgdGhlIFBDSSBk ZXZpY2UgdG8KQEAgLTk1LDcgKzk1LDcgQEAgaW5kZXggMDYzMWIxOTBiOTcuLjcxM2YyYjBiNzEz IDEwMDY0NAogIHN0YXRpYyBpbnQgbnZtZV93YWl0X2NzdHMoc3RydWN0IG52bWVfZGV2ICpkZXYs IHUzMiBtYXNrLCB1MzIgdmFsKQogIHsKICAJaW50IHRpbWVvdXQ7Ci1AQCAtOTEsOCArOTksOCBA QCBzdGF0aWMgaW50IG52bWVfc2V0dXBfcHJwcyhzdHJ1Y3QgbnZtZV9kZXYgKmRldiwgdTY0ICpw cnAyLAorQEAgLTEwOCw4ICsxMTYsOCBAQCBzdGF0aWMgaW50IG52bWVfc2V0dXBfcHJwcyhzdHJ1 Y3QgbnZtZV9kZXYgKmRldiwgdTY0ICpwcnAyLAogIAlpID0gMDsKICAJd2hpbGUgKG5wcnBzKSB7 CiAgCQlpZiAoKGkgPT0gKHBycHNfcGVyX3BhZ2UgLSAxKSkgJiYgbnBycHMgPiAxKSB7CkBAIC0x MDYsNyArMTA2LDcgQEAgaW5kZXggMDYzMWIxOTBiOTcuLjcxM2YyYjBiNzEzIDEwMDY0NAogIAkJ CWkgPSAwOwogIAkJCXBycF9wb29sID0gKHU2NCAqKSgodWludHB0cl90KXBycF9wb29sICsgcGFn ZV9zaXplKTsKICAJCX0KLUBAIC0zOTYsOCArNDA0LDggQEAgc3RhdGljIGludCBudm1lX2NvbmZp Z3VyZV9hZG1pbl9xdWV1ZShzdHJ1Y3QgbnZtZV9kZXYgKmRldikKK0BAIC00MTAsOCArNDE4LDgg QEAgc3RhdGljIGludCBudm1lX2NvbmZpZ3VyZV9hZG1pbl9xdWV1ZShzdHJ1Y3QgbnZtZV9kZXYg KmRldikKICAJZGV2LT5jdHJsX2NvbmZpZyB8PSBOVk1FX0NDX0lPU1FFUyB8IE5WTUVfQ0NfSU9D UUVTOwogIAogIAl3cml0ZWwoYXFhLCAmZGV2LT5iYXItPmFxYSk7CkBAIC0xMTcsNyArMTE3LDcg QEAgaW5kZXggMDYzMWIxOTBiOTcuLjcxM2YyYjBiNzEzIDEwMDY0NAogIAogIAlyZXN1bHQgPSBu dm1lX2VuYWJsZV9jdHJsKGRldik7CiAgCWlmIChyZXN1bHQpCi1AQCAtNDIzLDcgKzQzMSw3IEBA IHN0YXRpYyBpbnQgbnZtZV9hbGxvY19jcShzdHJ1Y3QgbnZtZV9kZXYgKmRldiwgdTE2IHFpZCwK K0BAIC00MzcsNyArNDQ1LDcgQEAgc3RhdGljIGludCBudm1lX2FsbG9jX2NxKHN0cnVjdCBudm1l X2RldiAqZGV2LCB1MTYgcWlkLAogIAogIAltZW1zZXQoJmMsIDAsIHNpemVvZihjKSk7CiAgCWMu Y3JlYXRlX2NxLm9wY29kZSA9IG52bWVfYWRtaW5fY3JlYXRlX2NxOwpAQCAtMTI2LDcgKzEyNiw3 IEBAIGluZGV4IDA2MzFiMTkwYjk3Li43MTNmMmIwYjcxMyAxMDA2NDQKICAJYy5jcmVhdGVfY3Eu Y3FpZCA9IGNwdV90b19sZTE2KHFpZCk7CiAgCWMuY3JlYXRlX2NxLnFzaXplID0gY3B1X3RvX2xl MTYobnZtZXEtPnFfZGVwdGggLSAxKTsKICAJYy5jcmVhdGVfY3EuY3FfZmxhZ3MgPSBjcHVfdG9f bGUxNihmbGFncyk7Ci1AQCAtNDQwLDcgKzQ0OCw3IEBAIHN0YXRpYyBpbnQgbnZtZV9hbGxvY19z cShzdHJ1Y3QgbnZtZV9kZXYgKmRldiwgdTE2IHFpZCwKK0BAIC00NTQsNyArNDYyLDcgQEAgc3Rh dGljIGludCBudm1lX2FsbG9jX3NxKHN0cnVjdCBudm1lX2RldiAqZGV2LCB1MTYgcWlkLAogIAog IAltZW1zZXQoJmMsIDAsIHNpemVvZihjKSk7CiAgCWMuY3JlYXRlX3NxLm9wY29kZSA9IG52bWVf YWRtaW5fY3JlYXRlX3NxOwpAQCAtMTM1LDcgKzEzNSw3IEBAIGluZGV4IDA2MzFiMTkwYjk3Li43 MTNmMmIwYjcxMyAxMDA2NDQKICAJYy5jcmVhdGVfc3Euc3FpZCA9IGNwdV90b19sZTE2KHFpZCk7 CiAgCWMuY3JlYXRlX3NxLnFzaXplID0gY3B1X3RvX2xlMTYobnZtZXEtPnFfZGVwdGggLSAxKTsK ICAJYy5jcmVhdGVfc3Euc3FfZmxhZ3MgPSBjcHVfdG9fbGUxNihmbGFncyk7Ci1AQCAtNDYxLDE0 ICs0NjksMTQgQEAgaW50IG52bWVfaWRlbnRpZnkoc3RydWN0IG52bWVfZGV2ICpkZXYsIHVuc2ln bmVkIG5zaWQsCitAQCAtNDc2LDE0ICs0ODQsMTQgQEAgaW50IG52bWVfaWRlbnRpZnkoc3RydWN0 IG52bWVfZGV2ICpkZXYsIHVuc2lnbmVkIG5zaWQsCiAgCW1lbXNldCgmYywgMCwgc2l6ZW9mKGMp KTsKICAJYy5pZGVudGlmeS5vcGNvZGUgPSBudm1lX2FkbWluX2lkZW50aWZ5OwogIAljLmlkZW50 aWZ5Lm5zaWQgPSBjcHVfdG9fbGUzMihuc2lkKTsKQEAgLTE1Miw3ICsxNTIsNyBAQCBpbmRleCAw NjMxYjE5MGI5Ny4uNzEzZjJiMGI3MTMgMTAwNjQ0CiAgCX0KICAKICAJYy5pZGVudGlmeS5jbnMg PSBjcHVfdG9fbGUzMihjbnMpOwotQEAgLTQ5Myw3ICs1MDEsNyBAQCBpbnQgbnZtZV9nZXRfZmVh dHVyZXMoc3RydWN0IG52bWVfZGV2ICpkZXYsIHVuc2lnbmVkIGZpZCwgdW5zaWduZWQgbnNpZCwK K0BAIC01MDgsNyArNTE2LDcgQEAgaW50IG52bWVfZ2V0X2ZlYXR1cmVzKHN0cnVjdCBudm1lX2Rl diAqZGV2LCB1bnNpZ25lZCBmaWQsIHVuc2lnbmVkIG5zaWQsCiAgCW1lbXNldCgmYywgMCwgc2l6 ZW9mKGMpKTsKICAJYy5mZWF0dXJlcy5vcGNvZGUgPSBudm1lX2FkbWluX2dldF9mZWF0dXJlczsK ICAJYy5mZWF0dXJlcy5uc2lkID0gY3B1X3RvX2xlMzIobnNpZCk7CkBAIC0xNjEsNyArMTYxLDcg QEAgaW5kZXggMDYzMWIxOTBiOTcuLjcxM2YyYjBiNzEzIDEwMDY0NAogIAljLmZlYXR1cmVzLmZp ZCA9IGNwdV90b19sZTMyKGZpZCk7CiAgCiAgCXJldCA9IG52bWVfc3VibWl0X2FkbWluX2NtZChk ZXYsICZjLCByZXN1bHQpOwotQEAgLTUxOSw3ICs1MjcsNyBAQCBpbnQgbnZtZV9zZXRfZmVhdHVy ZXMoc3RydWN0IG52bWVfZGV2ICpkZXYsIHVuc2lnbmVkIGZpZCwgdW5zaWduZWQgZHdvcmQxMSwK K0BAIC01MzQsNyArNTQyLDcgQEAgaW50IG52bWVfc2V0X2ZlYXR1cmVzKHN0cnVjdCBudm1lX2Rl diAqZGV2LCB1bnNpZ25lZCBmaWQsIHVuc2lnbmVkIGR3b3JkMTEsCiAgCiAgCW1lbXNldCgmYywg MCwgc2l6ZW9mKGMpKTsKICAJYy5mZWF0dXJlcy5vcGNvZGUgPSBudm1lX2FkbWluX3NldF9mZWF0 dXJlczsKQEAgLTE3MCw3ICsxNzAsNyBAQCBpbmRleCAwNjMxYjE5MGI5Ny4uNzEzZjJiMGI3MTMg MTAwNjQ0CiAgCWMuZmVhdHVyZXMuZmlkID0gY3B1X3RvX2xlMzIoZmlkKTsKICAJYy5mZWF0dXJl cy5kd29yZDExID0gY3B1X3RvX2xlMzIoZHdvcmQxMSk7CiAgCi1AQCAtNzg4LDggKzc5Niw4IEBA IHN0YXRpYyB1bG9uZyBudm1lX2Jsa19ydyhzdHJ1Y3QgdWRldmljZSAqdWRldiwgbGJhaW50X3Qg YmxrbnIsCitAQCAtODAyLDggKzgxMCw4IEBAIHN0YXRpYyB1bG9uZyBudm1lX2Jsa19ydyhzdHJ1 Y3QgdWRldmljZSAqdWRldiwgbGJhaW50X3QgYmxrbnIsCiAgCQljLnJ3LnNsYmEgPSBjcHVfdG9f bGU2NChzbGJhKTsKICAJCXNsYmEgKz0gbGJhczsKICAJCWMucncubGVuZ3RoID0gY3B1X3RvX2xl MTYobGJhcyAtIDEpOwpAQCAtMTg0LDcgKzE4NCw3IEBAIGluZGV4IDA2MzFiMTkwYjk3Li43MTNm MmIwYjcxMyAxMDA2NDQKIC0tIAogMi41NC4wCiAKLUZyb20gMGU5ZDM3YjM5OGYyNWJjYjA1NTI1 OTEwZDUxNTU1OWM5MDkwYzBhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTRjMzAz N2JhYmE5MWNmNGM5MzMwMTU0ZTkxYWI1YjcyNTdkZTA5ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKIEZyb206IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBzdXNlLmRlPgogRGF0ZTogRnJpLCA4IE1heSAy MDI2IDE3OjQyOjQ4ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0ggMy8zXSBjb25maWdzOiBlbmFibGUg TlZNZQpAQCAtMTk5LDEwICsxOTksMTAgQEAgVGVzdGVkLWJ5OiBQZXRlciBSb2JpbnNvbiA8cGJy b2JpbnNvbkBnbWFpbC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKIGRp ZmYgLS1naXQgYS9jb25maWdzL3JwaV9hcm02NF9kZWZjb25maWcgYi9jb25maWdzL3JwaV9hcm02 NF9kZWZjb25maWcKLWluZGV4IDY5ZThlNzJjNWQ3Li5hY2Y0NGY0NGZjNSAxMDA2NDQKK2luZGV4 IGNkY2YwNWVhNmRiLi41Mzc2YTVlMjVhYyAxMDA2NDQKIC0tLSBhL2NvbmZpZ3MvcnBpX2FybTY0 X2RlZmNvbmZpZwogKysrIGIvY29uZmlncy9ycGlfYXJtNjRfZGVmY29uZmlnCi1AQCAtNDEsNiAr NDEsNyBAQCBDT05GSUdfTU1DX1NESENJX1NETUE9eQorQEAgLTQ0LDYgKzQ0LDcgQEAgQ09ORklH X01NQ19TREhDSV9TRE1BPXkKICBDT05GSUdfTU1DX1NESENJX0JDTTI4MzU9eQogIENPTkZJR19N TUNfU0RIQ0lfQkNNU1RCPXkKICBDT05GSUdfQkNNR0VORVQ9eQoKZGlmZiAtLWdpdCBhL1JldmVy dC1sbWItUmVpbnN0YXRlLWFjY2Vzcy10by1tZW1vcnktYWJvdmUtcmFtX3RvcC5wYXRjaCBiL1Jl dmVydC1sbWItUmVpbnN0YXRlLWFjY2Vzcy10by1tZW1vcnktYWJvdmUtcmFtX3RvcC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5ZmNlOC4uMDAwMDAwMAotLS0gYS9SZXZl cnQtbG1iLVJlaW5zdGF0ZS1hY2Nlc3MtdG8tbWVtb3J5LWFib3ZlLXJhbV90b3AucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIDhhODhlYjQ4ODNiMTZiODRhZDQ0ZGI0 MDBlZTI1NzI5NjZjMmRkMzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQZXRlciBS b2JpbnNvbiA8cGJyb2JpbnNvbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1heSAyMDI2IDEz OjExOjA2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAibG1iOiBSZWluc3RhdGUgYWNj ZXNzIHRvIG1lbW9yeSBhYm92ZSByYW1fdG9wIgotCi1UaGlzIHJldmVydHMgY29tbWl0IGEzMDc1 ZGI5NGQ0OWY0MTU2NThiZjdlOTYxZTFlYWU5MGQ5YWJjMzMuCi0tLS0KLSBsaWIvbG1iLmMgfCAx NyArKysrKysrKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvbG1iLmMgYi9saWIvbG1iLmMKLWluZGV4 IDhmMTJjNmFkOGU1Li5lMmQ5ZmU4NmMxNCAxMDA2NDQKLS0tLSBhL2xpYi9sbWIuYwotKysrIGIv bGliL2xtYi5jCi1AQCAtNjExLDYgKzYxMSw3IEBAIHN0YXRpYyBfX21heWJlX3VudXNlZCB2b2lk IGxtYl9yZXNlcnZlX2NvbW1vbl9zcGwodm9pZCkKLSBzdGF0aWMgdm9pZCBsbWJfYWRkX21lbW9y eSh2b2lkKQotIHsKLSAJaW50IGk7Ci0rCXBoeXNfYWRkcl90IGJhbmtfZW5kOwotIAlwaHlzX3Np emVfdCBzaXplOwotIAl1NjQgcmFtX3RvcCA9IGdkLT5yYW1fdG9wOwotIAlzdHJ1Y3QgYmRfaW5m byAqYmQgPSBnZC0+YmQ7Ci1AQCAtNjI0LDkgKzYyNSwyMyBAQCBzdGF0aWMgdm9pZCBsbWJfYWRk X21lbW9yeSh2b2lkKQotIAotIAlmb3IgKGkgPSAwOyBpIDwgQ09ORklHX05SX0RSQU1fQkFOS1M7 IGkrKykgewotIAkJc2l6ZSA9IGJkLT5iaV9kcmFtW2ldLnNpemU7Ci0rCQliYW5rX2VuZCA9IGJk LT5iaV9kcmFtW2ldLnN0YXJ0ICsgc2l6ZTsKLSAKLS0JCWlmIChzaXplKQotKwkJaWYgKHNpemUp IHsKLSAJCQlsbWJfYWRkKGJkLT5iaV9kcmFtW2ldLnN0YXJ0LCBzaXplKTsKLSsKLSsJCQkvKgot KwkJCSAqIFJlc2VydmUgbWVtb3J5IGFib3ZlIHJhbV90b3AgYXMKLSsJCQkgKiBuby1vdmVyd3Jp dGUgc28gdGhhdCBpdCBjYW5ub3QgYmUKLSsJCQkgKiBhbGxvY2F0ZWQKLSsJCQkgKi8KLSsJCQlp ZiAoYmQtPmJpX2RyYW1baV0uc3RhcnQgPj0gcmFtX3RvcCkKLSsJCQkJbG1iX3Jlc2VydmUoYmQt PmJpX2RyYW1baV0uc3RhcnQsIHNpemUsCi0rCQkJCQkgICAgTE1CX05PT1ZFUldSSVRFKTsKLSsJ CQllbHNlIGlmIChiYW5rX2VuZCA+IHJhbV90b3ApCi0rCQkJCWxtYl9yZXNlcnZlKHJhbV90b3As IGJhbmtfZW5kIC0gcmFtX3RvcCwKLSsJCQkJCSAgICBMTUJfTk9PVkVSV1JJVEUpOwotKwkJfQot IAl9Ci0gfQotIAotLS0gCi0yLjU0LjAKLQoKZGlmZiAtLWdpdCBhL21tYy1iY20yODM1X3NkaGNp LVBhcnNlLWdlbmVyaWMtTU1DLWRldmljZS10cmVlLXByb3BlcnRpZXMucGF0Y2ggYi9tbWMtYmNt MjgzNV9zZGhjaS1QYXJzZS1nZW5lcmljLU1NQy1kZXZpY2UtdHJlZS1wcm9wZXJ0aWVzLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTM3MDE5Li4wMDAwMDAwCi0tLSBhL21t Yy1iY20yODM1X3NkaGNpLVBhcnNlLWdlbmVyaWMtTU1DLWRldmljZS10cmVlLXByb3BlcnRpZXMu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjcgKzAsMCBAQAotRnJvbSBwYXRjaHdvcmsgU2F0 IE1heSAgOSAyMTowNjowNyAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 InV0Zi04IgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdi aXQKLVgtUGF0Y2h3b3JrLVN1Ym1pdHRlcjogTGllbEBkZW54LmRlLCBIYXJlbEBkZW54LmRlLCBs aWVsLmhhcmVsQGdtYWlsLmNvbQotWC1QYXRjaHdvcmstSWQ6IDIyMzU1NzkKLVgtUGF0Y2h3b3Jr LURlbGVnYXRlOiBwYnJvYmluc29uQGdtYWlsLmNvbQotUmV0dXJuLVBhdGg6IDx1LWJvb3QtYm91 bmNlc0BsaXN0cy5kZW54LmRlPgotWC1PcmlnaW5hbC1UbzogaW5jb21pbmdAcGF0Y2h3b3JrLm96 bGFicy5vcmcKLURlbGl2ZXJlZC1UbzogcGF0Y2h3b3JrLWluY29taW5nQGxlZ29sYXMub3psYWJz Lm9yZwotQXV0aGVudGljYXRpb24tUmVzdWx0czogbGVnb2xhcy5vemxhYnMub3JnOwotCWRraW09 cGFzcyAoMjA0OC1iaXQga2V5OwotIHVucHJvdGVjdGVkKSBoZWFkZXIuZD1kZW54LmRlIGhlYWRl ci5pPUBkZW54LmRlIGhlYWRlci5hPXJzYS1zaGEyNTYKLSBoZWFkZXIucz1waG9ib3MtMjAxOTEx MDEgaGVhZGVyLmI9V2hoWStFWkc7Ci0JZGtpbS1hdHBzPW5ldXRyYWwKLUF1dGhlbnRpY2F0aW9u LVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9yZzsKLSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBhdXRo b3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3RzLmRlbnguZGUKLSAoY2xpZW50LWlwPTg1LjIxNC42 Mi42MTsgaGVsbz1waG9ib3MuZGVueC5kZTsKLSBlbnZlbG9wZS1mcm9tPXUtYm9vdC1ib3VuY2Vz QGxpc3RzLmRlbnguZGU7IHJlY2VpdmVyPXBhdGNod29yay5vemxhYnMub3JnKQotUmVjZWl2ZWQ6 IGZyb20gcGhvYm9zLmRlbnguZGUgKHBob2Jvcy5kZW54LmRlIFs4NS4yMTQuNjIuNjFdKQotCSh1 c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRMU19BRVNfMjU2X0dDTV9TSEEzODQgKDI1Ni8yNTYg Yml0cykKLQkga2V5LWV4Y2hhbmdlIHgyNTUxOSkKLQkoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJl cXVlc3RlZCkKLQlieSBsZWdvbGFzLm96bGFicy5vcmcgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlk IDRnQ2x3dDFxSDh6MXk1TAotCWZvciA8aW5jb21pbmdAcGF0Y2h3b3JrLm96bGFicy5vcmc+OyBT dW4sIDEwIE1heSAyMDI2IDExOjQyOjU0ICsxMDAwIChBRVNUKQotUmVjZWl2ZWQ6IGZyb20gaDI4 NTA2MTYuc3RyYXRvc2VydmVyLm5ldCAobG9jYWxob3N0IFtJUHY2Ojo6MV0pCi0JYnkgcGhvYm9z LmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFAgaWQgRDE4RDg4NEIxRTsKLQlTdW4sIDEwIE1h eSAyMDI2IDAzOjQyOjE0ICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhv Ym9zLmRlbnguZGU7Ci0gZG1hcmM9ZmFpbCAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1k ZW54LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBzcGY9cGFz cyBzbXRwLm1haWxmcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLURLSU0tU2lnbmF0 dXJlOiB2PTE7IGE9cnNhLXNoYTI1NjsgYz1yZWxheGVkL3JlbGF4ZWQ7IGQ9ZGVueC5kZTsKLQlz PXBob2Jvcy0yMDE5MTEwMTsgdD0xNzc4Mzc3MzM0OwotCWJoPUJmZzhpYUdnaGhCMFcxUXJJSnFK QUk1bEtvalpTMEFrUHRkRVFWMXBTUFk9OwotCWg9RnJvbTpUbzpDYzpTdWJqZWN0OkRhdGU6TGlz dC1JZDpMaXN0LVVuc3Vic2NyaWJlOkxpc3QtQXJjaGl2ZToKLQkgTGlzdC1Qb3N0Okxpc3QtSGVs cDpMaXN0LVN1YnNjcmliZTpGcm9tOwotCWI9V2hoWStFWkd0bWdlV3lMMWZsZDFxMVV2bnV5cDNm UFlldHU0R3NyazVvYjZyMVNJcU1OczVKMkxrRDUza0pDdGsKLQkgU2dseWgwbnlaeStvR3EyemFx MFZ2VVJtRmd3M0NjZ04yUEJ0bWV2WlB4L1BiQUxKNGIvekJvL1lMeElTY2lQSjlKCi0JIHZtQnFY L0lWSmw1VkJSeFRtM0U4UmI2cTMvOUNEUjlmSU1idkord1RaRGxBcDFESEFBZlY5NGJsTndFVFdH Qm5oTQotCSArdUJJSkdTWjhqYkxSVHdtSFlPbjBvbUNDcGZuUWpvWVVRdkVwUldhdmxGYWhhbWRC YWpCamYvMXlhNVd1RWFBYWgKLQkgY240cHNhOC9XaXZ3NlhjOE9ORkR6emp0azFoVy9Sd05tczB3 U2JwZitsejhjZVFsOUpmTGpjYkxtcDZ6VTE2SUpjCi0JIHl5aUtIMy9HM3IzVFE9PQotUmVjZWl2 ZWQ6IGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4LCBmcm9tIHVzZXJpZCAxMDkpCi0gaWQgOEJF QUY4NDZFQjsgU2F0LCAgOSBNYXkgMjAyNiAyMzowNjo0NyArMDIwMCAoQ0VTVCkKLVgtU3BhbS1D aGVja2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAoMjAxOC0wOS0xMykgb24gcGhvYm9z LmRlbnguZGUKLVgtU3BhbS1MZXZlbDogCi1YLVNwYW0tU3RhdHVzOiBObywgc2NvcmU9MC4wIHJl cXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18wMCwKLSBES0lNX0FEU1BfQ1VTVE9NX01FRCwKLSBGT1JH RURfR01BSUxfUkNWRCxGUkVFTUFJTF9GUk9NLE5NTF9BRFNQX0NVU1RPTV9NRUQsCi0gUkNWRF9J Tl9ETlNXTF9CTE9DS0VELFJDVkRfSU5fTVNQSUtFX0gyLFNQRl9IRUxPX05PTkUsU1BGX1BBU1MK LSBhdXRvbGVhcm49bm8gYXV0b2xlYXJuX2ZvcmNlPW5vIHZlcnNpb249My40LjIKLVJlY2VpdmVk OiBmcm9tIG1haWwtd20xLWY1Mi5nb29nbGUuY29tIChtYWlsLXdtMS1mNTIuZ29vZ2xlLmNvbQot IFsyMDkuODUuMTI4LjUyXSkKLSAodXNpbmcgVExTdjEuMyB3aXRoIGNpcGhlciBUTFNfQUVTXzEy OF9HQ01fU0hBMjU2ICgxMjgvMTI4IGJpdHMpKQotIChObyBjbGllbnQgY2VydGlmaWNhdGUgcmVx dWVzdGVkKQotIGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4KSB3aXRoIEVTTVRQUyBpZCBCNTI2 Qjg0NkRGCi0gZm9yIDx1LWJvb3RAbGlzdHMuZGVueC5kZT47IFNhdCwgIDkgTWF5IDIwMjYgMjM6 MDY6NDUgKzAyMDAgKENFU1QpCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5k ZTsKLSBkbWFyYz1mYWlsIChwPW5vbmUgZGlzPW5vbmUpIGhlYWRlci5mcm9tPWdtYWlsLmNvbQot QXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gc3BmPXBhc3Mgc210cC5t YWlsZnJvbT1saWVsLmhhcmVsQGdtYWlsLmNvbQotUmVjZWl2ZWQ6IGJ5IG1haWwtd20xLWY1Mi5n b29nbGUuY29tIHdpdGggU01UUCBpZAotIDViMWYxN2IxODA0YjEtNDg4YmE4NDAxNDZzbzI2OTc0 MjA1ZTkuMQotIGZvciA8dS1ib290QGxpc3RzLmRlbnguZGU+OyBTYXQsIDA5IE1heSAyMDI2IDE0 OjA2OjQ1IC0wNzAwIChQRFQpCi1YLUdvb2dsZS1ES0lNLVNpZ25hdHVyZTogdj0xOyBhPXJzYS1z aGEyNTY7IGM9cmVsYXhlZC9yZWxheGVkOwotIGQ9MWUxMDAubmV0OyBzPTIwMjUxMTA0OyB0PTE3 NzgzNjA4MDU7IHg9MTc3ODk2NTYwNTsKLSBoPWNvbnRlbnQtdHJhbnNmZXItZW5jb2Rpbmc6bWlt ZS12ZXJzaW9uOm1lc3NhZ2UtaWQ6ZGF0ZTpzdWJqZWN0OmNjCi0gOnRvOmZyb206eC1nbS1nZzp4 LWdtLW1lc3NhZ2Utc3RhdGU6ZnJvbTp0bzpjYzpzdWJqZWN0OmRhdGUKLSA6bWVzc2FnZS1pZDpy ZXBseS10bzsKLSBiaD1CZmc4aWFHZ2hoQjBXMVFySUpxSkFJNWxLb2paUzBBa1B0ZEVRVjFwU1BZ PTsKLSBiPVJlempGZTJiVm0wVk9hVWZHZ092dks0TlRVTGlBWVViTVN2bzc5blliQXRLSnVUaktr bmY4ZXpZQnVsZW5mY3ltOQotIExaelNuMG1pNHZJZXJZK2REWC9JY0hobkhZVnVldXZBeWVFTUhT aXRTdGNqck42dDd2U3RKZHVVbGN3eWcrVXVKcGE4Ci0gQVc0NWt4dnQ5aEdrU2FmWVRPSkR2SWtZ bWFFRWJnMDJpL0dMMVpTYjhIYmp6NEovcW5DRzdDanpzTGI5dWp1UDNEMXQKLSBuRVF5Z0s5aUtj MjdVeE0vYUY4NjZyYStuKzJ2VWVDMUQ5eWhmeHdYOTl4VkZrS3FXeTVHbTlva21SbVNDQTNOL3Bm WgotIGN4ck4vQzgvVmpTUkFMV2M5dnJ3RFZkNE5QQktFUHllSmFBN2lQZHV4UUNWbkhDandHc3cw MVl4emRrcE1iUXFZR1NjCi0gbW9Mdz09Ci1YLUdtLU1lc3NhZ2UtU3RhdGU6IEFPSnUwWXo2STVt YkVIay9ZL2Z6U3c3a1JTdjBiNXZSRVZnZFdFUHlCUXZsdnUzS0tURzFheFVtCi0gNjYzYVZmcXhr Z1l0QStqYU1nMk5BaS9jaXh6VlRVK25pODIzNzd3czRKdVBBUll3dXNxREZkMy9FWmR2Vmk3R0la WT0KLVgtR20tR2c6IEFjcTkyT0c5RzIyV2NvN0ZOOW5sSkZKYXkwSlpNQkluQ0Z6bjdRRzZCRXN6 SXNYV01oVEhGV3FPS2w2TjEvR3krRkYKLSBNc1BWUW5ndzFiVkZPQlRETzhjYjc3RzBBazJyLy91 NlZQbmZyV3hmQVROMjBwTGZRZWc3UkkyOUtobjMyTHVXUTlRSEJzTXdNOXUKLSA5dWpraG10OVlw cE5SYWxlQmpid2xBMGlKbUNKWVdTUGEzeXZCS3E3dytLOEZxN0JjajBUMUU3UllNM1FaenBaTWN4 Nm1YT1VGZ2kKLSBVUG1PTGRVU3JCK004dlZMM0dBNi9KN3JmandQSXgzQk42OG9YTENoUWNVcXBS QWt6Q2dSMSswWVViYmdRYWFEZEJLKzNzZTQrYkkKLSBTWGMwRThCY2ZQVzRrTHhJVy9ER1Q5QUww NStpNWpjZEFjM0lLc0hEdEVudW9URTlHMVdoOVFLVU1rZ2NQYjNjdlpYTHhwVlJCbkYKLSBhYncz aFRpdU0rTXdpRGNITGN5L2phNmN4V0YrL0VaVCtCU3dvc2IvdkUraDcxb1k5TXlyOEhGbXNYNFNW OFRlOE9hV015TEpIQkUKLSBhdHBXajdGQ0dWejFDK3ZLcnNhZkJSR2VwK0k2UnZoOFNWCi1YLVJl Y2VpdmVkOiBieSAyMDAyOmE1ZDo1ZjQ3OjA6YjA6NDQ5OmMxZTg6NzY1NSB3aXRoIFNNVFAgaWQK LSBmZmFjZDBiODVhOTdkLTQ1MTVjZjEyNWJibXIyODg4MDUwNWY4Zi4yNy4xNzc4MzYwODA0Mzg1 OwotIFNhdCwgMDkgTWF5IDIwMjYgMTQ6MDY6NDQgLTA3MDAgKFBEVCkKLVJlY2VpdmVkOiBmcm9t IExpZWwubG9jYWxkb21haW4gKFs3Ny4xMzcuNzcuNDZdKQotIGJ5IHNtdHAuZ21haWwuY29tIHdp dGggRVNNVFBTQSBpZAotIGZmYWNkMGI4NWE5N2QtNDU0OTFmOGQ0YzNzbTEzNjAwMzkxZjhmLjM0 LjIwMjYuMDUuMDkuMTQuMDYuNDMKLSAodmVyc2lvbj1UTFMxXzMgY2lwaGVyPVRMU19BRVNfMjU2 X0dDTV9TSEEzODQgYml0cz0yNTYvMjU2KTsKLSBTYXQsIDA5IE1heSAyMDI2IDE0OjA2OjQzIC0w NzAwIChQRFQpCi1Gcm9tOiBMaWVsQGRlbnguZGUsIEhhcmVsQGRlbnguZGUsIGxpZWwuaGFyZWxA Z21haWwuY29tCi1UbzogdS1ib290QGxpc3RzLmRlbnguZGUKLUNjOiBMaWVsIEhhcmVsIDxsaWVs LmhhcmVsQGdtYWlsLmNvbT4sIE1hdHRoaWFzIEJydWdnZXIgPG1icnVnZ2VyQHN1c2UuY29tPiwK LSBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBnbWFpbC5jb20+LCBQZW5nIEZhbiA8cGVuZy5m YW5AbnhwLmNvbT4sCi0gSmFlaG9vbiBDaHVuZyA8amg4MC5jaHVuZ0BzYW1zdW5nLmNvbT4sIFRv bSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+Ci1TdWJqZWN0OiBbUEFUQ0hdIG1tYzogYmNtMjgz NV9zZGhjaTogUGFyc2UgZ2VuZXJpYyBNTUMgZGV2aWNlIHRyZWUgcHJvcGVydGllcwotRGF0ZTog U3VuLCAxMCBNYXkgMjAyNiAwMDowNjowNyArMDMwMAotTWVzc2FnZS1JRDogPDIwMjYwNTA5MjEw NjA3LjUxMzAzLTEtbGllbC5oYXJlbEBnbWFpbC5jb20+Ci1YLU1haWxlcjogZ2l0LXNlbmQtZW1h aWwgMi40My4wCi1NSU1FLVZlcnNpb246IDEuMAotWC1NYWlsbWFuLUFwcHJvdmVkLUF0OiBTdW4s IDEwIE1heSAyMDI2IDAzOjQyOjEzICswMjAwCi1YLUJlZW5UaGVyZTogdS1ib290QGxpc3RzLmRl bnguZGUKLVgtTWFpbG1hbi1WZXJzaW9uOiAyLjEuMzkKLVByZWNlZGVuY2U6IGxpc3QKLUxpc3Qt SWQ6IFUtQm9vdCBkaXNjdXNzaW9uIDx1LWJvb3QubGlzdHMuZGVueC5kZT4KLUxpc3QtVW5zdWJz Y3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvb3B0aW9ucy91LWJvb3Q+LAotIDxtYWlsdG86 dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5kZT9zdWJqZWN0PXVuc3Vic2NyaWJlPgotTGlzdC1B cmNoaXZlOiA8aHR0cHM6Ly9saXN0cy5kZW54LmRlL3BpcGVybWFpbC91LWJvb3QvPgotTGlzdC1Q b3N0OiA8bWFpbHRvOnUtYm9vdEBsaXN0cy5kZW54LmRlPgotTGlzdC1IZWxwOiA8bWFpbHRvOnUt Ym9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1oZWxwPgotTGlzdC1TdWJzY3JpYmU6 IDxodHRwczovL2xpc3RzLmRlbnguZGUvbGlzdGluZm8vdS1ib290PiwKLSA8bWFpbHRvOnUtYm9v dC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3ViamVjdD1zdWJzY3JpYmU+Ci1FcnJvcnMtVG86IHUt Ym9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLVNlbmRlcjogIlUtQm9vdCIgPHUtYm9vdC1ib3Vu Y2VzQGxpc3RzLmRlbnguZGU+Ci1YLVZpcnVzLVNjYW5uZWQ6IGNsYW1hdi1taWx0ZXIgMC4xMDMu OCBhdCBwaG9ib3MuZGVueC5kZQotWC1WaXJ1cy1TdGF0dXM6IENsZWFuCi0KLUZyb206IExpZWwg SGFyZWwgPGxpZWwuaGFyZWxAZ21haWwuY29tPgotCi1UaGUgYmNtMjgzNSBTREhDSSBkcml2ZXIg c2V0cyB1cCB0aGUgTU1DIGhvc3QgY29uZmlndXJhdGlvbiB2aWEKLXNkaGNpX3NldHVwX2NmZygp LCBidXQgZG9lcyBub3QgcGFyc2UgZ2VuZXJpYyBNTUMgZGV2aWNlIHRyZWUKLXByb3BlcnRpZXMu Ci0KLUFzIGEgcmVzdWx0LCBwcm9wZXJ0aWVzIHN1Y2ggYXMgYnVzLXdpZHRoIGFyZSBpZ25vcmVk LiBPbiBSYXNwYmVycnkgUGkKLUNvbXB1dGUgTW9kdWxlIDQsIHRoZSBlTU1DIG5vZGUgZGVzY3Jp YmVzIGFuIDgtYml0IGJ1cywgYnV0IFUtQm9vdAotaW5pdGlhbGl6ZWQgdGhlIGRldmljZSBhcyA0 LWJpdC4KLQotQ2FsbCBtbWNfb2ZfcGFyc2UoKSBiZWZvcmUgc2RoY2lfc2V0dXBfY2ZnKCkgc28g dGhhdCBnZW5lcmljIE1NQwotcHJvcGVydGllcyBhcmUgZm9sZGVkIGludG8gdGhlIGhvc3QgY29u ZmlndXJhdGlvbiBiZWZvcmUgdGhlIE1NQyBjb3JlCi1zZWxlY3RzIHRoZSBidXMgd2lkdGguCi0K LUJlZm9yZSB0aGlzIGNoYW5nZSwgbW1jIGluZm8gcmVwb3J0ZWQ6Ci0KLSAgICBCdXMgU3BlZWQ6 IDUyMDAwMDAwCi0gICAgQnVzIFdpZHRoOiA0LWJpdAotCi1BZnRlciB0aGlzIGNoYW5nZSwgbW1j IGluZm8gcmVwb3J0czoKLQotICAgIEJ1cyBTcGVlZDogNTIwMDAwMDAKLSAgICBCdXMgV2lkdGg6 IDgtYml0Ci0KLVRlc3RlZCBvbiBSYXNwYmVycnkgUGkgQ29tcHV0ZSBNb2R1bGUgNCB3aXRoIG9u Ym9hcmQgZU1NQy4KLQotU2lnbmVkLW9mZi1ieTogTGllbCBIYXJlbCA8bGllbC5oYXJlbEBnbWFp bC5jb20+Ci0tLS0KLSBkcml2ZXJzL21tYy9iY20yODM1X3NkaGNpLmMgfCA0ICsrKysKLSAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9i Y20yODM1X3NkaGNpLmMgYi9kcml2ZXJzL21tYy9iY20yODM1X3NkaGNpLmMKLWluZGV4IDY1NWQ5 OTAyZGZhLi5lZmE0ZDE0ZjVkYSAxMDA2NDQKLS0tLSBhL2RyaXZlcnMvbW1jL2JjbTI4MzVfc2Ro Y2kuYwotKysrIGIvZHJpdmVycy9tbWMvYmNtMjgzNV9zZGhjaS5jCi1AQCAtMjE5LDYgKzIxOSwx MCBAQCBzdGF0aWMgaW50IGJjbTI4MzVfc2RoY2lfcHJvYmUoc3RydWN0IHVkZXZpY2UgKmRldikK LSAJaG9zdC0+bW1jID0gJnBsYXQtPm1tYzsKLSAJaG9zdC0+bW1jLT5kZXYgPSBkZXY7Ci0gCi0r CXJldCA9IG1tY19vZl9wYXJzZShkZXYsICZwbGF0LT5jZmcpOwotKwlpZiAocmV0KQotKwkJcmV0 dXJuIHJldDsKLSsKLSAJcmV0ID0gc2RoY2lfc2V0dXBfY2ZnKCZwbGF0LT5jZmcsIGhvc3QsIGVt bWNfZnJlcSwgTUlOX0ZSRVEpOwotIAlpZiAocmV0KSB7Ci0gCQlkZWJ1ZygiJXM6IEZhaWxlZCB0 byBzZXR1cCBTREhDSSAoZXJyPSVkKVxuIiwgX19mdW5jX18sIHJldCk7CgpkaWZmIC0tZ2l0IGEv bW1jLWJjbXN0Yi1GaXgtbm9uLXJlbW92YWJsZS1jaGVjay1pbi1iY20yNzEyLWluaXQucGF0Y2gg Yi9tbWMtYmNtc3RiLUZpeC1ub24tcmVtb3ZhYmxlLWNoZWNrLWluLWJjbTI3MTItaW5pdC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmI3ZDFhOS4uMDAwMDAwMAotLS0gYS9t bWMtYmNtc3RiLUZpeC1ub24tcmVtb3ZhYmxlLWNoZWNrLWluLWJjbTI3MTItaW5pdC5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDE4NSArMCwwIEBACi1Gcm9tIHBhdGNod29yayBUdWUgTWF5IDEy IDEyOjI0OjM1IDIwMjYKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgi Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotWC1Q YXRjaHdvcmstU3VibWl0dGVyOiA9P3V0Zi04P2I/U21GdUlNU01aWEp0dzZGcj89IDxzYWlyb25A c2Fpcm9uLmN6PgotWC1QYXRjaHdvcmstSWQ6IDIyMzY4MjcKLVgtUGF0Y2h3b3JrLURlbGVnYXRl OiBwYnJvYmluc29uQGdtYWlsLmNvbQotUmV0dXJuLVBhdGg6IDx1LWJvb3QtYm91bmNlc0BsaXN0 cy5kZW54LmRlPgotWC1PcmlnaW5hbC1UbzogaW5jb21pbmdAcGF0Y2h3b3JrLm96bGFicy5vcmcK LURlbGl2ZXJlZC1UbzogcGF0Y2h3b3JrLWluY29taW5nQGxlZ29sYXMub3psYWJzLm9yZwotQXV0 aGVudGljYXRpb24tUmVzdWx0czogbGVnb2xhcy5vemxhYnMub3JnOwotCWRraW09cGFzcyAoMjA0 OC1iaXQga2V5OwotIHNlY3VyZSkgaGVhZGVyLmQ9c2Fpcm9uLmN6IGhlYWRlci5pPUBzYWlyb24u Y3ogaGVhZGVyLmE9cnNhLXNoYTI1NgotIGhlYWRlci5zPWdvb2dsZSBoZWFkZXIuYj1ReUVhd0d1 LzsKLQlka2ltLWF0cHM9bmV1dHJhbAotQXV0aGVudGljYXRpb24tUmVzdWx0czogbGVnb2xhcy5v emxhYnMub3JnOwotIHNwZj1wYXNzIChzZW5kZXIgU1BGIGF1dGhvcml6ZWQpIHNtdHAubWFpbGZy b209bGlzdHMuZGVueC5kZQotIChjbGllbnQtaXA9MmEwMToyMzg6NDM4YjpjNTAwOjE3M2Q6OWY1 MjpkZGFiOmVlMDE7IGhlbG89cGhvYm9zLmRlbnguZGU7Ci0gZW52ZWxvcGUtZnJvbT11LWJvb3Qt Ym91bmNlc0BsaXN0cy5kZW54LmRlOyByZWNlaXZlcj1wYXRjaHdvcmsub3psYWJzLm9yZykKLVJl Y2VpdmVkOiBmcm9tIHBob2Jvcy5kZW54LmRlIChwaG9ib3MuZGVueC5kZQotIFtJUHY2OjJhMDE6 MjM4OjQzOGI6YzUwMDoxNzNkOjlmNTI6ZGRhYjplZTAxXSkKLQkodXNpbmcgVExTdjEuMyB3aXRo IGNpcGhlciBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0ICgyNTYvMjU2IGJpdHMpCi0JIGtleS1leGNo YW5nZSB4MjU1MTkgc2VydmVyLXNpZ25hdHVyZSBFQ0RTQSAoc2VjcDM4NHIxKSBzZXJ2ZXItZGln ZXN0IFNIQTM4NCkKLQkoTm8gY2xpZW50IGNlcnRpZmljYXRlIHJlcXVlc3RlZCkKLQlieSBsZWdv bGFzLm96bGFicy5vcmcgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIDRnRkc1QzYyTkh6MXk1TAot CWZvciA8aW5jb21pbmdAcGF0Y2h3b3JrLm96bGFicy5vcmc+OyBUdWUsIDEyIE1heSAyMDI2IDIy OjI1OjE5ICsxMDAwIChBRVNUKQotUmVjZWl2ZWQ6IGZyb20gaDI4NTA2MTYuc3RyYXRvc2VydmVy Lm5ldCAobG9jYWxob3N0IFtJUHY2Ojo6MV0pCi0JYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgp IHdpdGggRVNNVFAgaWQgRUMwRDk4M0M1MTsKLQlUdWUsIDEyIE1heSAyMDI2IDE0OjI1OjEyICsw MjAwIChDRVNUKQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gZG1h cmM9cGFzcyAocD1ub25lIGRpcz1ub25lKSBoZWFkZXIuZnJvbT1zYWlyb24uY3oKLUF1dGhlbnRp Y2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwotIHNwZj1wYXNzIHNtdHAubWFpbGZyb209 dS1ib290LWJvdW5jZXNAbGlzdHMuZGVueC5kZQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhv Ym9zLmRlbnguZGU7Ci0JZGtpbT1wYXNzICgyMDQ4LWJpdCBrZXk7Ci0gc2VjdXJlKSBoZWFkZXIu ZD1zYWlyb24uY3ogaGVhZGVyLmk9QHNhaXJvbi5jeiBoZWFkZXIuYj0iUXlFYXdHdS8iOwotCWRr aW0tYXRwcz1uZXV0cmFsCi1SZWNlaXZlZDogYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgsIGZy b20gdXNlcmlkIDEwOSkKLSBpZCAzOUNCRDgzQzUxOyBUdWUsIDEyIE1heSAyMDI2IDE0OjI1OjEx ICswMjAwIChDRVNUKQotWC1TcGFtLUNoZWNrZXItVmVyc2lvbjogU3BhbUFzc2Fzc2luIDMuNC4y ICgyMDE4LTA5LTEzKSBvbiBwaG9ib3MuZGVueC5kZQotWC1TcGFtLUxldmVsOiAKLVgtU3BhbS1T dGF0dXM6IE5vLCBzY29yZT0tMi4xIHJlcXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18wMCxES0lNX1NJ R05FRCwKLSBES0lNX1ZBTElELERLSU1fVkFMSURfQVUsREtJTV9WQUxJRF9FRixSQ1ZEX0lOX0RO U1dMX0JMT0NLRUQsCi0gU1BGX0hFTE9fTk9ORSxTUEZfUEFTUyBhdXRvbGVhcm49aGFtIGF1dG9s ZWFybl9mb3JjZT1ubyB2ZXJzaW9uPTMuNC4yCi1SZWNlaXZlZDogZnJvbSBtYWlsLXdtMS14MzM1 Lmdvb2dsZS5jb20gKG1haWwtd20xLXgzMzUuZ29vZ2xlLmNvbQotIFtJUHY2OjJhMDA6MTQ1MDo0 ODY0OjIwOjozMzVdKQotICh1c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRMU19BRVNfMTI4X0dD TV9TSEEyNTYgKDEyOC8xMjggYml0cykpCi0gKE5vIGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1ZXN0 ZWQpCi0gYnkgcGhvYm9zLmRlbnguZGUgKFBvc3RmaXgpIHdpdGggRVNNVFBTIGlkIEQxNDZGODM0 MUEKLSBmb3IgPHUtYm9vdEBsaXN0cy5kZW54LmRlPjsgVHVlLCAxMiBNYXkgMjAyNiAxNDoyNTow OCArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwot IGRtYXJjPXBhc3MgKHA9bm9uZSBkaXM9bm9uZSkgaGVhZGVyLmZyb209c2Fpcm9uLmN6Ci1BdXRo ZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBzcGY9cGFzcyBzbXRwLm1haWxm cm9tPXNhaXJvbkBzYWlyb24uY3oKLVJlY2VpdmVkOiBieSBtYWlsLXdtMS14MzM1Lmdvb2dsZS5j b20gd2l0aCBTTVRQIGlkCi0gNWIxZjE3YjE4MDRiMS00ODkxZTg2ZmFiZXNvNjMxNzI2MTVlOS4x Ci0gZm9yIDx1LWJvb3RAbGlzdHMuZGVueC5kZT47IFR1ZSwgMTIgTWF5IDIwMjYgMDU6MjU6MDgg LTA3MDAgKFBEVCkKLURLSU0tU2lnbmF0dXJlOiB2PTE7IGE9cnNhLXNoYTI1NjsgYz1yZWxheGVk L3JlbGF4ZWQ7Ci0gZD1zYWlyb24uY3o7IHM9Z29vZ2xlOyB0PTE3Nzg1ODg3MDg7IHg9MTc3OTE5 MzUwODsgZGFybj1saXN0cy5kZW54LmRlOwotIGg9Y29udGVudC10cmFuc2Zlci1lbmNvZGluZzpt aW1lLXZlcnNpb246bWVzc2FnZS1pZDpkYXRlOnN1YmplY3Q6Y2MKLSA6dG86ZnJvbTpmcm9tOnRv OmNjOnN1YmplY3Q6ZGF0ZTptZXNzYWdlLWlkOnJlcGx5LXRvOwotIGJoPTVqT0Q4SThJOGZ5QWRr RTJFdDNRUVl6aSs3dS9QdUVNUUJ1NmRPcWNZNFU9OwotIGI9UXlFYXdHdS91VG1rN0pJQkk1ZkVG dXlUb1MzcjdjRlYybWFmQWZIcDhEcGNYdnBGRnhUcUF3QVA1THdyN1pMNlNECi0gQ2RESzRYUUFr ZjlUeGExWkp1WFExeU1kaEVnWDdGOVEwMWVUaDVJcnRuaEJPK3ppWnFDaW1DMDBxUGllaEpNRHlW K2gKLSBlOXB4eGpoczJzbGNQdmE2bjFRdytMWVZNNld6K2szamZBTzBkd1B1OThNN2lac3NaVmEv bWlGbTZkc2JtaHR6TWdTVQotIGY2YzhpaTVMZHF0MENHUVM0VmdjU0xJVG5sVzN2WjRiQnVDa2Vp Q3NSWktFMXhmSnpmbW50aFZPS1hJWkQ1RlczdEJCCi0gZm1WYk5McTF0bjFoVlJBeTJ0YUMxOUtT eWlxYThEY2NiSU9Va3RqcmFaNThWNjBuUmRLcXJlRzF4UGIrYzJYaXk5MHUKLSBWVTVnPT0KLVgt R29vZ2xlLURLSU0tU2lnbmF0dXJlOiB2PTE7IGE9cnNhLXNoYTI1NjsgYz1yZWxheGVkL3JlbGF4 ZWQ7Ci0gZD0xZTEwMC5uZXQ7IHM9MjAyNTExMDQ7IHQ9MTc3ODU4ODcwODsgeD0xNzc5MTkzNTA4 OwotIGg9Y29udGVudC10cmFuc2Zlci1lbmNvZGluZzptaW1lLXZlcnNpb246bWVzc2FnZS1pZDpk YXRlOnN1YmplY3Q6Y2MKLSA6dG86ZnJvbTp4LWdtLWdnOngtZ20tbWVzc2FnZS1zdGF0ZTpmcm9t OnRvOmNjOnN1YmplY3Q6ZGF0ZQotIDptZXNzYWdlLWlkOnJlcGx5LXRvOwotIGJoPTVqT0Q4SThJ OGZ5QWRrRTJFdDNRUVl6aSs3dS9QdUVNUUJ1NmRPcWNZNFU9OwotIGI9ZVdnTGRMbG1DY1c5UXhk dmF0L1A2aytZSWl1bVZZOW5lMFREemtFQ1ZIb0ZqYmlqYTY2WlhTdmsraWxWK1M5SWhECi0gSUht N1FnbW5XUnd5bll4cFFDUUhPY2I1dUFFQU9QZmtkdG53Y3l0aUcyRnRkcDQ4NG1NS1BIbGwvTEZr Vm11RjcwYnQKLSBmZ0dPclNFOEJwUWMzbklacjNIbjJjZE9CV3dsSitwODRLTTF4THpZM0s2OW1F VWVPb0F6b015TytnanU0VTdhU3BMZwotIHlFWStaZ0c4VFAvVGRra2J3bkkvdHcyaHMxTjdZRmFN K0tOZ0dJa0paaU5DYXU2ZWFYKzRRKzF2cTRKYVhPcjNNd0xICi0gYzhIa3JrMXlpUXlUeEtVdTFQ UWo0c0IyZEhkald3TkN0REFjTm81Z203NWN2ejM3NWgwb2tNYzIvNUh4MUs5eGlzUkgKLSBiUEhR PT0KLVgtR20tTWVzc2FnZS1TdGF0ZTogQU9KdTBZempic090Tzg3dTBNbG5rbmZKR3V2K3krK2lo VUMyWTE1Lzk2OEM5K2JkYnYzRU1tS2EKLSBkN1l6dE5MSG9ydVdNZ2cxV2RMTnZpRDJuMlVKdXlu N0VsYW9DM0FnUTZQUDM1TmNZSVRrSkpla1NQc1podzJQakEzbGlNZ2gvNWMKLSAxaTBUb20xaz0K LVgtR20tR2c6IEFjcTkyT0g3M0k0SDdrbmdGWG5lczZnaEh0VWllL3NtV0V0NzJuUHQrUnpMOU5D TnVZcktwYWhFd0IrY0dibkNxQjgKLSBTcGJMdVVReFRSUWgzdzFiVUk4WW9NVjQwVVhZb1VaYXdI YjB4c3dXcnV1SVRneWZsSXgzMlVvclJzdnZYUmd5STJyb3BDUVJFQVkKLSBBa1VlKzN1M1B2Y2xL eXVVOXU2cFJpdGp2MEgwSWhYeWx3UHhuUjdzdzJMLzBZcGlJSm0rMFQzYWxFL0hzOGRKSTZrc2FT eE5XYkQKLSBlNTNqODBWWWVFYUs3VGpwR29WWkhPRW0zWXdUSFc3ZStKVm9kbTZzQ0FlSTlEeHFt dFlBL1NxajhyWk1jNVBlbkdVckFEQ0lqM2cKLSBPcTcyRU1Ham1uaTVkWEV2YzA4c2pUSFh6aUdz QzZrR2tkTS8zMkMvaHJ5TU1CM0VHd2dOdGRHNStVVHhmd3ZZRnNKTUw0Zlo5T1UKLSBHWmFFTGww VEVFS0FlMk5HU2FmK2RROUV6TVhnWmc0MUUyM0E0T1B5NjVETDBJR0lXMllkUjVJSkx0NExZOStn YkJrKzFlMWVBdFUKLSBEb1FSL2taMTNOcDlUblczamRKaG1mSjVqcWI1eHhvcDB3OHFrVzVHM28z WnN6UnVLTi9MQk5wazdKTklicjByMU1CVldhbzhHeDYKLSBOYndpSmhiT2F0aHBzQ2Fkb0dOdXhL NC8xZkNVRTIweUJVd3dXQzgKLVgtUmVjZWl2ZWQ6IGJ5IDIwMDI6YTA1OjYwMGM6NGY1MTpiMDo0 OGQ6MWE5NDo1NmMgd2l0aCBTTVRQIGlkCi0gNWIxZjE3YjE4MDRiMS00OGU1MWYzMDU0Y21yNDkx ODc2Nzc1ZTkuMTguMTc3ODU4ODcwNzcyNTsKLSBUdWUsIDEyIE1heSAyMDI2IDA1OjI1OjA3IC0w NzAwIChQRFQpCi1SZWNlaXZlZDogZnJvbSBrcmFiaWNlLmxhbiAoaXAtODktMTAzLTY2LTIwMS5i Yi52b2RhZm9uZS5jei4gWzg5LjEwMy42Ni4yMDFdKQotIGJ5IHNtdHAuZ21haWwuY29tIHdpdGgg RVNNVFBTQSBpZAotIDViMWYxN2IxODA0YjEtNDhlOGU2MDYwMjBzbTE4MzYxMzk1ZTkuNS4yMDI2 LjA1LjEyLjA1LjI1LjA2Ci0gKHZlcnNpb249VExTMV8zIGNpcGhlcj1UTFNfQUVTXzI1Nl9HQ01f U0hBMzg0IGJpdHM9MjU2LzI1Nik7Ci0gVHVlLCAxMiBNYXkgMjAyNiAwNToyNTowNiAtMDcwMCAo UERUKQotRnJvbTogPT91dGYtOD9iP1NtRnVJTVNNWlhKdHc2RnI/PSA8c2Fpcm9uQHNhaXJvbi5j ej4KLVRvOiB1LWJvb3RAbGlzdHMuZGVueC5kZQotQ2M6IFRob21hcyBGaXR6c2ltbW9ucyA8Zml0 enNpbUBmaXR6c2ltLm9yZz4sIFBlbmcgRmFuIDxwZW5nLmZhbkBueHAuY29tPiwKLSBKYWVob29u IENodW5nIDxqaDgwLmNodW5nQHNhbXN1bmcuY29tPiwgVG9tIFJpbmkgPHRyaW5pQGtvbnN1bGtv LmNvbT4sCi0gTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+LCAiSXZhbiBUIC4g SXZhbm92IiA8aWl2YW5vdkBzdXNlLmRlPiwKLQk9P3V0Zi04P2I/U21GdUlNU01aWEp0dzZGcj89 IDxzYWlyb25Ac2Fpcm9uLmN6PgotU3ViamVjdDogW1BBVENIXSBtbWM6IGJjbXN0YjogRml4IG5v bi1yZW1vdmFibGUgY2hlY2sgaW4gYmNtMjcxMiBpbml0Ci1EYXRlOiBUdWUsIDEyIE1heSAyMDI2 IDE0OjI0OjM1ICswMjAwCi1NZXNzYWdlLUlEOiA8MjAyNjA1MTIxMjI0MzUuMTExODU1Ny0xLXNh aXJvbkBzYWlyb24uY3o+Ci1YLU1haWxlcjogZ2l0LXNlbmQtZW1haWwgMi41NC4wCi1NSU1FLVZl cnNpb246IDEuMAotWC1CZWVuVGhlcmU6IHUtYm9vdEBsaXN0cy5kZW54LmRlCi1YLU1haWxtYW4t VmVyc2lvbjogMi4xLjM5Ci1QcmVjZWRlbmNlOiBsaXN0Ci1MaXN0LUlkOiBVLUJvb3QgZGlzY3Vz c2lvbiA8dS1ib290Lmxpc3RzLmRlbnguZGU+Ci1MaXN0LVVuc3Vic2NyaWJlOiA8aHR0cHM6Ly9s aXN0cy5kZW54LmRlL29wdGlvbnMvdS1ib290PiwKLSA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxp c3RzLmRlbnguZGU/c3ViamVjdD11bnN1YnNjcmliZT4KLUxpc3QtQXJjaGl2ZTogPGh0dHBzOi8v bGlzdHMuZGVueC5kZS9waXBlcm1haWwvdS1ib290Lz4KLUxpc3QtUG9zdDogPG1haWx0bzp1LWJv b3RAbGlzdHMuZGVueC5kZT4KLUxpc3QtSGVscDogPG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0 cy5kZW54LmRlP3N1YmplY3Q9aGVscD4KLUxpc3QtU3Vic2NyaWJlOiA8aHR0cHM6Ly9saXN0cy5k ZW54LmRlL2xpc3RpbmZvL3UtYm9vdD4sCi0gPG1haWx0bzp1LWJvb3QtcmVxdWVzdEBsaXN0cy5k ZW54LmRlP3N1YmplY3Q9c3Vic2NyaWJlPgotRXJyb3JzLVRvOiB1LWJvb3QtYm91bmNlc0BsaXN0 cy5kZW54LmRlCi1TZW5kZXI6ICJVLUJvb3QiIDx1LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRl PgotWC1WaXJ1cy1TY2FubmVkOiBjbGFtYXYtbWlsdGVyIDAuMTAzLjggYXQgcGhvYm9zLmRlbngu ZGUKLVgtVmlydXMtU3RhdHVzOiBDbGVhbgotCi1zZGhjaV9icmNtc3RiX2luaXRfMjcxMigpIHJl YWRzIGhvc3QtPm1tYy0+aG9zdF9jYXBzIHRvIGRlY2lkZSB3aGV0aGVyCi10byBmb3JjZSBjYXJk LWRldGVjdCBmb3IgYSBub24tcmVtb3ZhYmxlIGVNTUMsIG9yIHRvIHJvdXRlIHRoZSBDRCBzaWdu YWwKLWZvciBhIHJlbW92YWJsZSBTRCBjYXJkLiBBdCB0aGUgdGltZSB0aGlzIGZ1bmN0aW9uIHJ1 bnMgZnJvbQotc2RoY2lfYmNtc3RiX3Byb2JlKCksIGhvd2V2ZXIsIGhvc3QtPm1tYy0+aG9zdF9j YXBzIGlzIHN0aWxsIHplcm8sIHRoYXQKLWZpZWxkIGlzIG9ubHkgcG9wdWxhdGVkIGxhdGVyIGJ5 IHRoZSBNTUMgdWNsYXNzLCBhZnRlciB0aGUgZHJpdmVyJ3MKLXByb2JlIHJldHVybnMuIG1tY19v Zl9wYXJzZSgpIGhhcyBhbHJlYWR5IGZpbGxlZCBwbGF0LT5jZmcuaG9zdF9jYXBzCi1mcm9tIHRo ZSBkZXZpY2UgdHJlZSBieSB0aGlzIHBvaW50LCBzbyBjaGVjayB0aGF0IGZpZWxkIGluc3RlYWQu Ci0KLVdpdGhvdXQgdGhlIGZpeCwgZXZlcnkgQkNNMjcxMiBTREhDSSBpbnN0YW5jZSB0YWtlcyB0 aGUgZWxzZSBicmFuY2ggYW5kCi13cml0ZXMgU0RJT19DRkdfU0RfUElOX1NFTCA9IFNESU9fQ0ZH X1NEX1BJTl9TRUxfQ0FSRCAoMHgwMiksIGluY2x1ZGluZwotdGhlIG5vbi1yZW1vdmFibGUgZU1N QyBvbiBib2FyZHMgc3VjaCBhcyBDTTUgb24gSG9tZSBBc3Npc3RhbnQgWWVsbG93LgotVGhlIFNE SU9fQ0ZHIGJsb2NrIGxpZXMgb3V0c2lkZSB0aGUgU0RIQ0kgY29yZSdzIHJlc2V0IHNjb3BlLCBz byB0aGlzCi12YWx1ZSBwZXJzaXN0cyBhY3Jvc3MgU0RIQ0lfUkVTRVRfQUxMIGludG8gdGhlIG5l eHQgc3RhZ2UuIE9uIHRoZQotQkNNMjcxMiwgaGF2aW5nIFNEX1BJTl9TRUwgc2V0IHRvICJTRCIg d2hlbiB0aGUgTGludXgga2VybmVsIHBlcmZvcm1zCi1pdHMgZmlyc3Qgc2V0X3Bvd2VyKE1NQ19Q T1dFUl9VUCkgd3JpdGUgcmFjaWx5IHByZXZlbnRzIHRoZSBTREhDSQotUE9XRVJfT04gYml0IGZy b20gbGF0Y2hpbmcgKHNlZSBbMV0gZm9yIHRoZSB3aG9sZSBiYWNrc3RvcnkpIC0gdGhlCi12b2x0 YWdlIGJpdHMgc3RpY2sgYnV0IFBPV0VSX09OIGRyb3BzIC0gd2hpY2ggd2VkZ2VzIHRoZSBmaXJz dCBDTUQwIHRoZQotZnVsbCAxMCBzIHNvZnR3YXJlIHRpbWVvdXQuIE9uIEhvbWUgQXNzaXN0YW50 IFllbGxvdyB0aGlzIG1hbmlmZXN0ZWQgYXMKLWEgfjIwIHMgZU1NQyBwcm9iZSBkZWxheSBvbiBy b3VnaGx5IG9uZSBpbiB0d28gTGludXggYm9vdHMgd2hlbiBVLUJvb3QKLXdhcyB0aGUgcHJldmlv dXMgc3RhZ2UuIEJvb3RpbmcgZGlyZWN0bHkgZnJvbSB0aGUgUGkgZmlybXdhcmUgKG5vIFUtQm9v dAotaW4gYmV0d2VlbikgbGVmdCBTRF9QSU5fU0VMIGF0IGl0cyBkZWZhdWx0IGFuZCBkaWQgbm90 IGV4aGliaXQgdGhlIHJhY2UuCi0KLVJlYWRpbmcgcGxhdC0+Y2ZnLmhvc3RfY2FwcyBsZXRzIGlu aXRfMjcxMiBzZWUgdGhlICJub24tcmVtb3ZhYmxlIgotcHJvcGVydHkgYW5kIHRha2UgdGhlIGNv cnJlY3QgYnJhbmNoLCBsZWF2aW5nIFNEX1BJTl9TRUwgdW50b3VjaGVkIGZvcgotdGhlIGVNTUMu Ci0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vaG9tZS1hc3Npc3RhbnQvb3BlcmF0aW5nLXN5c3Rl bS9wdWxsLzM3MDAjaXNzdWVjb21tZW50LTQ0MzAyMjk1MTEKLQotRml4ZXM6IDEwMTI3Y2RiYWI2 NCAoIm1tYzogYmNtc3RiOiBBZGQgc3VwcG9ydCBmb3IgYmNtMjcxMiBTRCBjb250cm9sbGVyIikK LVNpZ25lZC1vZmYtYnk6IEphbiDEjGVybcOhayA8c2Fpcm9uQHNhaXJvbi5jej4KLVJldmlld2Vk LWJ5OiBJdmFuIFQuIEl2YW5vdiA8aWl2YW5vdkBzdXNlLmRlPgotLS0tCi0gZHJpdmVycy9tbWMv YmNtc3RiX3NkaGNpLmMgfCA2ICsrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9iY21zdGJfc2Ro Y2kuYyBiL2RyaXZlcnMvbW1jL2JjbXN0Yl9zZGhjaS5jCi1pbmRleCA3YmRkYmViYjE2Mi4uZjI3 Yjg0YTZlZTQgMTAwNjQ0Ci0tLS0gYS9kcml2ZXJzL21tYy9iY21zdGJfc2RoY2kuYwotKysrIGIv ZHJpdmVycy9tbWMvYmNtc3RiX3NkaGNpLmMKLUBAIC01Niw3ICs1Niw3IEBAIHN0cnVjdCBzZGhj aV9icmNtc3RiX2Rldl9wcml2IHsKLSAKLSBzdGF0aWMgaW50IHNkaGNpX2JyY21zdGJfaW5pdF8y NzEyKHN0cnVjdCB1ZGV2aWNlICpkZXYpCi0gewotLQlzdHJ1Y3Qgc2RoY2lfaG9zdCAqaG9zdCA9 IGRldl9nZXRfcHJpdihkZXYpOwotKwlzdHJ1Y3Qgc2RoY2lfYmNtc3RiX3BsYXQgKnBsYXQgPSBk ZXZfZ2V0X3BsYXQoZGV2KTsKLSAJdm9pZCAqY2ZnX3JlZ3M7Ci0gCXUzMiByZWc7Ci0gCi1AQCAt NjUsOCArNjUsOCBAQCBzdGF0aWMgaW50IHNkaGNpX2JyY21zdGJfaW5pdF8yNzEyKHN0cnVjdCB1 ZGV2aWNlICpkZXYpCi0gCWlmICghY2ZnX3JlZ3MpCi0gCQlyZXR1cm4gLUVOT0VOVDsKLSAKLS0J aWYgKChob3N0LT5tbWMtPmhvc3RfY2FwcyAmIE1NQ19DQVBfTk9OUkVNT1ZBQkxFKSB8fAotLQkg ICAgKGhvc3QtPm1tYy0+aG9zdF9jYXBzICYgTU1DX0NBUF9ORUVEU19QT0xMKSkgewotKwlpZiAo KHBsYXQtPmNmZy5ob3N0X2NhcHMgJiBNTUNfQ0FQX05PTlJFTU9WQUJMRSkgfHwKLSsJICAgIChw bGF0LT5jZmcuaG9zdF9jYXBzICYgTU1DX0NBUF9ORUVEU19QT0xMKSkgewotIAkJLyogRm9yY2Ug cHJlc2VuY2UgKi8KLSAJCXJlZyA9IHJlYWRsKGNmZ19yZWdzICsgU0RJT19DRkdfQ1RSTCk7Ci0g CQlyZWcgJj0gflNESU9fQ0ZHX0NUUkxfU0RDRF9OX1RFU1RfTEVWOwoKZGlmZiAtLWdpdCBhL3Jw aV9hcm02NC1FbmFibGUtTUJFRFRMUy1MV0lQLVdHRVQtYW5kLVdHRVRfSFRUUFMucGF0Y2ggYi9y cGlfYXJtNjQtRW5hYmxlLU1CRURUTFMtTFdJUC1XR0VULWFuZC1XR0VUX0hUVFBTLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDRkZmNlLi4wMDAwMDAwCi0tLSBhL3JwaV9h cm02NC1FbmFibGUtTUJFRFRMUy1MV0lQLVdHRVQtYW5kLVdHRVRfSFRUUFMucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxNzEgKzAsMCBAQAotRnJvbSBwYXRjaHdvcmsgVHVlIEFwciAyMSAxNDox MTozOCAyMDI2Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9InV0Zi04IgotTUlN RS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLVgtUGF0Y2h3 b3JrLVN1Ym1pdHRlcjogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZ21haWwuY29tPgotWC1Q YXRjaHdvcmstSWQ6IDIyMjU3MzQKLVgtUGF0Y2h3b3JrLURlbGVnYXRlOiBwYnJvYmluc29uQGdt YWlsLmNvbQotUmV0dXJuLVBhdGg6IDx1LWJvb3QtYm91bmNlc0BsaXN0cy5kZW54LmRlPgotWC1P cmlnaW5hbC1UbzogaW5jb21pbmdAcGF0Y2h3b3JrLm96bGFicy5vcmcKLURlbGl2ZXJlZC1Ubzog cGF0Y2h3b3JrLWluY29taW5nQGxlZ29sYXMub3psYWJzLm9yZwotQXV0aGVudGljYXRpb24tUmVz dWx0czogbGVnb2xhcy5vemxhYnMub3JnOwotCWRraW09cGFzcyAoMjA0OC1iaXQga2V5OwotIHVu cHJvdGVjdGVkKSBoZWFkZXIuZD1nbWFpbC5jb20gaGVhZGVyLmk9QGdtYWlsLmNvbSBoZWFkZXIu YT1yc2Etc2hhMjU2Ci0gaGVhZGVyLnM9MjAyNTExMDQgaGVhZGVyLmI9VTFXQnY0bTA7Ci0JZGtp bS1hdHBzPW5ldXRyYWwKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IGxlZ29sYXMub3psYWJzLm9y ZzsKLSBzcGY9cGFzcyAoc2VuZGVyIFNQRiBhdXRob3JpemVkKSBzbXRwLm1haWxmcm9tPWxpc3Rz LmRlbnguZGUKLSAoY2xpZW50LWlwPTg1LjIxNC42Mi42MTsgaGVsbz1waG9ib3MuZGVueC5kZTsK LSBlbnZlbG9wZS1mcm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU7IHJlY2VpdmVyPXBh dGNod29yay5vemxhYnMub3JnKQotUmVjZWl2ZWQ6IGZyb20gcGhvYm9zLmRlbnguZGUgKHBob2Jv cy5kZW54LmRlIFs4NS4yMTQuNjIuNjFdKQotCSh1c2luZyBUTFN2MS4zIHdpdGggY2lwaGVyIFRM U19BRVNfMjU2X0dDTV9TSEEzODQgKDI1Ni8yNTYgYml0cykKLQkga2V5LWV4Y2hhbmdlIHgyNTUx OSBzZXJ2ZXItc2lnbmF0dXJlIEVDRFNBIChzZWNwMzg0cjEpIHNlcnZlci1kaWdlc3QgU0hBMzg0 KQotCShObyBjbGllbnQgY2VydGlmaWNhdGUgcmVxdWVzdGVkKQotCWJ5IGxlZ29sYXMub3psYWJz Lm9yZyAoUG9zdGZpeCkgd2l0aCBFU01UUFMgaWQgNGcwUFM5NVZENnoxeUN2Ci0JZm9yIDxpbmNv bWluZ0BwYXRjaHdvcmsub3psYWJzLm9yZz47IFdlZCwgMjIgQXByIDIwMjYgMDA6MTI6MDkgKzEw MDAgKEFFU1QpCi1SZWNlaXZlZDogZnJvbSBoMjg1MDYxNi5zdHJhdG9zZXJ2ZXIubmV0IChsb2Nh bGhvc3QgW0lQdjY6OjoxXSkKLQlieSBwaG9ib3MuZGVueC5kZSAoUG9zdGZpeCkgd2l0aCBFU01U UCBpZCA3MUIxMjgzOUQ1OwotCVR1ZSwgMjEgQXByIDIwMjYgMTY6MTI6MDYgKzAyMDAgKENFU1Qp Ci1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBkbWFyYz1wYXNzIChw PW5vbmUgZGlzPW5vbmUpIGhlYWRlci5mcm9tPWdtYWlsLmNvbQotQXV0aGVudGljYXRpb24tUmVz dWx0czogcGhvYm9zLmRlbnguZGU7Ci0gc3BmPXBhc3Mgc210cC5tYWlsZnJvbT11LWJvb3QtYm91 bmNlc0BsaXN0cy5kZW54LmRlCi1BdXRoZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5k ZTsKLQlka2ltPXBhc3MgKDIwNDgtYml0IGtleTsKLSB1bnByb3RlY3RlZCkgaGVhZGVyLmQ9Z21h aWwuY29tIGhlYWRlci5pPUBnbWFpbC5jb20gaGVhZGVyLmI9IlUxV0J2NG0wIjsKLQlka2ltLWF0 cHM9bmV1dHJhbAotUmVjZWl2ZWQ6IGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4LCBmcm9tIHVz ZXJpZCAxMDkpCi0gaWQgQzNBMkU4M0JDODsgVHVlLCAyMSBBcHIgMjAyNiAxNjoxMjowNCArMDIw MCAoQ0VTVCkKLVgtU3BhbS1DaGVja2VyLVZlcnNpb246IFNwYW1Bc3Nhc3NpbiAzLjQuMiAoMjAx OC0wOS0xMykgb24gcGhvYm9zLmRlbnguZGUKLVgtU3BhbS1MZXZlbDogCi1YLVNwYW0tU3RhdHVz OiBObywgc2NvcmU9LTIuMSByZXF1aXJlZD01LjAgdGVzdHM9QkFZRVNfMDAsREtJTV9TSUdORUQs Ci0gREtJTV9WQUxJRCxES0lNX1ZBTElEX0FVLERLSU1fVkFMSURfRUYsRlJFRU1BSUxfRlJPTSwK LSBSQ1ZEX0lOX0ROU1dMX0JMT0NLRUQsU1BGX0hFTE9fTk9ORSxTUEZfUEFTUyxVUFBFUkNBU0Vf NTBfNzUKLSBhdXRvbGVhcm49bm8gYXV0b2xlYXJuX2ZvcmNlPW5vIHZlcnNpb249My40LjIKLVJl Y2VpdmVkOiBmcm9tIG1haWwtd20xLXgzMmEuZ29vZ2xlLmNvbSAobWFpbC13bTEteDMyYS5nb29n bGUuY29tCi0gW0lQdjY6MmEwMDoxNDUwOjQ4NjQ6MjA6OjMyYV0pCi0gKHVzaW5nIFRMU3YxLjMg d2l0aCBjaXBoZXIgVExTX0FFU18xMjhfR0NNX1NIQTI1NiAoMTI4LzEyOCBiaXRzKSkKLSAoTm8g Y2xpZW50IGNlcnRpZmljYXRlIHJlcXVlc3RlZCkKLSBieSBwaG9ib3MuZGVueC5kZSAoUG9zdGZp eCkgd2l0aCBFU01UUFMgaWQgNDhDMEI4MzY5MwotIGZvciA8dS1ib290QGxpc3RzLmRlbnguZGU+ OyBUdWUsIDIxIEFwciAyMDI2IDE2OjEyOjAxICswMjAwIChDRVNUKQotQXV0aGVudGljYXRpb24t UmVzdWx0czogcGhvYm9zLmRlbnguZGU7Ci0gZG1hcmM9cGFzcyAocD1ub25lIGRpcz1ub25lKSBo ZWFkZXIuZnJvbT1nbWFpbC5jb20KLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54 LmRlOwotIHNwZj1wYXNzIHNtdHAubWFpbGZyb209cGJyb2JpbnNvbkBnbWFpbC5jb20KLVJlY2Vp dmVkOiBieSBtYWlsLXdtMS14MzJhLmdvb2dsZS5jb20gd2l0aCBTTVRQIGlkCi0gNWIxZjE3YjE4 MDRiMS00ODhkMjA3OTU4MnNvNTAwNjMwOTVlOS4yCi0gZm9yIDx1LWJvb3RAbGlzdHMuZGVueC5k ZT47IFR1ZSwgMjEgQXByIDIwMjYgMDc6MTI6MDEgLTA3MDAgKFBEVCkKLURLSU0tU2lnbmF0dXJl OiB2PTE7IGE9cnNhLXNoYTI1NjsgYz1yZWxheGVkL3JlbGF4ZWQ7Ci0gZD1nbWFpbC5jb207IHM9 MjAyNTExMDQ7IHQ9MTc3Njc4MDcyMTsgeD0xNzc3Mzg1NTIxOyBkYXJuPWxpc3RzLmRlbnguZGU7 Ci0gaD1jb250ZW50LXRyYW5zZmVyLWVuY29kaW5nOm1pbWUtdmVyc2lvbjptZXNzYWdlLWlkOmRh dGU6c3ViamVjdDpjYwotIDp0bzpmcm9tOmZyb206dG86Y2M6c3ViamVjdDpkYXRlOm1lc3NhZ2Ut aWQ6cmVwbHktdG87Ci0gYmg9WVdDT0hNeHhOaFUrMnZneHBwayswa3BYa3dYalRua3hJNkVCZmJW NXNFUT07Ci0gYj1VMVdCdjRtMGJVTTBPT1lvVlQ1TnhOajIrZkNoWE5aRWU2bGFJSkl4ajl5dGdO NVVwODZib1ZFL0lPK04rWUZGTVAKLSBhS3A2NSt3dDZHckVUclBVa1NSeHVxdWpmZWpCa2dBQVRI N3BDTFRYWnJ6M3Q4dWVEZkpMK1R0Y05YMkhuNWVpY1dQSAotIG1aWmtUQU1BMUVSNkk2aURqTzRO cGU3ZmF1OTlDTDlkRDN5OC8wMWZsK0F0U1JTN3hCbjgzdGk3Uml6ZlNCVEFYcXM1Ci0gV3N2VVJC cXhGdW9TdnBnYkZnZGFCVEhURXNLeCtsSTZnM3RlalpjV2NCeHlsM3lzRGNPV1IwT3JDaC9lL041 RWRocTcKLSA4d25qMHQzMnBCc1VMTjVGMDh1cnIvNXhoV3BON3l1SWJCVFVicGlJdnZYNmlObWdH L0RHdm9aL2c2YVQ2Yk55KzZDVAotIDFYNFE9PQotWC1Hb29nbGUtREtJTS1TaWduYXR1cmU6IHY9 MTsgYT1yc2Etc2hhMjU2OyBjPXJlbGF4ZWQvcmVsYXhlZDsKLSBkPTFlMTAwLm5ldDsgcz0yMDI1 MTEwNDsgdD0xNzc2NzgwNzIxOyB4PTE3NzczODU1MjE7Ci0gaD1jb250ZW50LXRyYW5zZmVyLWVu Y29kaW5nOm1pbWUtdmVyc2lvbjptZXNzYWdlLWlkOmRhdGU6c3ViamVjdDpjYwotIDp0bzpmcm9t OngtZ20tZ2c6eC1nbS1tZXNzYWdlLXN0YXRlOmZyb206dG86Y2M6c3ViamVjdDpkYXRlCi0gOm1l c3NhZ2UtaWQ6cmVwbHktdG87Ci0gYmg9WVdDT0hNeHhOaFUrMnZneHBwayswa3BYa3dYalRua3hJ NkVCZmJWNXNFUT07Ci0gYj1kOG1hRVJoNHNnb3hDU3FkZ3h6OUlnaFh1aHlvSWc1cGl6YVpMU0Ro eFEzaXY4OW52VzM3SlRUOHZ6RzlubWFFbnYKLSBIS3lIaURJakRQUmp3bmJtNE5pL2xWWDM3SGxN alluZHJtYzVUTm9jN3pSeE82OXZmaE5tdUF5c0FiV0Z0L3RJakdlOQotIGtqZ0ZSSnJBNXVENXBv K0srd2U5U0hiSFh3aWJmNVVWdzhhQXVjYjc4WGFCZlN1cW1Pb2JSbkw3WlNTYnNBanJSMEdNCi0g cWd5RDV2SHRMZVNBSEF6b0ZLMnR0L1J1ZTREQWovQmc1ZWRRL2d6WGM3cy9RaTRuN1owYUtMUHMv RTZsUFJyeWE3WkoKLSA3QUl6UGZYWENnbkxGekJBaVplZ0FSaG02aXZycS81eVZKdUFVTFpZK2ho Wms3dmxnUVJJcnhYaDgzVzZDaHFvOGw1dQotIEt3SVE9PQotWC1Gb3J3YXJkZWQtRW5jcnlwdGVk OiBpPTE7Ci0gQUZORWxKL3pyaHRZNTc4THF2dVlOZjNGMGk5c3REa204N1lqWWFSZXJsaUpMck45 Wkh1NWtlWjl1cTJaVVIyODZmSjQ1QThRU3d2cm9wTT1AbGlzdHMuZGVueC5kZQotWC1HbS1NZXNz YWdlLVN0YXRlOiBBT0p1MFl6T08reDYwaXNqZDF4M1hRV2hGM1U5TTdPb1gyTmJlT3YrcnpzbjIw Vys1YnFTTzRldAotIG5SdnBYTW42SHNzT0tTYjNUMHFSTXpONE1aVHU4YTZlRGxvZkxGa01rZGxQ bU10MXVOMnlEd3NSVDY0c3pRPT0KLVgtR20tR2c6IEFlQkRpZXNObGMvR3Q3a1NxZFgxT2hyNjZK Yzg3dDRiNjQ1Y0ZYOS9kVmdKZHZnOWthSGU1Y1VDYVFPcHlIRTdWNkYKLSBpbWZmS2dCcWRkWEpH Z2VxdE5KeGlTWlhVVHRsSWw2blZZaVlTakNnU2MwN2V2MWxwSzdUUFlrOHVjeU9WSGhwWW8xZ0w2 azZUNjkKLSB3MFpmS1YrRXBqYk5ySEFoTllGSnduSXRPelFuZDU0Z3ZtMWJtQlR2ZXhQeExFZDVM QlNyYnVQUXlIcTFGTGxwbXorSEJqQTRwNGcKLSBXL2RuYWp1YTdOR0VGeG1pMExzcDVKUWdjNksv bWRzTURrZmluQzJzelJ4VnRubWNGZWIyRVphb3ZBYVpySkxxSi9mT1ZFVno4S1IKLSBlWFpBbXZy T3huOUZOWlFmZzNDRjMyOUhzNWU3UlovWkpRZXNFbjdDTCt6dTFvelNaUVVzTHRXWU9xQXZTd1N0 dWphL29zUUVrVHgKLSAvcnZnZm1DRHFoQmg3WDNKMkNmOXMxWVpsRHlpWE5RWFEwT2VjazJ5NVNs Mm1WU2ZjdmI4OExBNnhnZE0ydWd4cEhjSDlIRGZuQnUKLSBVeTBjTVhDWFA1T3VuOFVrRHgza2Iy ajhxb2xCaEMrTHFKUjYxMTJKVFp4WjV5ZnhjQ2hFWXpVWlNkU29RdXI3WU9qWVc4SGUvRTYKLSBJ eTBEbTdiQnkzeEhlMGZsRWlUUVFMOEJkSWNCazVsbjVFSjVOcFRyRE4xNmFieHZDVHFTSlBWRG94 d05OMWlhRW1Qc1p3N1NKU0QKLSBQZllUV2hucmpzTlpFbDR3MUQ3L0VuVTk3UEpkdFRkSWQ5WWZE aGF6M3JGMXpORjNJa1VTS1VPdHd6NU82aVE5c1FtZCtsdWF2WksKLSA3WGxtdUsrTS9tWGdFVm5K b1hBNDZwSHNpZmVneHhmMEQKLVgtUmVjZWl2ZWQ6IGJ5IDIwMDI6YTA1OjYwMGM6YzE3NzpiMDo0 ODg6YTgyZjpiYmE5IHdpdGggU01UUCBpZAotIDViMWYxN2IxODA0YjEtNDg4ZmI3ODA0ZjNtcjI0 Nzc0NDI1NWU5LjIyLjE3NzY3ODA3MjAzOTM7Ci0gVHVlLCAyMSBBcHIgMjAyNiAwNzoxMjowMCAt MDcwMCAoUERUKQotUmVjZWl2ZWQ6IGZyb20gY3lwaGVyLmhvbWUucm92aW5nLWl0LmNvbQotICg3 LjkuNy5mLmIuMS4zLjAuYi44LmYuMC45LmUuMC4wLjEuOC42LjIuMS4xLmIuZi4wLmIuOC4wLjEu MC4wLjIuaXA2LmFycGEuCi0gWzIwMDE6OGIwOmZiMTE6MjY4MTplOTpmOGI6MzFiOmY3OTddKQot IGJ5IHNtdHAuZ29vZ2xlbWFpbC5jb20gd2l0aCBFU01UUFNBIGlkCi0gNWIxZjE3YjE4MDRiMS00 ODhmZmM1ZTNmNHNtMTgxMTYwMjE1ZTkuMi4yMDI2LjA0LjIxLjA3LjExLjU5Ci0gKHZlcnNpb249 VExTMV8zIGNpcGhlcj1UTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IGJpdHM9MjU2LzI1Nik7Ci0gVHVl LCAyMSBBcHIgMjAyNiAwNzoxMTo1OSAtMDcwMCAoUERUKQotRnJvbTogUGV0ZXIgUm9iaW5zb24g PHBicm9iaW5zb25AZ21haWwuY29tPgotVG86IE1hdHRoaWFzIEJydWdnZXIgPG1icnVnZ2VyQHN1 c2UuY29tPiwKLQl1LWJvb3RAbGlzdHMuZGVueC5kZQotQ2M6IFBldGVyIFJvYmluc29uIDxwYnJv Ymluc29uQGdtYWlsLmNvbT4KLVN1YmplY3Q6IFtQQVRDSF0gcnBpX2FybTY0OiBFbmFibGUgTUJF RFRMUy9MV0lQL1dHRVQgYW5kIFdHRVRfSFRUUFMKLURhdGU6IFR1ZSwgMjEgQXByIDIwMjYgMTU6 MTE6MzggKzAxMDAKLU1lc3NhZ2UtSUQ6IDwyMDI2MDQyMTE0MTE1Ni4zNTk2OTAtMS1wYnJvYmlu c29uQGdtYWlsLmNvbT4KLVgtTWFpbGVyOiBnaXQtc2VuZC1lbWFpbCAyLjUzLjAKLU1JTUUtVmVy c2lvbjogMS4wCi1YLUJlZW5UaGVyZTogdS1ib290QGxpc3RzLmRlbnguZGUKLVgtTWFpbG1hbi1W ZXJzaW9uOiAyLjEuMzkKLVByZWNlZGVuY2U6IGxpc3QKLUxpc3QtSWQ6IFUtQm9vdCBkaXNjdXNz aW9uIDx1LWJvb3QubGlzdHMuZGVueC5kZT4KLUxpc3QtVW5zdWJzY3JpYmU6IDxodHRwczovL2xp c3RzLmRlbnguZGUvb3B0aW9ucy91LWJvb3Q+LAotIDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlz dHMuZGVueC5kZT9zdWJqZWN0PXVuc3Vic2NyaWJlPgotTGlzdC1BcmNoaXZlOiA8aHR0cHM6Ly9s aXN0cy5kZW54LmRlL3BpcGVybWFpbC91LWJvb3QvPgotTGlzdC1Qb3N0OiA8bWFpbHRvOnUtYm9v dEBsaXN0cy5kZW54LmRlPgotTGlzdC1IZWxwOiA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3Rz LmRlbnguZGU/c3ViamVjdD1oZWxwPgotTGlzdC1TdWJzY3JpYmU6IDxodHRwczovL2xpc3RzLmRl bnguZGUvbGlzdGluZm8vdS1ib290PiwKLSA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRl bnguZGU/c3ViamVjdD1zdWJzY3JpYmU+Ci1FcnJvcnMtVG86IHUtYm9vdC1ib3VuY2VzQGxpc3Rz LmRlbnguZGUKLVNlbmRlcjogIlUtQm9vdCIgPHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU+ Ci1YLVZpcnVzLVNjYW5uZWQ6IGNsYW1hdi1taWx0ZXIgMC4xMDMuOCBhdCBwaG9ib3MuZGVueC5k ZQotWC1WaXJ1cy1TdGF0dXM6IENsZWFuCi0KLUVuYWJsZSBMV0lQIGFuZCBIVFRQUyBvbiB0aGUg UmFzcGJlcnJ5IFBpIGFybTY0IHBsYXRmb3JtIHRvIGJlIGFibGUgdG8KLXVzZSBpdCBpbiB0aGUg Ym9vdCBwcm9jZXNzLgotCi1TaWduZWQtb2ZmLWJ5OiBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNv bkBnbWFpbC5jb20+Ci1SZXZpZXdlZC1ieTogTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3Vz ZS5jb20+Ci0tLS0KLSBjb25maWdzL3JwaV9hcm02NF9kZWZjb25maWcgfCA2ICsrKysrLQotIDEg ZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdp dCBhL2NvbmZpZ3MvcnBpX2FybTY0X2RlZmNvbmZpZyBiL2NvbmZpZ3MvcnBpX2FybTY0X2RlZmNv bmZpZwotaW5kZXggNjllOGU3MmM1ZDcuLjkwMDQ4YTQxOGY2IDEwMDY0NAotLS0tIGEvY29uZmln cy9ycGlfYXJtNjRfZGVmY29uZmlnCi0rKysgYi9jb25maWdzL3JwaV9hcm02NF9kZWZjb25maWcK LUBAIC0xMSw2ICsxMSw3IEBAIENPTkZJR19TWVNfTE9BRF9BRERSPTB4MTAwMDAwMAotIENPTkZJ R19QQ0k9eQotIENPTkZJR19FRklfUlVOVElNRV9VUERBVEVfQ0FQU1VMRT15Ci0gQ09ORklHX0VG SV9DQVBTVUxFX0ZJUk1XQVJFX1JBVz15Ci0rQ09ORklHX0VGSV9IVFRQX0JPT1Q9eQotIENPTkZJ R19CT09UU1REX0RFRkFVTFRTPXkKLSBDT05GSUdfT0ZfQk9BUkRfU0VUVVA9eQotIENPTkZJR19G RFRfU0lNUExFRkI9eQotQEAgLTI2LDExICsyNywxMyBAQCBDT05GSUdfQ01EX0dQSU89eQotIENP TkZJR19DTURfTU1DPXkKLSBDT05GSUdfQ01EX1BDST15Ci0gQ09ORklHX0NNRF9VU0I9eQotK0NP TkZJR19DTURfU05UUD15Ci0rQ09ORklHX1dHRVRfSFRUUFM9eQotIENPTkZJR19DTURfRUZJREVC VUc9eQotIENPTkZJR19DTURfRlNfVVVJRD15Ci0gQ09ORklHX0VOVl9GQVRfREVWSUNFX0FORF9Q QVJUPSIwOjEiCi0gQ09ORklHX0VOVl9WQVJTX1VCT09UX1JVTlRJTUVfQ09ORklHPXkKLS1DT05G SUdfVEZUUF9UU0laRT15Ci0rQ09ORklHX05FVF9MV0lQPXkKLSBDT05GSUdfRE1fRE1BPXkKLSBD T05GSUdfREZVX01NQz15Ci0gQ09ORklHX1NZU19ERlVfREFUQV9CVUZfU0laRT0weDEwMDAwMAot QEAgLTY0LDQgKzY3LDUgQEAgQ09ORklHX1NZU19XSElURV9PTl9CTEFDSz15Ci0gQ09ORklHX1ZJ REVPX0JDTTI4MzU9eQotIENPTkZJR19DT05TT0xFX1NDUk9MTF9MSU5FUz0xMAotIENPTkZJR19Q SFlTX1RPX0JVUz15Ci0rQ09ORklHX01CRURUTFNfTElCPXkKLSAjIENPTkZJR19IRVhEVU1QIGlz IG5vdCBzZXQKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA5MjA4YTYzLi5m NWMwYmM1IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLVNI QTUxMiAodS1ib290LTIwMjYuMDctcmMzLnRhci5iejIpID0gMWFlZjNkMmM1Yzc3MzI0NGJiYzNl YjhmNjM1NDNlODRhYTVhMTI3YzNkZDU4ZGFiYmIyNzE0NDczZjgyMzNkMjk5ZTYxMGRkZWI0ZTE4 ZjZjN2IwMTJjYThmMzE1MjY4OGJjMGFlM2ZjZWJjMDg2N2E3YTdmYWU0MzAxODE5MmQKK1NIQTUx MiAodS1ib290LTIwMjYuMDctcmM1LnRhci5iejIpID0gYjNjYzJiNDYxNzdkYzczMjZmNDRhZTg1 NmYwN2E1NTgwYWVjMDNiMDUwNWZlOWU2MjM4MDI4Y2M3ZDI5MGJlZWNmMGYyOThmMzE0NWVkNmI3 NThhZjRhODMxZmU1ODhmMjM2YjdlYmYyMGRlZWQ5MjA2YTg0ZTUzNWU3M2ZmYWMKCmRpZmYgLS1n aXQgYS91Ym9vdC10b29scy5zcGVjIGIvdWJvb3QtdG9vbHMuc3BlYwppbmRleCA2YzFkZTE4Li5m NjJkM2RhIDEwMDY0NAotLS0gYS91Ym9vdC10b29scy5zcGVjCisrKyBiL3Vib290LXRvb2xzLnNw ZWMKQEAgLTEsNCArMSw0IEBACi0lZ2xvYmFsIGNhbmRpZGF0ZSByYzMKKyVnbG9iYWwgY2FuZGlk YXRlIHJjNQogJWlmIDAlez9yaGVsfQogJWJjb25kX3dpdGggdG9vbHNvbmx5CiAlZWxzZQpAQCAt MTAsNyArMTAsNyBAQAogCiBOYW1lOiAgICAgdWJvb3QtdG9vbHMKIFZlcnNpb246ICAyMDI2LjA3 Ci1SZWxlYXNlOiAgMC4yJXs/Y2FuZGlkYXRlOi4le2NhbmRpZGF0ZX19JXs/ZGlzdH0KK1JlbGVh c2U6ICAwLjQlez9jYW5kaWRhdGU6LiV7Y2FuZGlkYXRlfX0lez9kaXN0fQogRXBvY2g6ICAgIDEK IFN1bW1hcnk6ICBVLUJvb3QgdXRpbGl0aWVzCiAjIEF1dG9tYXRpY2FsbHkgY29udmVydGVkIGZy b20gb2xkIGZvcm1hdDogR1BMdjIrIEJTRCBMR1BMLTIuMSsgTEdQTC0yLjArIC0gcmV2aWV3IGlz IGhpZ2hseSByZWNvbW1lbmRlZC4KQEAgLTM1LDggKzM1LDYgQEAgUGF0Y2g1OiAgIHVlZmktaW5p dGlhbC1maW5kX2ZkdF9sb2NhdGlvbi1mb3ItZmluZGluZy10aGUtRFQtb24tZGlzay5wYXRjaAog UGF0Y2g2OiAgIHVlZmktZW5hYmxlLVNldFZhcmlhYmxlUlQtd2l0aC12b2xvdGlsZS1zdG9yYWdl LnBhdGNoCiAjIEVuYWJsZSBVRUZJIEhUVFBTIGJvb3QgZm9yIGFsbCBGZWRvcmEgZmlybXdhcmUK IFBhdGNoNzogICB1ZWZpLWVuYWJsZS1odHRwcy1ib290LWJ5LWRlZmF1bHQucGF0Y2gKLSMgVXBz dHJlYW0gcmV2ZXJ0IHRvIGZpeCBib290IG9uIFJQaQotUGF0Y2g4OiAgIFJldmVydC1sbWItUmVp bnN0YXRlLWFjY2Vzcy10by1tZW1vcnktYWJvdmUtcmFtX3RvcC5wYXRjaAogCiAjIERldmljZSBp bXByb3ZtZW50cwogIyBVU0ItUEQgaW1wcm92ZW1lbnRzCkBAIC01MiwxMyArNTAsOCBAQCBQYXRj aDE1OiAgSmV0c29uVFgyLUZpeC11cHN0cmVhbS1kZXZpY2UtdHJlZS1uYW1pbmcucGF0Y2gKIFBh dGNoMTY6ICBBbGx3aW5uZXItZml4LWJvb3Rpbmctb24tYS1udW1iZXItb2YtZGV2aWNlcy5wYXRj aAogIyBSUGkKIFBhdGNoMjA6ICBGaXgtTlZNZS1ub3Qtb25seS1vbi1SYXNwYmVycnktUGktNS5w YXRjaAotUGF0Y2gyMTogIEFSTS1SUGk1LUVuYWJsZS1QQ0llLnBhdGNoCi1QYXRjaDIyOiAgcnBp LWVuYWJsZS1udm1lLnBhdGNoCi1QYXRjaDIzOiAgdmlkZW8tYXJtLXJwaS1BZGQtYnJjbS1iY20y NzEyLWhkbWkwLWNvbXBhdGlibGUucGF0Y2gKLVBhdGNoMjQ6ICByYXNwYmVycnlwaS1BZGQtcXVp cmstZm9yLVJQaTUtMkdiLXJldi0xLjAucGF0Y2gKLVBhdGNoMjU6ICBtbWMtYmNtMjgzNV9zZGhj aS1QYXJzZS1nZW5lcmljLU1NQy1kZXZpY2UtdHJlZS1wcm9wZXJ0aWVzLnBhdGNoCi1QYXRjaDI2 OiAgcnBpX2FybTY0LUVuYWJsZS1NQkVEVExTLUxXSVAtV0dFVC1hbmQtV0dFVF9IVFRQUy5wYXRj aAotUGF0Y2gyNzogIG1tYy1iY21zdGItRml4LW5vbi1yZW1vdmFibGUtY2hlY2staW4tYmNtMjcx Mi1pbml0LnBhdGNoCitQYXRjaDIxOiAgcnBpLWVuYWJsZS1udm1lLnBhdGNoCitQYXRjaDIyOiAg cmFzcGJlcnJ5cGktQWRkLXF1aXJrLWZvci1SUGk1LTJHYi1yZXYtMS4wLnBhdGNoCiAKIEJ1aWxk UmVxdWlyZXM6ICBiYwogQnVpbGRSZXF1aXJlczogIGJpc29uCkBAIC0zMTcsNiArMzEwLDEyIEBA IGluc3RhbGwgLXAgLW0gMDc1NSBidWlsZHMvdG9vbHMvZW52L2Z3X3ByaW50ZW52ICV7YnVpbGRy b290fSV7X2JpbmRpcn0KICVlbmRpZgogCiAlY2hhbmdlbG9nCisqIFR1ZSBKdW4gMjMgMjAyNiBQ ZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxOjIwMjYuMDct MC40LnJjNQorLSBVcGRhdGUgdG8gMjAyNi4wNyBSQzUKKworKiBNb24gSnVuIDA4IDIwMjYgUGV0 ZXIgUm9iaW5zb24gPHBicm9iaW5zb25AZmVkb3JhcHJvamVjdC5vcmc+IC0gMToyMDI2LjA3LTAu My5yYzQKKy0gVXBkYXRlIHRvIDIwMjYuMDcgUkM0CisKICogRnJpIE1heSAyOSAyMDI2IFBldGVy IFJvYmluc29uIDxwYnJvYmluc29uQGZlZG9yYXByb2plY3Qub3JnPiAtIDE6MjAyNi4wNy0wLjIu cmMzCiAtIFVwZGF0ZSB0byAyMDI2LjA3IFJDMwogLSBVcGRhdGUgVS1Cb290IFByb2plY3QgVVJM CgpkaWZmIC0tZ2l0IGEvdmlkZW8tYXJtLXJwaS1BZGQtYnJjbS1iY20yNzEyLWhkbWkwLWNvbXBh dGlibGUucGF0Y2ggYi92aWRlby1hcm0tcnBpLUFkZC1icmNtLWJjbTI3MTItaGRtaTAtY29tcGF0 aWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFmZWQzMy4uMDAwMDAw MAotLS0gYS92aWRlby1hcm0tcnBpLUFkZC1icmNtLWJjbTI3MTItaGRtaTAtY29tcGF0aWJsZS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MiArMCwwIEBACi1Gcm9tIHBhdGNod29yayBUdWUg QXByIDIxIDA4OjUxOjU5IDIwMjYKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0i dXRmLTgiCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2Jp dAotWC1QYXRjaHdvcmstU3VibWl0dGVyOiBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNvbkBnbWFp bC5jb20+Ci1YLVBhdGNod29yay1JZDogMjIyNTU5NAotWC1QYXRjaHdvcmstRGVsZWdhdGU6IHBi cm9iaW5zb25AZ21haWwuY29tCi1SZXR1cm4tUGF0aDogPHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRl bnguZGU+Ci1YLU9yaWdpbmFsLVRvOiBpbmNvbWluZ0BwYXRjaHdvcmsub3psYWJzLm9yZwotRGVs aXZlcmVkLVRvOiBwYXRjaHdvcmstaW5jb21pbmdAbGVnb2xhcy5vemxhYnMub3JnCi1BdXRoZW50 aWNhdGlvbi1SZXN1bHRzOiBsZWdvbGFzLm96bGFicy5vcmc7Ci0JZGtpbT1wYXNzICgyMDQ4LWJp dCBrZXk7Ci0gdW5wcm90ZWN0ZWQpIGhlYWRlci5kPWdtYWlsLmNvbSBoZWFkZXIuaT1AZ21haWwu Y29tIGhlYWRlci5hPXJzYS1zaGEyNTYKLSBoZWFkZXIucz0yMDI1MTEwNCBoZWFkZXIuYj1LOUlx MHlYTTsKLQlka2ltLWF0cHM9bmV1dHJhbAotQXV0aGVudGljYXRpb24tUmVzdWx0czogbGVnb2xh cy5vemxhYnMub3JnOwotIHNwZj1wYXNzIChzZW5kZXIgU1BGIGF1dGhvcml6ZWQpIHNtdHAubWFp bGZyb209bGlzdHMuZGVueC5kZQotIChjbGllbnQtaXA9MmEwMToyMzg6NDM4YjpjNTAwOjE3M2Q6 OWY1MjpkZGFiOmVlMDE7IGhlbG89cGhvYm9zLmRlbnguZGU7Ci0gZW52ZWxvcGUtZnJvbT11LWJv b3QtYm91bmNlc0BsaXN0cy5kZW54LmRlOyByZWNlaXZlcj1wYXRjaHdvcmsub3psYWJzLm9yZykK LVJlY2VpdmVkOiBmcm9tIHBob2Jvcy5kZW54LmRlIChwaG9ib3MuZGVueC5kZQotIFtJUHY2OjJh MDE6MjM4OjQzOGI6YzUwMDoxNzNkOjlmNTI6ZGRhYjplZTAxXSkKLQkodXNpbmcgVExTdjEuMyB3 aXRoIGNpcGhlciBUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0ICgyNTYvMjU2IGJpdHMpCi0JIGtleS1l eGNoYW5nZSB4MjU1MTkpCi0JKE5vIGNsaWVudCBjZXJ0aWZpY2F0ZSByZXF1ZXN0ZWQpCi0JYnkg bGVnb2xhcy5vemxhYnMub3JnIChQb3N0Zml4KSB3aXRoIEVTTVRQUyBpZCA0ZzBHTTUzTXp0ejF5 Q3YKLQlmb3IgPGluY29taW5nQHBhdGNod29yay5vemxhYnMub3JnPjsgVHVlLCAyMSBBcHIgMjAy NiAxODo1MjoxNyArMTAwMCAoQUVTVCkKLVJlY2VpdmVkOiBmcm9tIGgyODUwNjE2LnN0cmF0b3Nl cnZlci5uZXQgKGxvY2FsaG9zdCBbSVB2Njo6OjFdKQotCWJ5IHBob2Jvcy5kZW54LmRlIChQb3N0 Zml4KSB3aXRoIEVTTVRQIGlkIDY0QkU1ODQzOUU7Ci0JVHVlLCAyMSBBcHIgMjAyNiAxMDo1Mjox NCArMDIwMCAoQ0VTVCkKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IHBob2Jvcy5kZW54LmRlOwot IGRtYXJjPXBhc3MgKHA9bm9uZSBkaXM9bm9uZSkgaGVhZGVyLmZyb209Z21haWwuY29tCi1BdXRo ZW50aWNhdGlvbi1SZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBzcGY9cGFzcyBzbXRwLm1haWxm cm9tPXUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUKLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6 IHBob2Jvcy5kZW54LmRlOwotCWRraW09cGFzcyAoMjA0OC1iaXQga2V5OwotIHVucHJvdGVjdGVk KSBoZWFkZXIuZD1nbWFpbC5jb20gaGVhZGVyLmk9QGdtYWlsLmNvbSBoZWFkZXIuYj0iSzlJcTB5 WE0iOwotCWRraW0tYXRwcz1uZXV0cmFsCi1SZWNlaXZlZDogYnkgcGhvYm9zLmRlbnguZGUgKFBv c3RmaXgsIGZyb20gdXNlcmlkIDEwOSkKLSBpZCAxMDM5Mzg0MzkwOyBUdWUsIDIxIEFwciAyMDI2 IDEwOjUyOjEzICswMjAwIChDRVNUKQotWC1TcGFtLUNoZWNrZXItVmVyc2lvbjogU3BhbUFzc2Fz c2luIDMuNC4yICgyMDE4LTA5LTEzKSBvbiBwaG9ib3MuZGVueC5kZQotWC1TcGFtLUxldmVsOiAK LVgtU3BhbS1TdGF0dXM6IE5vLCBzY29yZT0tMi4xIHJlcXVpcmVkPTUuMCB0ZXN0cz1CQVlFU18w MCxES0lNX1NJR05FRCwKLSBES0lNX1ZBTElELERLSU1fVkFMSURfQVUsREtJTV9WQUxJRF9FRixG UkVFTUFJTF9GUk9NLAotIFJDVkRfSU5fRE5TV0xfQkxPQ0tFRCxTUEZfSEVMT19OT05FLFNQRl9Q QVNTIGF1dG9sZWFybj1oYW0KLSBhdXRvbGVhcm5fZm9yY2U9bm8gdmVyc2lvbj0zLjQuMgotUmVj ZWl2ZWQ6IGZyb20gbWFpbC13bTEteDMzNS5nb29nbGUuY29tIChtYWlsLXdtMS14MzM1Lmdvb2ds ZS5jb20KLSBbSVB2NjoyYTAwOjE0NTA6NDg2NDoyMDo6MzM1XSkKLSAodXNpbmcgVExTdjEuMyB3 aXRoIGNpcGhlciBUTFNfQUVTXzEyOF9HQ01fU0hBMjU2ICgxMjgvMTI4IGJpdHMpKQotIChObyBj bGllbnQgY2VydGlmaWNhdGUgcmVxdWVzdGVkKQotIGJ5IHBob2Jvcy5kZW54LmRlIChQb3N0Zml4 KSB3aXRoIEVTTVRQUyBpZCAxMjIzNDg0MzlFCi0gZm9yIDx1LWJvb3RAbGlzdHMuZGVueC5kZT47 IFR1ZSwgMjEgQXByIDIwMjYgMTA6NTI6MTEgKzAyMDAgKENFU1QpCi1BdXRoZW50aWNhdGlvbi1S ZXN1bHRzOiBwaG9ib3MuZGVueC5kZTsKLSBkbWFyYz1wYXNzIChwPW5vbmUgZGlzPW5vbmUpIGhl YWRlci5mcm9tPWdtYWlsLmNvbQotQXV0aGVudGljYXRpb24tUmVzdWx0czogcGhvYm9zLmRlbngu ZGU7Ci0gc3BmPXBhc3Mgc210cC5tYWlsZnJvbT1wYnJvYmluc29uQGdtYWlsLmNvbQotUmVjZWl2 ZWQ6IGJ5IG1haWwtd20xLXgzMzUuZ29vZ2xlLmNvbSB3aXRoIFNNVFAgaWQKLSA1YjFmMTdiMTgw NGIxLTQ4OTBkOTQ1ZWI0c28xNDUyMzIyNWU5LjAKLSBmb3IgPHUtYm9vdEBsaXN0cy5kZW54LmRl PjsgVHVlLCAyMSBBcHIgMjAyNiAwMTo1MjoxMSAtMDcwMCAoUERUKQotREtJTS1TaWduYXR1cmU6 IHY9MTsgYT1yc2Etc2hhMjU2OyBjPXJlbGF4ZWQvcmVsYXhlZDsKLSBkPWdtYWlsLmNvbTsgcz0y MDI1MTEwNDsgdD0xNzc2NzYxNTMwOyB4PTE3NzczNjYzMzA7IGRhcm49bGlzdHMuZGVueC5kZTsK LSBoPWNvbnRlbnQtdHJhbnNmZXItZW5jb2Rpbmc6bWltZS12ZXJzaW9uOm1lc3NhZ2UtaWQ6ZGF0 ZTpzdWJqZWN0OmNjCi0gOnRvOmZyb206ZnJvbTp0bzpjYzpzdWJqZWN0OmRhdGU6bWVzc2FnZS1p ZDpyZXBseS10bzsKLSBiaD01SjlDeDg0T0hNb1YwT0lyQTM4aGZDWEI2UVdHMHJwODhRWkU0WXR2 YXo0PTsKLSBiPUs5SXEweVhNVFlLOVpkRUJwRFdIZlZHNE5ZNjVzL0R3NDc5VS9yMWVsNy9mL0li OGhMcHVSazZuUlc3ZlgzRkhZTAotIFhEeW0yOFlXWXp6WHd2L3l3TEZkaTV6YjVZSU9ndDZaeW0y RXpLV3RyNUd5dEhjOHovQU12MlVydlhqMXpwNk5abXhPCi0gMnpSRjZRc1phMm9YQzR6eit3NFVi WTZ3ZmlBVTBrWWRGazJLdWN5cU5lMkNiNVJZV0tRU0ttV3ZHOWR4dFhPeWJ5VTgKLSA0YmRrc21J dWs3MnBScTlCeCtPcE8rZXBCRjNyNmliQmpaaVVtSkFIdEVsSHV6am0zVFQ1QXgzYVdMS3pUWTE2 SU84cwotIDBaQzFzdWwrOG1KVG56dzBZVlZrRkxWeW14WTh4d1EzMElyeUxEa0lITWFacExKclhW LzhVWStMdTNRY2lWSWVxK2VOCi0gRU92Zz09Ci1YLUdvb2dsZS1ES0lNLVNpZ25hdHVyZTogdj0x OyBhPXJzYS1zaGEyNTY7IGM9cmVsYXhlZC9yZWxheGVkOwotIGQ9MWUxMDAubmV0OyBzPTIwMjUx MTA0OyB0PTE3NzY3NjE1MzA7IHg9MTc3NzM2NjMzMDsKLSBoPWNvbnRlbnQtdHJhbnNmZXItZW5j b2Rpbmc6bWltZS12ZXJzaW9uOm1lc3NhZ2UtaWQ6ZGF0ZTpzdWJqZWN0OmNjCi0gOnRvOmZyb206 eC1nbS1nZzp4LWdtLW1lc3NhZ2Utc3RhdGU6ZnJvbTp0bzpjYzpzdWJqZWN0OmRhdGUKLSA6bWVz c2FnZS1pZDpyZXBseS10bzsKLSBiaD01SjlDeDg0T0hNb1YwT0lyQTM4aGZDWEI2UVdHMHJwODhR WkU0WXR2YXo0PTsKLSBiPWFKdnNIcXVaUXo4c3EyRkJSUHo3eDhYSnBReEZ4TmR4TlJ0dElLOFh2 UGdUM1g0QkdWdDNwZTQzWWswTFluVnlkVQotIFBDTEU3aFdXWVFuWUxWNXQ3d0ExN1hmZXlNenhE azVkcldPbDVtYmdheEZBcnlNM2o0SEQ3aXdYaWt2TEl0N1RvbGlqCi0gMjJwLzIzNWxTWm1jMVZT SC81Q0RQY0YxcFJ3ZnUrSnhsbTBtdWRoY2xRVHZ0ZWxhRkVIWGRLSFgrWnk0M1h0aWIrZmUKLSAy K2hWOTVxY1NjVDZVMC9oTzl2U1g0N05BazZxcTJocTNuLzJsVk1obFNVMDlkbFdWYmQycWhGcjJP TUwyMUptWDI2MQotIHJRYkZYbW4zSTQ1MWJmaUhJbk9haXNjV1NTRmVuYXB6MkpnckJDRC90a3pD V0pzZ3dvT2U5bk5yYXJkamZETEhWWDByCi0gdkZSUT09Ci1YLUZvcndhcmRlZC1FbmNyeXB0ZWQ6 IGk9MTsKLSBBRk5FbEovYkk5bHRHUTJ4Y0hLWEFOY2lCMGFQaXgvMXF4T0RiRXBhTjcxLzhIdUxZ VWpuelpjb0FZS2R6UjFjV0NHdXVaTUZMNEx2NUZrPUBsaXN0cy5kZW54LmRlCi1YLUdtLU1lc3Nh Z2UtU3RhdGU6IEFPSnUwWXo3QVJSaGlUZ1M5elZNdE1oVS9qMmNDMXdlVUFuNG5keUZ5bkJPY3Q4 cHlkcWRhMnAwCi0gaDBHMk9NYVNOTmFrZkF5N0IraVFybzBYS3ZtOFR2SFJZR0NyamV4SnhaSkM3 S0REUlRTdUVoYWEKLVgtR20tR2c6IEFlQkRpZXM4QTVEakFiV05qdVRWWFlQNEFhQzYyWDg2ZDg1 eGtaWStmWThVVW84amNuSG91enkzVzd0SEk0K2FPMnAKLSBvWmVLQjQ3MTVGRW5hVEtVaGFNNTVq eUNjY1FXRlZldlo4L3ZnMDYydkZHQmtEOGxLVW5pUUg2M243OGFTK2IwY2FOS2YydDlRYnQKLSA1 MkIwb3BIYmgrWTNrSGF0cFIzRjd4aVV2dURwK1FJYjNyUkJvTk9xcHlzcXNycDBWOE96NzRESHI4 S2p6NnpTMUtNbFlXMENvdmYKLSBWbXkwMlY0cnNCd3VjZE9DN0VrRGNWVi91ZU1vRSthaDNmR0pl YWdkYUJ0aXVOQWg1bjFNSm5oQm1sUUIyS1hrUGxrNEZsdnREclkKLSBYVGN1N2pDZHVkQkIrSkI0 dThmY0JRckhTakQya2NDOElHOGNpLzVabzJOWEJwRkZVYlVhODVkQTk3TWtWZ2t1TzhvYzA0OUtJ TDMKLSBVTEczVlN2SDBra0Vva0Z3Vm8ybzVPRmNjZlZUdXpXbDZVSkxKUUJJZ2tUK2djSGVGbE1E ZkVLMURDRjVjK2pKUiticlg1NC9YRHIKLSBWVVZicC9OeHRBWURlSnluTzZreEJ4dnA0eTY3c1lj S1F2Rkd0ZmkyL2dlcGlvVFp0azMyZzl4NEw0anNwa09WRklYYmdwS2NKdzAKLSBDYm0zcWZxZXYv S3U1bzBSckdyclVSZTQ1QkhEM2ljN2RFK0Q3YXdKdFdoOWNucHpNUENpaTJxY1BpeEFlTHIwOXdJ NEMxRmZ2WWUKLSB6eHZDck5KMUtRejNLM3R5cWt6RURCQ0E5a2UvekJ5OGdDWWZsRzhpUHNGcmR3 aTBrazhpYWRlZ1l2ak5CNFFPQ1BxVmlodVExM20KLSB1TUpuWGdBWUZDcndmVGJUMjliUFhFSW5W Q04yMHdIZmgKLVgtUmVjZWl2ZWQ6IGJ5IDIwMDI6YTA1OjYwMGM6MzE1MDpiMDo0ODU6M2NlZjpk NmVhIHdpdGggU01UUCBpZAotIDViMWYxN2IxODA0YjEtNDg4ZmI4YjlkZWFtcjE5ODY3MDMxNWU5 LjEzLjE3NzY3NjE1MzAyNTA7Ci0gVHVlLCAyMSBBcHIgMjAyNiAwMTo1MjoxMCAtMDcwMCAoUERU KQotUmVjZWl2ZWQ6IGZyb20gY3lwaGVyLmhvbWUucm92aW5nLWl0LmNvbQotICg3LjkuNy5mLmIu MS4zLjAuYi44LmYuMC45LmUuMC4wLjEuOC42LjIuMS4xLmIuZi4wLmIuOC4wLjEuMC4wLjIuaXA2 LmFycGEuCi0gWzIwMDE6OGIwOmZiMTE6MjY4MTplOTpmOGI6MzFiOmY3OTddKQotIGJ5IHNtdHAu Z29vZ2xlbWFpbC5jb20gd2l0aCBFU01UUFNBIGlkCi0gNWIxZjE3YjE4MDRiMS00ODhmYzE4YmNj ZnNtMzE5NzU0MDk1ZTkuOC4yMDI2LjA0LjIxLjAxLjUyLjA5Ci0gKHZlcnNpb249VExTMV8zIGNp cGhlcj1UTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IGJpdHM9MjU2LzI1Nik7Ci0gVHVlLCAyMSBBcHIg MjAyNiAwMTo1MjowOSAtMDcwMCAoUERUKQotRnJvbTogUGV0ZXIgUm9iaW5zb24gPHBicm9iaW5z b25AZ21haWwuY29tPgotVG86IE1hdHRoaWFzIEJydWdnZXIgPG1icnVnZ2VyQHN1c2UuY29tPiwK LQl1LWJvb3RAbGlzdHMuZGVueC5kZQotQ2M6IFBldGVyIFJvYmluc29uIDxwYnJvYmluc29uQGdt YWlsLmNvbT4KLVN1YmplY3Q6IFtQQVRDSF0gdmlkZW86IGFybTogcnBpOiBBZGQgYnJjbSxiY20y NzEyLWhkbWkwIGNvbXBhdGlibGUKLURhdGU6IFR1ZSwgMjEgQXByIDIwMjYgMDk6NTE6NTkgKzAx MDAKLU1lc3NhZ2UtSUQ6IDwyMDI2MDQyMTA4NTIwNy4yNzM3MDMtMS1wYnJvYmluc29uQGdtYWls LmNvbT4KLVgtTWFpbGVyOiBnaXQtc2VuZC1lbWFpbCAyLjUzLjAKLU1JTUUtVmVyc2lvbjogMS4w Ci1YLUJlZW5UaGVyZTogdS1ib290QGxpc3RzLmRlbnguZGUKLVgtTWFpbG1hbi1WZXJzaW9uOiAy LjEuMzkKLVByZWNlZGVuY2U6IGxpc3QKLUxpc3QtSWQ6IFUtQm9vdCBkaXNjdXNzaW9uIDx1LWJv b3QubGlzdHMuZGVueC5kZT4KLUxpc3QtVW5zdWJzY3JpYmU6IDxodHRwczovL2xpc3RzLmRlbngu ZGUvb3B0aW9ucy91LWJvb3Q+LAotIDxtYWlsdG86dS1ib290LXJlcXVlc3RAbGlzdHMuZGVueC5k ZT9zdWJqZWN0PXVuc3Vic2NyaWJlPgotTGlzdC1BcmNoaXZlOiA8aHR0cHM6Ly9saXN0cy5kZW54 LmRlL3BpcGVybWFpbC91LWJvb3QvPgotTGlzdC1Qb3N0OiA8bWFpbHRvOnUtYm9vdEBsaXN0cy5k ZW54LmRlPgotTGlzdC1IZWxwOiA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/ c3ViamVjdD1oZWxwPgotTGlzdC1TdWJzY3JpYmU6IDxodHRwczovL2xpc3RzLmRlbnguZGUvbGlz dGluZm8vdS1ib290PiwKLSA8bWFpbHRvOnUtYm9vdC1yZXF1ZXN0QGxpc3RzLmRlbnguZGU/c3Vi amVjdD1zdWJzY3JpYmU+Ci1FcnJvcnMtVG86IHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGUK LVNlbmRlcjogIlUtQm9vdCIgPHUtYm9vdC1ib3VuY2VzQGxpc3RzLmRlbnguZGU+Ci1YLVZpcnVz LVNjYW5uZWQ6IGNsYW1hdi1taWx0ZXIgMC4xMDMuOCBhdCBwaG9ib3MuZGVueC5kZQotWC1WaXJ1 cy1TdGF0dXM6IENsZWFuCi0KLVRoZSAnYnJjbSxiY20yNzEyLWhkbWkwJyBjb21wYXRpYmxlIHN0 cmluZyBpcyB1c2VkIG9uIFJQaTUuCi1UaGVyZSBhcHBlYXJzIHRvIGJlIG5vIGNoYW5nZSB0aGF0 IGltcGFjdHMgZWFybHkgYm9vdCBvdXRwdXQKLW9uIHRoZSBkaXNwbGF5IGNvbnRyb2xsZXIgc28g YWRkIHRoZSBSUGk1IGNvbXBhdGlibGUgc3RyaW5nLgotCi1TaWduZWQtb2ZmLWJ5OiBQZXRlciBS b2JpbnNvbiA8cGJyb2JpbnNvbkBnbWFpbC5jb20+Ci1SZXZpZXdlZC1ieTogTWF0dGhpYXMgQnJ1 Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+Ci0tLS0KLSBkcml2ZXJzL3ZpZGVvL2JjbTI4MzUuYyB8 IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZHJp dmVycy92aWRlby9iY20yODM1LmMgYi9kcml2ZXJzL3ZpZGVvL2JjbTI4MzUuYwotaW5kZXggMGM4 MWU2MDY2MjIuLjBlMGNjMTk3OWViIDEwMDY0NAotLS0tIGEvZHJpdmVycy92aWRlby9iY20yODM1 LmMKLSsrKyBiL2RyaXZlcnMvdmlkZW8vYmNtMjgzNS5jCi1AQCAtNjYsNiArNjYsNyBAQCBzdGF0 aWMgaW50IGJjbTI4MzVfdmlkZW9fcHJvYmUoc3RydWN0IHVkZXZpY2UgKmRldikKLSBzdGF0aWMg Y29uc3Qgc3RydWN0IHVkZXZpY2VfaWQgYmNtMjgzNV92aWRlb19pZHNbXSA9IHsKLSAJeyAuY29t cGF0aWJsZSA9ICJicmNtLGJjbTI4MzUtaGRtaSIgfSwKLSAJeyAuY29tcGF0aWJsZSA9ICJicmNt LGJjbTI3MTEtaGRtaTAiIH0sCi0rCXsgLmNvbXBhdGlibGUgPSAiYnJjbSxiY20yNzEyLWhkbWkw IiB9LAotIAl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtMjcwOC1mYiIgfSwKLSAjaWYgIUlTX0VO QUJMRUQoQ09ORklHX1ZJREVPX0RUX1NJTVBMRUZCKQotIAl7IC5jb21wYXRpYmxlID0gInNpbXBs ZS1mcmFtZWJ1ZmZlciIgfSwK