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: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10: 2.6.90 Date: Mon, 06 Jul 2026 18:05:09 GMT Message-ID: <178336110932.1.9260347276112818359.rpms-amarok-f922ba2ca3de@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10 X-Git-Rev: f922ba2ca3de1c5ac039c6b635ffa560e1dcc49d QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMApDb21taXQgOiBmOTIyYmEyY2EzZGUxYzVhYzAzOWM2YjYzNWZmYTU2MGUxZGNj NDlkCkF1dGhvciA6IFJleCBEaWV0ZXIgPHJkaWV0ZXJAbWF0aC51bmwuZWR1PgpEYXRlICAgOiAy MDEyLTEyLTE0VDExOjMyOjQ1LTA2OjAwClN0YXRzICA6ICsxMTkvLTgzOSBpbiA4IGZpbGUocykK VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9hbWFyb2svYy9mOTIy YmEyY2EzZGUxYzVhYzAzOWM2YjYzNWZmYTU2MGUxZGNjNDlkP2JyYW5jaD1lcGVsMTAKCkxvZzoK Mi42LjkwCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGE1 YTgxNWYuLjAwMDUxOWMgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpA QCAtMSwyICsxLDMgQEAKIC9hbWFyb2stMi42LjAudGFyLmJ6MgogL2FtYXJvay1mcl9wby5wYXRj aC5iejIKKy9hbWFyb2stMi42LjkwLnRhci5iejIKCmRpZmYgLS1naXQgYS9hbWFyb2stMi4yLjEu OTAtcXRzY3JpcHRfbm90X3JlcXVpcmVkLnBhdGNoIGIvYW1hcm9rLTIuMi4xLjkwLXF0c2NyaXB0 X25vdF9yZXF1aXJlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTExYzUy Yi4uMDAwMDAwMAotLS0gYS9hbWFyb2stMi4yLjEuOTAtcXRzY3JpcHRfbm90X3JlcXVpcmVkLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotZGlmZiAtdXAgYW1hcm9rLTIuMi4x LjkwL0NNYWtlTGlzdHMudHh0LnF0c2NyaXB0X25vdF9yZXF1aXJlZCBhbWFyb2stMi4yLjEuOTAv Q01ha2VMaXN0cy50eHQKLS0tLSBhbWFyb2stMi4yLjEuOTAvQ01ha2VMaXN0cy50eHQucXRzY3Jp cHRfbm90X3JlcXVpcmVkCTIwMDktMTItMTAgMDQ6NDU6MzcuMDAwMDAwMDAwIC0wNjAwCi0rKysg YW1hcm9rLTIuMi4xLjkwL0NNYWtlTGlzdHMudHh0CTIwMDktMTItMTAgMDk6NDI6MjEuMjUzMTgz MjI0IC0wNjAwCi1AQCAtNzUsOCArNzUsOCBAQCBpZiggV0lUSF9QTEFZRVIgKQotIAotICAgICBt YWNyb19sb2dfZmVhdHVyZSggS0RFNF9GT1VORCAia2RlbGlicyIgIlRoZSB0b29sa2l0IEFtYXJv ayB1c2VzIHRvIGJ1aWxkIiAiaHR0cDovL3d3dy5rZGUub3JnIiBUUlVFICI0LjMuMCIgIiIgKQot IAotLSAgICBmaW5kX3BhY2thZ2UoIFF0U2NyaXB0UXRCaW5kaW5ncyBSRVFVSVJFRCApCi0tICAg IG1hY3JvX2xvZ19mZWF0dXJlKCBRVFNDUklQVFFUQklORElOR1NfRk9VTkQgInF0c2NyaXB0LXF0 IiAiUXRTY3JpcHQgUXQgQmluZGluZ3MiICJodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcXRzY3Jp cHRnZW5lcmF0b3IvIiBUUlVFICIiICIiICkKLSsgICAgbWFjcm9fb3B0aW9uYWxfZmluZF9wYWNr YWdlKCBRdFNjcmlwdFF0QmluZGluZ3MgKQotKyAgICBtYWNyb19sb2dfZmVhdHVyZSggUVRTQ1JJ UFRRVEJJTkRJTkdTX0ZPVU5EICJxdHNjcmlwdC1xdCIgIlF0U2NyaXB0IFF0IEJpbmRpbmdzIiAi aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3F0c2NyaXB0Z2VuZXJhdG9yLyIgRkFMU0UgIiIgIiIg KQotIAotICAgICBhZGRfZGVmaW5pdGlvbnMoJHtRVF9ERUZJTklUSU9OU30gJHtLREU0X0RFRklO SVRJT05TfSkKLSAKCmRpZmYgLS1naXQgYS9hbWFyb2stMi41LjAtb25saW5lZG9jLnBhdGNoIGIv YW1hcm9rLTIuNS4wLW9ubGluZWRvYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggZGM3MzFkNC4uMDAwMDAwMAotLS0gYS9hbWFyb2stMi41LjAtb25saW5lZG9jLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotZGlmZiAtdXIgYW1hcm9rLTIuNS4wL3NyYy9B Y3Rpb25DbGFzc2VzLmNwcCBhbWFyb2stMi41LjAtb25saW5lZG9jL3NyYy9BY3Rpb25DbGFzc2Vz LmNwcAotLS0tIGFtYXJvay0yLjUuMC9zcmMvQWN0aW9uQ2xhc3Nlcy5jcHAJMjAxMS0xMi0xNSAw ODozNjo0OC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBhbWFyb2stMi41LjAtb25saW5lZG9jL3NyYy9B Y3Rpb25DbGFzc2VzLmNwcAkyMDEyLTAxLTI5IDA4OjIzOjUwLjAwMDAwMDAwMCArMDEwMAotQEAg LTMxLDEwICszMSwxMiBAQAotICNpbmNsdWRlICJwbGF5bGlzdC9QbGF5bGlzdEFjdGlvbnMuaCIK LSAjaW5jbHVkZSAicGxheWxpc3QvUGxheWxpc3RNb2RlbFN0YWNrLmgiCi0gCi0rI2luY2x1ZGUg PFFGaWxlPgotICNpbmNsdWRlIDxLQXV0aG9yaXplZD4KLSAjaW5jbHVkZSA8S0hlbHBNZW51Pgot ICNpbmNsdWRlIDxLTG9jYWxlPgotICNpbmNsdWRlIDxLVG9vbEJhcj4KLSsjaW5jbHVkZSA8S1Rv b2xJbnZvY2F0aW9uPgotICNpbmNsdWRlIDxPc2QuaD4KLSAjaW5jbHVkZSA8RXF1YWxpemVyRGlh bG9nLmg+Ci0gCi1AQCAtNjMsNiArNjUsNyBAQAotIHVzaW5nIG5hbWVzcGFjZSBBbWFyb2s7Ci0g Ci0gS0hlbHBNZW51ICpNZW51OjpzX2hlbHBNZW51ID0gMDsKLStPbmxpbmVIZWxwSGFuZGxlciAq TWVudTo6c19vbmxpbmVIZWxwSGFuZGxlciA9IDA7Ci0gCi0gc3RhdGljIHZvaWQKLSBzYWZlUGx1 ZyggS0FjdGlvbkNvbGxlY3Rpb24gKmFjLCBjb25zdCBjaGFyICpuYW1lLCBRV2lkZ2V0ICp3ICkK LUBAIC0xNTIsNiArMTU1LDIwIEBACi0gCi0gICAgIEtNZW51KiBtZW51ID0gc19oZWxwTWVudS0+ bWVudSgpOwotIAotKyAgICAvLyBJZiBhbWFyb2stZG9jIGlzIG5vdCBpbnN0YWxsZWQsIGJyaW5n IHVwIHRoZSBvbmxpbmUgdmVyc2lvbiBpbnN0ZWFkLgotKyAgICBpZiAoICFRRmlsZTo6ZXhpc3Rz KCAiL3Vzci9zaGFyZS9kb2MvSFRNTC9lbi9hbWFyb2svaW5kZXguZG9jYm9vayIgKSApIHsKLSsg ICAgICAgIFFBY3Rpb24gKmNvbnRlbnRzQWN0aW9uID0gc19oZWxwTWVudS0+YWN0aW9uKCBLSGVs cE1lbnU6Om1lbnVIZWxwQ29udGVudHMgKTsKLSsgICAgICAgIC8vIGRpc2Nvbm5lY3QgdGhlIGRl ZmF1bHQgc2xvdCB3aGljaCBmaXJlcyB1cCBLSGVscENlbnRlcgotKyAgICAgICAgZGlzY29ubmVj dCggY29udGVudHNBY3Rpb24sIFNJR05BTCh0cmlnZ2VyZWQoYm9vbCkpLCBzX2hlbHBNZW51LCBT TE9UKGFwcEhlbHBBY3RpdmF0ZWQoKSkgKTsKLSsgICAgICAgIGlmICggc19vbmxpbmVIZWxwSGFu ZGxlciA9PSAwICkKLSsgICAgICAgICAgICBzX29ubGluZUhlbHBIYW5kbGVyID0gbmV3IE9ubGlu ZUhlbHBIYW5kbGVyKCBwYXJlbnQgKTsKLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAvLyBl bnN1cmUgbm8gZHVwbGljYXRlIGNvbm5lY3Rpb24KLSsgICAgICAgICAgICBkaXNjb25uZWN0KCBj b250ZW50c0FjdGlvbiwgU0lHTkFMKHRyaWdnZXJlZChib29sKSksIHNfb25saW5lSGVscEhhbmRs ZXIsIFNMT1Qob25saW5lSGVscEFjdGl2YXRlZCgpKSApOwotKyAgICAgICAgLy8gY29ubmVjdCBv dXIgY3VzdG9tIHNsb3Qgd2hpY2ggZmlyZXMgdXAgYSBicm93c2VyIG9uIFVzZXJCYXNlIGluc3Rl YWQKLSsgICAgICAgIGNvbm5lY3QoIGNvbnRlbnRzQWN0aW9uLCBTSUdOQUwodHJpZ2dlcmVkKGJv b2wpKSwgc19vbmxpbmVIZWxwSGFuZGxlciwgU0xPVChvbmxpbmVIZWxwQWN0aXZhdGVkKCkpICk7 Ci0rICAgIH0KLSsKLSAgICAgLy8gTk9URTogV2UgaGlkZSAiUmVwb3J0IEJ1Zy4uLiIgYmVjYXVz ZSB3ZSBuZWVkIHRvIGFkZCBpdCBvbiBvdXIgb3duIHRvIG5hbWUgdGhlIGRpYWxvZwotICAgICAv LyBzbyBpdCBjYW4gYmUgYmxhY2tsaXN0ZWQgZnJvbSBMaWtlQmFjay4KLSAgICAgc19oZWxwTWVu dS0+YWN0aW9uKCBLSGVscE1lbnU6Om1lbnVSZXBvcnRCdWcgKS0+c2V0VmlzaWJsZSggZmFsc2Ug KTsKLUBAIC0xNjQsNiArMTgxLDE3IEBACi0gICAgIHJldHVybiBtZW51OwotIH0KLSAKLStPbmxp bmVIZWxwSGFuZGxlcjo6T25saW5lSGVscEhhbmRsZXIoIFFPYmplY3QqIHBhcmVudCApCi0rICAg ICAgICA6IFFPYmplY3QoIHBhcmVudCApCi0rewotK30KLSsKLSt2b2lkCi0rT25saW5lSGVscEhh bmRsZXI6Om9ubGluZUhlbHBBY3RpdmF0ZWQoKQotK3sKLSsgICAgS1Rvb2xJbnZvY2F0aW9uOjpp bnZva2VCcm93c2VyKCAiaHR0cDovL3VzZXJiYXNlLmtkZS5vcmcvQW1hcm9rL01hbnVhbCIgKTsK LSt9Ci0rCi0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0gLy8gUGxheVBhdXNl QWN0aW9uCi0gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi1kaWZmIC11ciBhbWFy b2stMi41LjAvc3JjL0FjdGlvbkNsYXNzZXMuaCBhbWFyb2stMi41LjAtb25saW5lZG9jL3NyYy9B Y3Rpb25DbGFzc2VzLmgKLS0tLSBhbWFyb2stMi41LjAvc3JjL0FjdGlvbkNsYXNzZXMuaAkyMDEx LTEyLTE1IDA4OjM2OjQ4LjAwMDAwMDAwMCArMDEwMAotKysrIGFtYXJvay0yLjUuMC1vbmxpbmVk b2Mvc3JjL0FjdGlvbkNsYXNzZXMuaAkyMDEyLTAxLTI5IDA4OjA4OjEzLjAwMDAwMDAwMCArMDEw MAotQEAgLTM0LDYgKzM0LDE2IEBACi0gCi0gbmFtZXNwYWNlIEFtYXJvawotIHsKLSsgICAgY2xh c3MgT25saW5lSGVscEhhbmRsZXIgOiBwdWJsaWMgUU9iamVjdAotKyAgICB7Ci0rICAgICAgICBR X09CSkVDVAotKyAgICAgICAgcHVibGljOgotKyAgICAgICAgICAgIE9ubGluZUhlbHBIYW5kbGVy KCBRT2JqZWN0KiBwYXJlbnQgKTsKLSsKLSsgICAgICAgIHB1YmxpYyBzbG90czoKLSsgICAgICAg ICAgICB2b2lkIG9ubGluZUhlbHBBY3RpdmF0ZWQoKTsKLSsgICAgfTsKLSsKLSAgICAgY2xhc3Mg TWVudSA6IHB1YmxpYyBLTWVudQotICAgICB7Ci0gICAgICAgICBRX09CSkVDVAotQEAgLTQ1LDYg KzU1LDcgQEAKLSAgICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICAgc3RhdGljIE1lbnUgICAg ICAgKnNfaW5zdGFuY2U7Ci0gICAgICAgICAgICAgc3RhdGljIEtIZWxwTWVudSAgKnNfaGVscE1l bnU7Ci0rICAgICAgICAgICAgc3RhdGljIE9ubGluZUhlbHBIYW5kbGVyICpzX29ubGluZUhlbHBI YW5kbGVyOwotICAgICB9OwotIAotICAgICBjbGFzcyBNZW51QWN0aW9uIDogcHVibGljIEtBY3Rp b24KCmRpZmYgLS1naXQgYS9hbWFyb2stMi41Ljk2LWxpYmxhc3RmbTEucGF0Y2ggYi9hbWFyb2st Mi41Ljk2LWxpYmxhc3RmbTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4 ODE1NTkuLjAwMDAwMDAKLS0tIGEvYW1hcm9rLTIuNS45Ni1saWJsYXN0Zm0xLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNzA2ICswLDAgQEAKLWRpZmYgLXVwIGFtYXJvay0yLjUuOTYvQ01ha2VM aXN0cy50eHQubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L0NNYWtlTGlzdHMudHh0Ci0tLS0gYW1h cm9rLTIuNS45Ni9DTWFrZUxpc3RzLnR4dC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTc6MjAu MDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIuNS45Ni9DTWFrZUxpc3RzLnR4dAkyMDEyLTA4 LTAyIDA3OjUyOjEzLjY1MzE4Nzc0MyAtMDUwMAotQEAgLTEyOSw3ICsxMjksNyBAQCBpZiggV0lU SF9QTEFZRVIgKQotICAgICAjIG1hY3JvX2xvZ19mZWF0dXJlKCBTVFJJR0lfRk9VTkQgInN0cmln aSIgIkluZGV4IG1ldGFkYXRhIG9mIGZpbGVzIiAiaHR0cDovL3N0cmlnaS5zb3VyY2Vmb3JnZS5u ZXQiIEZBTFNFICIiICIiICkKLSAKLSAgICAgbWFjcm9fb3B0aW9uYWxfZmluZF9wYWNrYWdlKExp Ykxhc3RGbSkKLS0gICAgbWFjcm9fbG9nX2ZlYXR1cmUoIExJQkxBU1RGTV9GT1VORCAibGlibGFz dGZtIiAiRW5hYmxlIExhc3QuRm0gc2VydmljZSwgaW5jbHVkaW5nIHNjcm9iYmxpbmcsIHNvbmcg c3VibWlzc2lvbnMsIGFuZCBzdWdnZXN0ZWQgc29uZyBkeW5hbWljIHBsYXlsaXN0cyIgImh0dHA6 Ly9jZG4ubGFzdC5mbS9zcmMvbGlibGFzdGZtLTAuMy4wLnRhci5iejIiIEZBTFNFICIiICJ2ZXJz aW9uIDAuMy54ICh2ZXJzaW9ucyAxLjAgb3IgaGlnaGVyIGFyZSBpbmNvbXBhdGlibGUpIiApCi0r ICAgIG1hY3JvX2xvZ19mZWF0dXJlKCBMSUJMQVNURk1fRk9VTkQgImxpYmxhc3RmbSIgIkVuYWJs ZSBMYXN0LkZtIHNlcnZpY2UsIGluY2x1ZGluZyBzY3JvYmJsaW5nLCBzb25nIHN1Ym1pc3Npb25z LCBhbmQgc3VnZ2VzdGVkIHNvbmcgZHluYW1pYyBwbGF5bGlzdHMiICJodHRwOi8vY2RuLmxhc3Qu Zm0vc3JjL2xpYmxhc3RmbS0xLjAuMC50YXIuZ3oiIEZBTFNFICIxLjAuMCIgIiIgKQotICAgICBt YWNyb19ib29sX3RvXzAxKCBMSUJMQVNURk1fRk9VTkQgSEFWRV9MSUJMQVNURk0gKQotIAotICAg ICBtYWNyb19vcHRpb25hbF9maW5kX3BhY2thZ2UoIEZGbXBlZyApCi1kaWZmIC11cCBhbWFyb2st Mi41Ljk2L2NtYWtlL21vZHVsZXMvRmluZExpYkxhc3RGbS5jbWFrZS5saWJsYXN0Zm0xIGFtYXJv ay0yLjUuOTYvY21ha2UvbW9kdWxlcy9GaW5kTGliTGFzdEZtLmNtYWtlCi0tLS0gYW1hcm9rLTIu NS45Ni9jbWFrZS9tb2R1bGVzL0ZpbmRMaWJMYXN0Rm0uY21ha2UubGlibGFzdGZtMQkyMDEyLTA3 LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvY21ha2UvbW9k dWxlcy9GaW5kTGliTGFzdEZtLmNtYWtlCTIwMTItMDgtMDIgMDc6Mzg6MjQuMzE3NTU1ODY5IC0w NTAwCi1AQCAtNiw3ICs2LDcgQEAKLSAjIExJQkxBU1RGTV9GT1VORCwgd2hldGhlciBsaWJsYXN0 Zm0gd2FzIGZvdW5kCi0gCi0gCi0tZmluZF9wYXRoKExJQkxBU1RGTV9JTkNMVURFX0RJUiBOQU1F UyBBdWRpb3Njcm9iYmxlcgotK2ZpbmRfcGF0aChMSUJMQVNURk1fSU5DTFVERV9ESVIgTkFNRVMg bGFzdGZtCi0gICAgSElOVFMKLSAgICB+L3Vzci9pbmNsdWRlCi0gICAgL29wdC9sb2NhbC9pbmNs dWRlCi1kaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9jb250ZXh0L2VuZ2luZXMvdXBjb21pbmdl dmVudHMvVXBjb21pbmdFdmVudHNFbmdpbmUuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9z cmMvY29udGV4dC9lbmdpbmVzL3VwY29taW5nZXZlbnRzL1VwY29taW5nRXZlbnRzRW5naW5lLmNw cAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL2NvbnRleHQvZW5naW5lcy91cGNvbWluZ2V2ZW50cy9V cGNvbWluZ0V2ZW50c0VuZ2luZS5jcHAubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAw MDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL2NvbnRleHQvZW5naW5lcy91cGNv bWluZ2V2ZW50cy9VcGNvbWluZ0V2ZW50c0VuZ2luZS5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4z MDE1NTYwNjggLTA1MDAKLUBAIC0yNywxMCArMjcsNiBAQAotICNpbmNsdWRlICJFbmdpbmVDb250 cm9sbGVyLmgiCi0gI2luY2x1ZGUgIkxhc3RGbUV2ZW50WG1sUGFyc2VyLmgiCi0gCi0tLy8gTGFz dEZtCi0tI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KLS0jaW5jbHVkZSA8bGFzdGZtL3dzLmg+ Ci0tCi0gLy8gS0RFCi0gI2luY2x1ZGUgPEtEYXRlVGltZT4KLSAKLWRpZmYgLXVwIGFtYXJvay0y LjUuOTYvc3JjL2NvcmUvc3VwcG9ydC9BbWFyb2suaC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYv c3JjL2NvcmUvc3VwcG9ydC9BbWFyb2suaAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL2NvcmUvc3Vw cG9ydC9BbWFyb2suaC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0w NTAwCi0rKysgYW1hcm9rLTIuNS45Ni9zcmMvY29yZS9zdXBwb3J0L0FtYXJvay5oCTIwMTItMDgt MDIgMDc6Mzg6MjQuMzAxNTU2MDY4IC0wNTAwCi1AQCAtMjAzLDYgKzIwMyw3IEBAIG5hbWVzcGFj ZSBBbWFyb2sKLSAKLSAgICAgaW5saW5lIGNvbnN0IGNoYXIqIGRpc2NvZ3NBcGlLZXkoKSB7IHJl dHVybiAiOTE3MzRkZDk4OSI7IH0KLSAgICAgaW5saW5lIGNvbnN0IGNoYXIqIGxhc3RmbUFwaUtl eSgpIHsgcmV0dXJuICI0MDJkM2NhOGU5YmM5ZDNjZjliODVlMTIwMjk0NGNhNSI7IH0KLSsgICAg aW5saW5lIGNvbnN0IGNoYXIqIGxhc3RmbUFwaVNoYXJlZFNlY3JldCgpIHsgcmV0dXJuICJmZTBk Y2RlOWZjZDE0YzJkMWQ1MDY2NWI2NDYzMzVlOSI7IH0KLSAgICAgaW5saW5lIGNvbnN0IGNoYXIq IHlhaG9vQm9zc0FwaUtleSgpIHsgcmV0dXJuICJvUWVwVE5yVjM0RzlTYXRiMWRnUlo4aGRsMXVo SnZndURTVTVLbmwyWGQ0QUxLODVrbll0Nnlsci5GVEE1N1hNUkJBLSI7IH0KLSAgICAgaW5saW5l IGNvbnN0IGNoYXIqIGZsaWNrckFwaUtleSgpIHsgcmV0dXJuICI5YzVhMjg4MTE2YzM0YzE3ZWNl ZTM3ODc3Mzk3ZmUzMSI7IH0KLSB9Ci1kaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9MYXN0Zm1S ZWFkTGFiZWxDYXBhYmlsaXR5LmNwcC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL0xhc3Rm bVJlYWRMYWJlbENhcGFiaWxpdHkuY3BwCi0tLS0gYW1hcm9rLTIuNS45Ni9zcmMvTGFzdGZtUmVh ZExhYmVsQ2FwYWJpbGl0eS5jcHAubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAw MDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL0xhc3RmbVJlYWRMYWJlbENhcGFiaWxp dHkuY3BwCTIwMTItMDgtMDIgMDc6Mzg6MjQuMzE4NTU1ODU2IC0wNTAwCi1AQCAtMjIsOCArMjIs NyBAQAotICNpbmNsdWRlIDxRTWFwPgotICNpbmNsdWRlIDxRTmV0d29ya1JlcGx5PgotIAotLSNp bmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0tI2luY2x1ZGUgPHdzLmg+Ci0rI2luY2x1ZGUgPGxh c3RmbS9YbWxRdWVyeS5oPgotICNpbmNsdWRlICJjb3JlL3N1cHBvcnQvQW1hcm9rLmgiCi0gCi0g bmFtZXNwYWNlIENhcGFiaWxpdGllcwotQEAgLTcyLDcgKzcxLDggQEAgTGFzdGZtUmVhZExhYmVs Q2FwYWJpbGl0eTo6b25UYWdzRmV0Y2hlZAotICAgICB7Ci0gICAgICAgICBjYXNlIFFOZXR3b3Jr UmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVy eSBsZm0gPSBtX2pvYi0+cmVhZEFsbCgpOwotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkg bGZtOwotKyAgICAgICAgICAgIGxmbS5wYXJzZShtX2pvYi0+cmVhZEFsbCgpKTsKLSAgICAgICAg ICAgICBRTGlzdDxsYXN0Zm06OlhtbFF1ZXJ5PiB0YWdzID0gbGZtLmNoaWxkcmVuKCAidGFnIiAp OwotICAgICAgICAgICAgIFFTdHJpbmdMaXN0IHJldDsKLSAgICAgICAgICAgICBmb3JlYWNoKCBj b25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZjaGlsZCwgdGFncyApCi1kaWZmIC11cCBhbWFyb2stMi41 Ljk2L3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0xhc3RmbUluZm9QYXJzZXIuY3BwLmxpYmxhc3RmbTEg YW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvYW1wYWNoZS9MYXN0Zm1JbmZvUGFyc2VyLmNwcAot LS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2FtcGFjaGUvTGFzdGZtSW5mb1BhcnNlci5j cHAubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFt YXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2FtcGFjaGUvTGFzdGZtSW5mb1BhcnNlci5jcHAJMjAx Mi0wOC0wMiAwNzozODoyNC4yOTY1NTYxMjkgLTA1MDAKLUBAIC0yMCw4ICsyMCw3IEBACi0gI2lu Y2x1ZGUgImNvcmUvc3VwcG9ydC9BbWFyb2suaCIKLSAjaW5jbHVkZSAiY29yZS9zdXBwb3J0L0Rl YnVnLmgiCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KLS0jaW5jbHVkZSA8bGFzdGZt L3dzLmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgotIAotICNpbmNsdWRlIDxLTG9j YWxlPgotIAotQEAgLTU1LDcgKzU0LDggQEAgdm9pZCBMYXN0Zm1JbmZvUGFyc2VyOjpvbkdldFRy YWNrSW5mbygpCi0gICAgIHsKLSAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoK LSAgICAgICAgIHsKLS0gICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSA9IG1fam9ic1sg ImdldFRyYWNrSW5mbyIgXS0+cmVhZEFsbCgpOwotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVl cnkgbGZtOwotKyAgICAgICAgICAgIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0VHJhY2tJbmZvIiBd LT5yZWFkQWxsKCkgKTsKLSAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IHdpa2kgPSBsZm1b InRyYWNrIl1bIndpa2kiXTsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIGNvbnRlbnRUZXh0 ID0gd2lraVsiY29udGVudCJdLnRleHQoKTsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIHB1 Ymxpc2hlZERhdGUgPSB3aWtpWyJwdWJsaXNoZWQiXS50ZXh0KCk7Ci1AQCAtMTAzLDcgKzEwMyw4 IEBAIHZvaWQgTGFzdGZtSW5mb1BhcnNlcjo6b25HZXRBbGJ1bUluZm8oKQotICAgICB7Ci0gICAg ICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAg ICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0gPSBtX2pvYnNbICJnZXRBbGJ1bUluZm8iIF0tPnJlYWRB bGwoKTsKLSsgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgICAgICAgICBs Zm0ucGFyc2UoIG1fam9ic1sgImdldEFsYnVtSW5mbyIgXS0+cmVhZEFsbCgpICk7Ci0gICAgICAg ICAgICAgbGFzdGZtOjpYbWxRdWVyeSB3aWtpID0gbGZtWyJhbGJ1bSJdWyJ3aWtpIl07Ci0gICAg ICAgICAgICAgY29uc3QgUVN0cmluZyBzdW1tYXJ5VGV4dCA9IHdpa2lbInN1bW1hcnkiXS50ZXh0 KCk7Ci0gICAgICAgICAgICAgY29uc3QgUVN0cmluZyBjb250ZW50VGV4dCA9IHdpa2lbImNvbnRl bnQiXS50ZXh0KCk7Ci1AQCAtMTU1LDcgKzE1Niw4IEBAIHZvaWQgTGFzdGZtSW5mb1BhcnNlcjo6 b25HZXRBcnRpc3RJbmZvKCkKLSAgICAgewotICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5OjpO b0Vycm9yOgotICAgICAgICAgewotLSAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtID0g bV9qb2JzWyAiZ2V0QXJ0aXN0SW5mbyIgXS0+cmVhZEFsbCgpOwotKyAgICAgICAgICAgIGxhc3Rm bTo6WG1sUXVlcnkgbGZtOwotKyAgICAgICAgICAgIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0QXJ0 aXN0SW5mbyIgXS0+cmVhZEFsbCgpICk7Ci0gICAgICAgICAgICAgZGVidWcoKSA8PCBsZm0udGV4 dCgpOwotICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgYmlvID0gbGZtWyJhcnRpc3QiXVsi YmlvIl07Ci0gICAgICAgICAgICAgY29uc3QgUVN0cmluZyBzdW1tYXJ5VGV4dCA9IGJpb1sic3Vt bWFyeSJdLnRleHQoKTsKLWRpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3Rm bS9iaWFzZXMvTGFzdEZtQmlhcy5jcHAubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2 aWNlcy9sYXN0Zm0vYmlhc2VzL0xhc3RGbUJpYXMuY3BwCi0tLS0gYW1hcm9rLTIuNS45Ni9zcmMv c2VydmljZXMvbGFzdGZtL2JpYXNlcy9MYXN0Rm1CaWFzLmNwcC5saWJsYXN0Zm0xCTIwMTItMDct MzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIuNS45Ni9zcmMvc2Vydmlj ZXMvbGFzdGZtL2JpYXNlcy9MYXN0Rm1CaWFzLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5OTU1 NjA5MyAtMDUwMAotQEAgLTM0LDkgKzM0LDggQEAKLSAjaW5jbHVkZSAiY29yZS9jb2xsZWN0aW9u cy9RdWVyeU1ha2VyLmgiCi0gI2luY2x1ZGUgImNvcmUtaW1wbC9jb2xsZWN0aW9ucy9zdXBwb3J0 L0NvbGxlY3Rpb25NYW5hZ2VyLmgiCi0gCi0tI2luY2x1ZGUgImxhc3RmbS9BcnRpc3QiCi0tI2lu Y2x1ZGUgImxhc3RmbS93cy5oIgotLSNpbmNsdWRlICJsYXN0Zm0vWG1sUXVlcnkiCi0rI2luY2x1 ZGUgPGxhc3RmbS9BcnRpc3QuaD4KLSsjaW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0gCi0gI2luY2x1 ZGUgPFFMYWJlbD4KLSAjaW5jbHVkZSA8UUNvbWJvQm94PgotZGlmZiAtdXAgYW1hcm9rLTIuNS45 Ni9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNlcy9XZWVrbHlUb3BCaWFzLmNwcC5saWJsYXN0Zm0x IGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9iaWFzZXMvV2Vla2x5VG9wQmlhcy5j cHAKLS0tLSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL1dlZWtseVRv cEJpYXMuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAK LSsrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL1dlZWtseVRvcEJp YXMuY3BwCTIwMTItMDgtMDIgMDc6Mzg6MjQuMjk5NTU2MDkzIC0wNTAwCi1AQCAtMzQsOSArMzQs OSBAQAotICNpbmNsdWRlICJjb3JlL2NvbGxlY3Rpb25zL1F1ZXJ5TWFrZXIuaCIKLSAjaW5jbHVk ZSAiY29yZS1pbXBsL2NvbGxlY3Rpb25zL3N1cHBvcnQvQ29sbGVjdGlvbk1hbmFnZXIuaCIKLSAK LS0jaW5jbHVkZSAibGFzdGZtL0FydGlzdCIKLS0jaW5jbHVkZSAibGFzdGZtL3dzLmgiCi0tI2lu Y2x1ZGUgImxhc3RmbS9YbWxRdWVyeSIKLSsjaW5jbHVkZSA8bGFzdGZtL0FydGlzdC5oPgotKyNp bmNsdWRlIDxsYXN0Zm0vd3MuaD4KLSsjaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5Lmg+Ci0gCi0g I2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+Ci0gCi1AQCAtMzcxLDEwICszNzEsOSBAQCBEeW5hbWlj OjpXZWVrbHlUb3BCaWFzOjp3ZWVrbHlBcnRpc3RRdWVyCi0gICAgIH0KLSAKLSAKLS0gICAgdHJ5 Ci0rICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAgICBpZiggbGZtLnBhcnNlKCByZXBseS0+ cmVhZEFsbCgpICkgKQotICAgICB7Ci0tICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggcmVw bHktPnJlYWRBbGwoKSApOwotLQotICAgICAgICAgLy8gZGVidWcoKSA8PCAiZ290IHJlc3BvbnNl OiIgPDwgbGZtOwotICAgICAgICAgUVN0cmluZ0xpc3QgYXJ0aXN0czsKLSAgICAgICAgIGZvcigg aW50IGkgPSAwOyBpIDwgbGZtWyAid2Vla2x5YXJ0aXN0Y2hhcnQiIF0uY2hpbGRyZW4oICJhcnRp c3QiICkuc2l6ZSgpOyBpKysgKQotQEAgLTM5OCwxMCArMzk3LDEwIEBAIER5bmFtaWM6OldlZWts eVRvcEJpYXM6OndlZWtseUFydGlzdFF1ZXIKLSAgICAgICAgICAgICB3YXJuaW5nKCkgPDwgIkdv dCBhIHJlcGx5IGZvciBhIHdlZWsiPDx3ZWVrPDwidGhhdCB3YXMgbm90IHJlcXVlc3RlZC4iOwot ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgIH0KLS0KLS0gICAgfSBjYXRjaCggbGFzdGZt Ojp3czo6UGFyc2VFcnJvciYgZSApCi0rICAgIH0KLSsgICAgZWxzZQotICAgICB7Ci0tICAgICAg ICBkZWJ1ZygpIDw8ICJjYXVnaHQgZXhjZXB0aW9uIHBhcnNpbmcgd2Vla2x5IGFydGlzdCBjaGFy dC4iOwotKyAgICAgICAgZGVidWcoKSA8PCAiZmFpbGVkIHRvIHBhcnNlIHdlZWtseSBhcnRpc3Qg Y2hhcnQuIjsKLSAgICAgfQotIAotICAgICByZXBseS0+ZGVsZXRlTGF0ZXIoKTsKLWRpZmYgLXVw IGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNlQ29sbGVjdGlv bi5jcHAubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZt U2VydmljZUNvbGxlY3Rpb24uY3BwCi0tLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFz dGZtL0xhc3RGbVNlcnZpY2VDb2xsZWN0aW9uLmNwcC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6 MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFz dGZtL0xhc3RGbVNlcnZpY2VDb2xsZWN0aW9uLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5NzU1 NjExNyAtMDUwMAotQEAgLTI2LDcgKzI2LDcgQEAKLSAjaW5jbHVkZSAiY29yZS1pbXBsL2NvbGxl Y3Rpb25zL3N1cHBvcnQvTWVtb3J5UXVlcnlNYWtlci5oIgotIAotICNpbmNsdWRlIDxsYXN0Zm0v d3MuaD4KLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1s UXVlcnkuaD4KLSAKLSAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KLSAKLUBAIC0xNTQsMTAgKzE1 NCw5IEBAIHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGROZWkKLSAgICAgICAg IGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKLSAgICAgICAgIHsKLSAgICAgICAgICAgICAv LyBpdGVyYXRlIHRocm91Z2ggZWFjaCBuZWlnaGJvdXIKLS0gICAgICAgICAgICB0cnkKLSsgICAg ICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgICAgICAgICBpZiggbGZtLnBhcnNl KCBtX2pvYnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0tPnJlYWRBbGwoKSApICkKLSAgICAgICAg ICAgICB7Ci0tICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJ1 c2VyLmdldE5laWdoYm91cnMiIF0tPnJlYWRBbGwoKSApOwotLQotICAgICAgICAgICAgICAgICBm b3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJuZWlnaGJvdXJzIiBdLmNo aWxkcmVuKCAidXNlciIgKSApCi0gICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IFFTdHJpbmcgbmFtZSA9IGVbICJuYW1lIiBdLnRleHQoKTsKLUBAIC0xNjgsOSAr MTY3LDEwIEBAIHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGROZWkKLSAgICAg ICAgICAgICAgICAgICAgIGFkZFRyYWNrKCB0cmFja1B0ciApOwotICAgICAgICAgICAgICAgICB9 Ci0gCi0tICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCi0r ICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICB7Ci0tICAgICAg ICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3Qu Zm06IiA8PCBlLndoYXQoKTsKLSsgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2Vw dGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2Fn ZSgpOwotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIH0KLUBA IC0xOTUsMTUgKzE5NSwxNCBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRk TmVpCi0gICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0g ICAgICAgICAgICAgLy8gaXRlcmF0ZSB0aHJvdWdoIGVhY2ggbmVpZ2hib3VyCi0tICAgICAgICAg ICAgdHJ5Ci0rICAgICAgICAgICAgaWYoICFtX2pvYnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0g KQotKyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiQkFEISBnb3Qg bm8gcmVzdWx0IG9iamVjdCI7Ci0rICAgICAgICAgICAgICAgIHJldHVybjsKLSsgICAgICAgICAg ICB9Ci0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgaWYo IGxmbS5wYXJzZSggbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5yZWFkQWxsKCkgKSAp Ci0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBpZiggIW1fam9ic1sgInVzZXIuZ2V0 TmVpZ2hib3VycyIgXSApCi0tICAgICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgICAg IGRlYnVnKCkgPDwgIkJBRCEgZ290IG5vIHJlc3VsdCBvYmplY3QiOwotLSAgICAgICAgICAgICAg ICAgICAgcmV0dXJuOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgICAgIGxhc3Rm bTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0tPnJlYWRBbGwo KSApOwotLQotICAgICAgICAgICAgICAgICAvLyBpdGVyYXRlIHRocm91Z2ggZWFjaCBuZWlnaGJv dXIKLSAgICAgICAgICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwg bGZtWyAibmVpZ2hib3VycyIgXS5jaGlsZHJlbiggInVzZXIiICkgKQotICAgICAgICAgICAgICAg ICB7Ci1AQCAtMjE4LDkgKzIxNywxMCBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpz bG90QWRkTmVpCi0gCi0gICAgICAgICAgICAgICAgIC8vIHNob3VsZCBiZSBzYWZlLCBhcyBib3Ro IHNsb3RzIFNIT1VMRCBnZXQgY2FsbGVkIGJlZm9yZSB3ZSByZXR1cm4gdG8gdGhlIGV2ZW50IGxv b3AuLi4KLSAgICAgICAgICAgICAgICAgbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5k ZWxldGVMYXRlcigpOwotLSAgICAgICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJy b3ImIGUgKQotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg ewotLSAgICAgICAgICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcg ZnJvbSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7Ci0rICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwg IkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJv cigpLm1lc3NhZ2UoKTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAg ICAgICB9Ci1AQCAtMjQ4LDEwICsyNDgsOSBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9u OjpzbG90QWRkRnJpCi0gICAgIHsKLSAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJv cjoKLSAgICAgICAgIHsKLS0gICAgICAgICAgICB0cnkKLSsgICAgICAgICAgICBsYXN0Zm06Olht bFF1ZXJ5IGxmbTsKLSsgICAgICAgICAgICBpZiggbGZtLnBhcnNlKCBtX2pvYnNbICJ1c2VyLmdl dEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApICkKLSAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAg ICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJ1c2VyLmdldEZyaWVuZHMiIF0tPnJl YWRBbGwoKSApOwotLQotICAgICAgICAgICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06Olht bFF1ZXJ5ICZlLCBsZm1bICJmcmllbmRzIiBdLmNoaWxkcmVuKCAidXNlciIgKSApCi0gICAgICAg ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgbmFtZSA9IGVb ICJuYW1lIiBdLnRleHQoKTsKLUBAIC0yNjEsOSArMjYwLDEwIEBAIHZvaWQgTGFzdEZtU2Vydmlj ZUNvbGxlY3Rpb246OnNsb3RBZGRGcmkKLSAgICAgICAgICAgICAgICAgICAgIGFkZFRyYWNrKCB0 cmFja1B0ciApOwotICAgICAgICAgICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgfSBjYXRjaCgg bGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCi0rICAgICAgICAgICAgfQotKyAgICAgICAgICAg IGVsc2UKLSAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBl eGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKLSsgICAgICAg ICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5m bToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotICAgICAgICAgICAgIH0KLSAgICAg ICAgICAgICBicmVhazsKLSAgICAgICAgIH0KLUBAIC0yOTMsMTAgKzI5Myw5IEBAIHZvaWQgTGFz dEZtU2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGRGcmkKLSAgICAgewotICAgICAgICAgY2FzZSBR TmV0d29ya1JlcGx5OjpOb0Vycm9yOgotICAgICAgICAgewotLSAgICAgICAgICAgIHRyeQotKyAg ICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAgICAgICAgICAgIGlmKCBsZm0ucGFy c2UoIG1fam9ic1sgInVzZXIuZ2V0RnJpZW5kcyIgXS0+cmVhZEFsbCgpICkgKQotICAgICAgICAg ICAgIHsKLS0gICAgICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fam9ic1sgInVz ZXIuZ2V0RnJpZW5kcyIgXS0+cmVhZEFsbCgpICk7Ci0tCi0gICAgICAgICAgICAgICAgIGZvcmVh Y2goIGNvbnN0IGxhc3RmbTo6WG1sUXVlcnkgJmUsIGxmbVsgImZyaWVuZHMiIF0uY2hpbGRyZW4o ICJ1c2VyIiApICkKLSAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgY29u c3QgUVN0cmluZyBuYW1lID0gZVsgIm5hbWUiIF0udGV4dCgpOwotQEAgLTMwNiw5ICszMDUsMTAg QEAgdm9pZCBMYXN0Rm1TZXJ2aWNlQ29sbGVjdGlvbjo6c2xvdEFkZEZyaQotICAgICAgICAgICAg ICAgICAgICAgYWRkVHJhY2soIHRyYWNrUHRyICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0g ICAgICAgICAgICB9IGNhdGNoKCBsYXN0Zm06OndzOjpQYXJzZUVycm9yJiBlICkKLSsgICAgICAg ICAgICB9Ci0rICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAg ICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8 IGUud2hhdCgpOwotKyAgICAgICAgICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGlu IHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgbGZtLnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7Ci0g ICAgICAgICAgICAgfQotICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgfQotZGlmZiAtdXAg YW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3BwLmxpYmxh c3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3Bw Ci0tLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3Bw LmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFy b2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZS5jcHAJMjAxMi0wOC0w MiAwNzozODoyNC4yOTY1NTYxMjkgLTA1MDAKLUBAIC00Niw4ICs0Niw4IEBACi0gI2luY2x1ZGUg IndpZGdldHMvU2VhcmNoV2lkZ2V0LmgiCi0gI2luY2x1ZGUgIk5ldHdvcmtBY2Nlc3NNYW5hZ2Vy UHJveHkuaCIKLSAKLS0jaW5jbHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVyPiAvLyBmcm9tIGxp Ymxhc3RmbQotLSNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0rI2luY2x1ZGUgPGxhc3RmbS9B dWRpb3Njcm9iYmxlci5oPiAvLyBmcm9tIGxpYmxhc3RmbQotKyNpbmNsdWRlIDxsYXN0Zm0vWG1s UXVlcnkuaD4KLSAKLSAjaW5jbHVkZSA8S0xvY2FsZT4KLSAjaW5jbHVkZSA8S1Bhc3N3b3JkRGlh bG9nPgotQEAgLTIyNCwxMCArMjI0LDcgQEAgTGFzdEZtU2VydmljZTo6aW5pdCgpCi0gewotICAg ICAvLyBzZXQgdGhlIGdsb2JhbCBzdGF0aWMgTGFzdGZtOjpXcyBzdHVmZgotICAgICBsYXN0Zm06 OndzOjpBcGlLZXkgPSBBbWFyb2s6Omxhc3RmbUFwaUtleSgpOwotLSAgICBsYXN0Zm06OndzOjpT aGFyZWRTZWNyZXQgPSAiZmUwZGNkZTlmY2QxNGMyZDFkNTA2NjViNjQ2MzM1ZTkiOwotLSAgICAv LyB0ZXN0aW5nIHcvIG9mZmljaWFsIGtleXMKLS0gICAgLy9Xczo6U2hhcmVkU2VjcmV0ID0gIjcz NTgyZGZjOWU1NTZkMzA3YWVhZDA2OWFmMTEwYWI4IjsKLS0gICAgLy9Xczo6QXBpS2V5ID0gImM4 YzdiMTYzYjExZjkyZWYyZDMzYmE2Y2QzYzJjM2MzIjsKLSsgICAgbGFzdGZtOjp3czo6U2hhcmVk U2VjcmV0ID0gQW1hcm9rOjpsYXN0Zm1BcGlTaGFyZWRTZWNyZXQoKTsKLSAgICAgbV91c2VyTmFt ZUFycmF5ID0gcXN0cmR1cCggbV91c2VyTmFtZS50b0xhdGluMSgpLmRhdGEoKSApOwotICAgICBs YXN0Zm06OndzOjpVc2VybmFtZSA9IG1fdXNlck5hbWVBcnJheTsKLSAgICAgaWYoIGxhc3RmbTo6 bmFtKCkgIT0gVGhlOjpuZXR3b3JrQWNjZXNzTWFuYWdlcigpICkKLUBAIC0zMDksNyArMzA2LDgg QEAgTGFzdEZtU2VydmljZTo6b25BdXRoZW50aWNhdGVkKCkKLSAgICAgICAgIGNhc2UgUU5ldHdv cmtSZXBseTo6Tm9FcnJvcjoKLSAgICAgICAgIHsKLSAKLS0gICAgICAgICAgICBsYXN0Zm06Olht bFF1ZXJ5IGxmbSA9IGxhc3RmbTo6WG1sUXVlcnkoIG1fam9ic1sgImF1dGgiIF0tPnJlYWRBbGwo KSApOwotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAgICAgICAgICAgIGxm bS5wYXJzZSggbV9qb2JzWyAiYXV0aCIgXS0+cmVhZEFsbCgpICk7Ci0gICAgICAgICAgICAgTGFz dEZtU2VydmljZUNvbmZpZyBjb25maWc7Ci0gCi0gICAgICAgICAgICAgaWYoIGxmbS5jaGlsZHJl biggImVycm9yIiApLnNpemUoKSA+IDAgKQotQEAgLTM1OSwxMCArMzU3LDggQEAgTGFzdEZtU2Vy dmljZTo6b25HZXRVc2VySW5mbygpCi0gICAgIHsKLSAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBs eTo6Tm9FcnJvcjoKLSAgICAgICAgIHsKLS0gICAgICAgICAgICB0cnkKLS0gICAgICAgICAgICB7 Ci0tICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJnZXRVc2Vy SW5mbyIgXS0+cmVhZEFsbCgpICk7Ci0tCi0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBs Zm07Ci0rICAgICAgICAgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0VXNlckluZm8iIF0t PnJlYWRBbGwoKSApICkgewotICAgICAgICAgICAgICAgICBtX2NvdW50cnkgPSBsZm1bInVzZXIi XVsiY291bnRyeSJdLnRleHQoKTsKLSAgICAgICAgICAgICAgICAgbV9hZ2UgPSBsZm1bInVzZXIi XVsiYWdlIl0udGV4dCgpOwotICAgICAgICAgICAgICAgICBtX2dlbmRlciA9IGxmbVsidXNlciJd WyJnZW5kZXIiXS50ZXh0KCk7Ci1AQCAtMzgxLDkgKzM3NywxMCBAQCBMYXN0Rm1TZXJ2aWNlOjpv bkdldFVzZXJJbmZvKCkKLSAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICB1cGRh dGVQcm9maWxlSW5mbygpOwotIAotLSAgICAgICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBh cnNlRXJyb3ImIGUgKQotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlCi0gICAgICAg ICAgICAgewotLSAgICAgICAgICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBh cnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7Ci0rICAgICAgICAgICAgICAgIGRlYnVn KCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFy c2VFcnJvcigpLm1lc3NhZ2UoKTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgYnJlYWs7 Ci0gICAgICAgICB9IGNhc2UgUU5ldHdvcmtSZXBseTo6QXV0aGVudGljYXRpb25SZXF1aXJlZEVy cm9yOgotZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNl cnZpY2VTZXR0aW5ncy5jcHAubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9s YXN0Zm0vTGFzdEZtU2VydmljZVNldHRpbmdzLmNwcAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL3Nl cnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNlU2V0dGluZ3MuY3BwLmxpYmxhc3RmbTEJMjAxMi0w Ny0zMSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2 aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZVNldHRpbmdzLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0 LjI5NzU1NjExNyAtMDUwMAotQEAgLTIzLDkgKzIzLDkgQEAKLSAjaW5jbHVkZSAiTmV0d29ya0Fj Y2Vzc01hbmFnZXJQcm94eS5oIgotICNpbmNsdWRlICJ1aV9MYXN0Rm1Db25maWdXaWRnZXQuaCIK LSAKLS0jaW5jbHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVyPiAvLyBmcm9tIGxpYmxhc3RmbQot KyNpbmNsdWRlIDxsYXN0Zm0vQXVkaW9zY3JvYmJsZXIuaD4gLy8gZnJvbSBsaWJsYXN0Zm0KLSAj aW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0tI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KLSsjaW5j bHVkZSA8bGFzdGZtL1htbFF1ZXJ5Lmg+Ci0gCi0gI2luY2x1ZGUgPFFDcnlwdG9ncmFwaGljSGFz aD4KLSAjaW5jbHVkZSA8UU5ldHdvcmtBY2Nlc3NNYW5hZ2VyPgotQEAgLTEwMCw3ICsxMDAsNyBA QCBMYXN0Rm1TZXJ2aWNlU2V0dGluZ3M6OnRlc3RMb2dpbigpCi0gICAgIG1fY29uZmlnRGlhbG9n LT50ZXN0TG9naW4tPnNldFRleHQoIGkxOG4oICJUZXN0aW5nLi4uIiApICk7Ci0gICAgIC8vIHNl dCB0aGUgZ2xvYmFsIHN0YXRpYyBMYXN0Zm06OldzIHN0dWZmCi0gICAgIGxhc3RmbTo6d3M6OkFw aUtleSA9IEFtYXJvazo6bGFzdGZtQXBpS2V5KCk7Ci0tICAgIGxhc3RmbTo6d3M6OlNoYXJlZFNl Y3JldCA9ICJmZTBkY2RlOWZjZDE0YzJkMWQ1MDY2NWI2NDYzMzVlOSI7Ci0rICAgIGxhc3RmbTo6 d3M6OlNoYXJlZFNlY3JldCA9IEFtYXJvazo6bGFzdGZtQXBpU2hhcmVkU2VjcmV0KCk7Ci0gICAg IGxhc3RmbTo6d3M6OlVzZXJuYW1lID0gcXN0cmR1cCggbV9jb25maWdEaWFsb2ctPmtjZmdfU2Ny b2JibGVyVXNlcm5hbWUtPnRleHQoKS50b0xhdGluMSgpLmRhdGEoKSApOwotICAgICBpZiggbGFz dGZtOjpuYW0oKSAhPSBUaGU6Om5ldHdvcmtBY2Nlc3NNYW5hZ2VyKCkgKQotICAgICAgICAgbGFz dGZtOjpzZXROZXR3b3JrQWNjZXNzTWFuYWdlciggVGhlOjpuZXR3b3JrQWNjZXNzTWFuYWdlcigp ICk7Ci1AQCAtMTI2LDcgKzEyNiw4IEBAIExhc3RGbVNlcnZpY2VTZXR0aW5nczo6b25BdXRoZW50 aWNhdGVkKCkKLSB7Ci0gICAgIERFQlVHX0JMT0NLCi0gCi0tICAgIGxhc3RmbTo6WG1sUXVlcnkg bGZtID0gbGFzdGZtOjpYbWxRdWVyeSggbV9hdXRoUXVlcnktPnJlYWRBbGwoKSApOwotKyAgICBs YXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgbGZtLnBhcnNlKCBtX2F1dGhRdWVyeS0+cmVhZEFs bCgpICk7Ci0gCi0gICAgIHN3aXRjaCggbV9hdXRoUXVlcnktPmVycm9yKCkgKQotICAgICB7Ci1k aWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVs LmNwcC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1U cmVlTW9kZWwuY3BwCi0tLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RG bVRyZWVNb2RlbC5jcHAubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAt MDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9k ZWwuY3BwCTIwMTItMDgtMDIgMDc6Mzg6MjQuMjk4NTU2MTA1IC0wNTAwCi1AQCAtMjYsOCArMjYs OCBAQAotICNpbmNsdWRlICJBbWFyb2tNaW1lRGF0YS5oIgotIAotICNpbmNsdWRlIDxsYXN0Zm0v d3MuaD4KLS0jaW5jbHVkZSA8bGFzdGZtL1RhZz4KLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5 PgotKyNpbmNsdWRlIDxsYXN0Zm0vVGFnLmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5o PgotIAotICNpbmNsdWRlIDxLSWNvbj4KLSAjaW5jbHVkZSA8S0xvY2FsZT4KLUBAIC02OCwxMSAr NjgsMTIgQEAgTGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkTmVpZ2hib3JzICgpCi0gewotICAgICBE RUJVR19CTE9DSwotIAotLSAgICB0cnkKLS0gICAgewotICAgICAgICAgLy8gSXRlcmF0ZSBvdmVy IGVhY2ggbmVpZ2hib3IsIGluIHR3byBwYXNzZXM6IDEpIEdldCBkYXRhIDIpIFNvcnQgZGF0YSwg c3RvcmUgaW4gbW9kZWwKLSAKLS0gICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNb ICJnZXROZWlnaGJvdXJzIiBdLT5yZWFkQWxsKCkgKTsKLSsgICAgbGFzdGZtOjpYbWxRdWVyeSBs Zm07Ci0rICAgIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0TmVpZ2hib3VycyIgXS0+cmVhZEFsbCgp ICk7Ci0rICAgIGlmKCBsZm0ucGFyc2VFcnJvcigpLmVudW1WYWx1ZSgpID09IGxhc3RmbTo6d3M6 Ok5vRXJyb3IgKQotKyAgICB7Ci0gICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1 ZXJ5ICZlLCBsZm1bICJuZWlnaGJvdXJzIiBdLmNoaWxkcmVuICggInVzZXIiICkgKQotICAgICAg ICAgewotICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgbmFtZSA9IGVbICJuYW1lIiBdLnRleHQo KTsKLUBAIC04OCwxMSArODksMTEgQEAgTGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkTmVpZ2hib3Jz ICgpCi0gICAgICAgICAgICAgYXBwZW5kVXNlclN0YXRpb25zKCBuZWlnaGJvciwgbmFtZSApOwot ICAgICAgICAgfQotICAgICAgICAgbV9uZWlnaGJvcnMuc29ydCgpOwotKyAgICB9IGVsc2Ugewot KyAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5m bToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotKyAgICAgICAgcmV0dXJuOwotICAg ICB9Ci0tICAgIGNhdGNoKCBsYXN0Zm06OndzOjpQYXJzZUVycm9yIGUgKQotLSAgICB7Ci0tICAg ICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIg PDwgZS53aGF0KCk7Ci0tICAgIH0KLSsKLSAgICAgZW1pdFJvd0NoYW5nZWQoTGFzdEZtOjpOZWln aGJvcnMpOwotICAgICBtX2pvYnNbICJnZXROZWlnaGJvdXJzIiBdLT5kZWxldGVMYXRlcigpOwot IH0KLUBAIC0xMDIsMTEgKzEwMywxMSBAQCBMYXN0Rm1UcmVlTW9kZWw6OnNsb3RBZGRGcmllbmRz ICgpCi0gewotICAgICBERUJVR19CTE9DSwotIAotLSAgICB0cnkKLS0gICAgewotLSAgICAgICAg Ly8gSXRlcmF0ZSBvdmVyIGVhY2ggZnJpZW5kLCBpbiB0d28gcGFzc2VzOiAxKSBHZXQgZGF0YSAy KSBTb3J0IGRhdGEsIHN0b3JlIGluIG1vZGVsCi0rICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZy aWVuZCwgaW4gdHdvIHBhc3NlczogMSkgR2V0IGRhdGEgMikgU29ydCBkYXRhLCBzdG9yZSBpbiBt b2RlbAotIAotLSAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fam9ic1sgImdldEZyaWVu ZHMiIF0tPnJlYWRBbGwoKSApOwotKyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgaWYo IGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0RnJpZW5kcyIgXS0+cmVhZEFsbCgpICkgKQotKyAgICB7 Ci0gICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJmcmll bmRzIiBdLmNoaWxkcmVuICggInVzZXIiICkgKQotICAgICAgICAgewotICAgICAgICAgICAgIGNv bnN0IFFTdHJpbmcgbmFtZSA9IGVbICJuYW1lIiBdLnRleHQoKTsKLUBAIC0xMjMsMTEgKzEyNCwx MSBAQCBMYXN0Rm1UcmVlTW9kZWw6OnNsb3RBZGRGcmllbmRzICgpCi0gICAgICAgICAgICAgYXBw ZW5kVXNlclN0YXRpb25zKCBhZnJpZW5kLCBuYW1lICk7Ci0gICAgICAgICB9Ci0gICAgICAgICBt X2ZyaWVuZHMuc29ydCgpOwotKyAgICB9IGVsc2UgewotKyAgICAgICAgZGVidWcoKSA8PCAiR290 IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCku bWVzc2FnZSgpOwotKyAgICAgICAgcmV0dXJuOwotICAgICB9Ci0tICAgIGNhdGNoKCBsYXN0Zm06 OndzOjpQYXJzZUVycm9yIGUgKQotLSAgICB7Ci0tICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhj ZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7Ci0tICAgIH0KLSsK LSAgICAgZW1pdFJvd0NoYW5nZWQoTGFzdEZtOjpGcmllbmRzKTsKLSAgICAgbV9qb2JzWyAiZ2V0 RnJpZW5kcyIgXS0+ZGVsZXRlTGF0ZXIoKTsKLSB9Ci1AQCAtMTM3LDEwICsxMzgsOSBAQCBMYXN0 Rm1UcmVlTW9kZWw6OnNsb3RBZGRUb3BBcnRpc3RzICgpCi0gewotICAgICBERUJVR19CTE9DSwot ICAgICBXZWlnaHRlZFN0cmluZ0xpc3QgbGlzdDsKLS0gICAgdHJ5Ci0rICAgIGxhc3RmbTo6WG1s UXVlcnkgbGZtOwotKyAgICBpZiggbGZtLnBhcnNlKCBtX2pvYnNbICJnZXRUb3BBcnRpc3RzIiBd LT5yZWFkQWxsKCkgKSApCi0gICAgIHsKLS0gICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBt X2pvYnNbICJnZXRUb3BBcnRpc3RzIiBdLT5yZWFkQWxsKCkgKTsKLS0KLSAgICAgICAgIGZvcmVh Y2goIGNvbnN0IGxhc3RmbTo6WG1sUXVlcnkgJmUsIGxmbVsgInRvcGFydGlzdHMiIF0uY2hpbGRy ZW4gKCAiYXJ0aXN0IiApICkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5n IG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAtMTU4LDkgKzE1OCwxMCBAQCBMYXN0Rm1U cmVlTW9kZWw6OnNsb3RBZGRUb3BBcnRpc3RzICgpCi0gICAgICAgICAgICAgbV9teVRvcEFydGlz dHMtPmFwcGVuZENoaWxkICggYXJ0aXN0ICk7Ci0gICAgICAgICB9Ci0gCi0tICAgIH0gY2F0Y2go IGxhc3RmbTo6d3M6OlBhcnNlRXJyb3IgZSApCi0rICAgIH0KLSsgICAgZWxzZQotICAgICB7Ci0t ICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZt OiIgPDwgZS53aGF0KCk7Ci0rICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBh cnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgbGZtLnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7Ci0gICAg IH0KLSAgICAgZW1pdFJvd0NoYW5nZWQoTGFzdEZtOjpUb3BBcnRpc3RzKTsKLSAgICAgbV9qb2Jz WyAiZ2V0VG9wQXJ0aXN0cyIgXS0+ZGVsZXRlTGF0ZXIoKTsKLWRpZmYgLXVwIGFtYXJvay0yLjUu OTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuaC5saWJsYXN0Zm0xIGFtYXJv ay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuaAotLS0tIGFtYXJv ay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuaC5saWJsYXN0Zm0x CTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIuNS45Ni9z cmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVRyZWVNb2RlbC5oCTIwMTItMDgtMDIgMDc6Mzg6MjQu Mjk3NTU2MTE3IC0wNTAwCi1AQCAtMjIsNyArMjIsNyBAQAotICNpbmNsdWRlICJjb3JlL21ldGEv TWV0YS5oIgotICNpbmNsdWRlICJXZWlnaHRlZFN0cmluZ0xpc3QuaCIKLSAKLS0jaW5jbHVkZSA8 bGFzdGZtL1VzZXI+Ci0rI2luY2x1ZGUgPGxhc3RmbS9Vc2VyLmg+Ci0gCi0gI2luY2x1ZGUgPFFB YnN0cmFjdEl0ZW1Nb2RlbD4KLSAjaW5jbHVkZSA8UUhhc2g+Ci1AQCAtMTM2LDcgKzEzNiw3IEBA IHByaXZhdGU6Ci0gICAgIExhc3RGbVRyZWVJdGVtICptX215VG9wQXJ0aXN0czsKLSAKLSAgICAg UVN0cmluZyBtX3VzZXJOYW1lOwotLSAgICBsYXN0Zm06OkF1dGhlbnRpY2F0ZWRVc2VyIG1fdXNl cjsKLSsgICAgbGFzdGZtOjpVc2VyIG1fdXNlcjsKLSAKLSAgICAgUVN0cmluZ0xpc3QgbV9mcmll bmRzOwotICAgICBRU3RyaW5nTGlzdCBtX25laWdoYm9yczsKLWRpZmYgLXVwIGFtYXJvay0yLjUu OTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1ldGEuY3BwLmxpYmxhc3RmbTEgYW1h cm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5jcHAKLS0tLSBh bWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmNwcC5saWJs YXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIu NS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5jcHAJMjAxMi0wOC0wMiAw NzozODoyNC4zMDA1NTYwODEgLTA1MDAKLUBAIC00MSw3ICs0MSw3IEBACi0gI2luY2x1ZGUgPFFX ZWFrUG9pbnRlcj4KLSAjaW5jbHVkZSA8UVVybD4KLSAKLS0jaW5jbHVkZSA8bGFzdGZtL1RyYWNr PgotKyNpbmNsdWRlIDxsYXN0Zm0vVHJhY2suaD4KLSAKLSBuYW1lc3BhY2UgTGFzdEZtIHsKLSAK LUBAIC00NTEsOCArNDUxLDcgQEAgVHJhY2s6OmxvdmUoKQotICAgICBERUJVR19CTE9DSwotIAot ICAgICBkZWJ1ZygpIDw8ICJpbmZvOiIgPDwgZC0+bGFzdEZtVHJhY2suYXJ0aXN0KCkgPDwgZC0+ bGFzdEZtVHJhY2sudGl0bGUoKTsKLS0gICAgZC0+d3NSZXBseSA9IGxhc3RmbTo6TXV0YWJsZVRy YWNrKCBkLT5sYXN0Rm1UcmFjayApLmxvdmUoKTsKLS0gICAgY29ubmVjdCggZC0+d3NSZXBseSwg U0lHTkFMKCBmaW5pc2hlZCgpICksIHRoaXMsIFNMT1QoIHNsb3RXc1JlcGx5KCkgKSApOwotKyAg ICBsYXN0Zm06Ok11dGFibGVUcmFjayggZC0+bGFzdEZtVHJhY2sgKS5sb3ZlKCk7Ci0gfQotIAot IHZvaWQKLUBAIC00NzcsOSArNDc2LDkgQEAgdm9pZCBUcmFjazo6c2xvdFJlc3VsdFJlYWR5KCkK LSB7Ci0gICAgIGlmKCBkLT50cmFja0ZldGNoLT5lcnJvcigpID09IFFOZXR3b3JrUmVwbHk6Ok5v RXJyb3IgKQotICAgICB7Ci0tICAgICAgICB0cnkKLSsgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkg bGZtOwotKyAgICAgICAgaWYoIGxmbS5wYXJzZSggZC0+dHJhY2tGZXRjaC0+cmVhZEFsbCgpICkg KQotICAgICAgICAgewotLSAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBkLT50cmFj a0ZldGNoLT5yZWFkQWxsKCkgKTsKLSAgICAgICAgICAgICBRU3RyaW5nIGlkID0gbGZtWyAidHJh Y2siIF1bICJpZCIgXS50ZXh0KCk7Ci0gICAgICAgICAgICAgUVN0cmluZyBzdHJlYW1hYmxlID0g bGZtWyAidHJhY2siIF1bICJzdHJlYW1hYmxlIiBdLnRleHQoKTsKLSAgICAgICAgICAgICBpZigg c3RyZWFtYWJsZS50b0ludCgpID09IDEgKQotQEAgLTQ4Nyw5ICs0ODYsMTAgQEAgdm9pZCBUcmFj azo6c2xvdFJlc3VsdFJlYWR5KCkKLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg IGluaXQoKTsKLSAKLS0gICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUg KQotKyAgICAgICAgfQotKyAgICAgICAgZWxzZQotICAgICAgICAgewotLSAgICAgICAgICAgIGRl YnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndo YXQoKTsKLSsgICAgICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcg ZnJvbSBsYXN0LmZtOiIgPDwgbGZtLnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7Ci0gICAgICAgICB9 Ci0gICAgIH0gZWxzZQotICAgICB7Ci1kaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNl cy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmgubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9z ZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmgKLS0tLSBhbWFyb2stMi41Ljk2L3NyYy9z ZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmgubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1 OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xh c3RmbS9tZXRhL0xhc3RGbU1ldGEuaAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5OTU1NjA5MyAtMDUw MAotQEAgLTI0LDcgKzI0LDcgQEAKLSAjaW5jbHVkZSAiU2VydmljZU1ldGFCYXNlLmgiIC8vIGZv ciB0aGUgU291cmNlSW5mb1Byb3ZpZGVyCi0gCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9UcmFjaz4K LSsjaW5jbHVkZSA8bGFzdGZtL1RyYWNrLmg+Ci0gCi0gCi0gI2luY2x1ZGUgPFFPYmplY3Q+Ci1k aWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRh X3AuaC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xh c3RGbU1ldGFfcC5oCi0tLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEv TGFzdEZtTWV0YV9wLmgubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAt MDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1l dGFfcC5oCTIwMTItMDgtMDIgMDc6Mzg6MjQuMzAwNTU2MDgxIC0wNTAwCi1AQCAtMjYsMTAgKzI2 LDEwIEBACi0gI2luY2x1ZGUgImNvcmUvc3RhdGlzdGljcy9TdGF0aXN0aWNzUHJvdmlkZXIuaCIK LSAjaW5jbHVkZSAiY29yZS1pbXBsL3N0YXRpc3RpY3MvcHJvdmlkZXJzL3RhZy9UYWdTdGF0aXN0 aWNzUHJvdmlkZXIuaCIKLSAKLS0jaW5jbHVkZSA8bGFzdGZtL1RyYWNrPgotKyNpbmNsdWRlIDxs YXN0Zm0vVHJhY2suaD4KLSAjaW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0tI2luY2x1ZGUgPGxhc3Rm bS9SYWRpb1R1bmVyPgotLSNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0rI2luY2x1ZGUgPGxh c3RmbS9SYWRpb1R1bmVyLmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgotIAotICNp bmNsdWRlIDxraW8vam9iLmg+Ci0gI2luY2x1ZGUgPGtpby9qb2JjbGFzc2VzLmg+Ci1AQCAtMTQ0 LDI2ICsxNDQsMjQgQEAgY2xhc3MgVHJhY2s6OlByaXZhdGUgOiBwdWJsaWMgUU9iamVjdAotICAg ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgaWYoIG1fdXNlckZldGNoLT5lcnJv cigpID09IFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3IgKQotICAgICAgICAgICAgIHsKLS0gICAgICAg ICAgICAgICAgdHJ5Ci0rICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAg ICAgICAgICAgICAgICBpZiggIWxmbS5wYXJzZSggbV91c2VyRmV0Y2gtPnJlYWRBbGwoKSApICkK LSAgICAgICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVy eSBsZm0oIG1fdXNlckZldGNoLT5yZWFkQWxsKCkgKTsKLS0gICAgICAgICAgICAgICAgICAgIGFs YnVtVXJsID0gbGZtWyAidHJhY2siIF1bICJhbGJ1bSIgXVsgInVybCIgXS50ZXh0KCk7Ci0tICAg ICAgICAgICAgICAgICAgICB0cmFja1VybCA9IGxmbVsgInRyYWNrIiBdWyAidXJsIiBdLnRleHQo KTsKLS0gICAgICAgICAgICAgICAgICAgIGFydGlzdFVybCA9IGxmbVsgInRyYWNrIiBdWyAiYXJ0 aXN0IiBdWyAidXJsIiBdLnRleHQoKTsKLS0KLS0gICAgICAgICAgICAgICAgICAgIG5vdGlmeU9i c2VydmVycygpOwotLQotLSAgICAgICAgICAgICAgICAgICAgaW1hZ2VVcmwgPSBsZm1bICJ0cmFj ayIgXVsgImFsYnVtIiBdWyAiaW1hZ2Ugc2l6ZT1sYXJnZSIgXS50ZXh0KCk7Ci0tCi0tICAgICAg ICAgICAgICAgICAgICBpZiggIWltYWdlVXJsLmlzRW1wdHkoKSApCi0tICAgICAgICAgICAgICAg ICAgICB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgS0lPOjpKb2IqIGpvYiA9IEtJTzo6c3Rv cmVkR2V0KCBLVXJsKCBpbWFnZVVybCApLCBLSU86OlJlbG9hZCwgS0lPOjpIaWRlUHJvZ3Jlc3NJ bmZvICk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdCggam9iLCBTSUdOQUwoIHJl c3VsdCggS0pvYiogKSApLCB0aGlzLCBTTE9UKCBmZXRjaEltYWdlRmluaXNoZWQoIEtKb2IqICkg KSApOwotLSAgICAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICAgICAgZGVidWco KSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJz ZUVycm9yKCkubWVzc2FnZSgpOwotKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotKyAgICAg ICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGFsYnVtVXJsID0gbGZtWyAidHJhY2siIF1b ICJhbGJ1bSIgXVsgInVybCIgXS50ZXh0KCk7Ci0rICAgICAgICAgICAgICAgIHRyYWNrVXJsID0g bGZtWyAidHJhY2siIF1bICJ1cmwiIF0udGV4dCgpOwotKyAgICAgICAgICAgICAgICBhcnRpc3RV cmwgPSBsZm1bICJ0cmFjayIgXVsgImFydGlzdCIgXVsgInVybCIgXS50ZXh0KCk7Ci0rCi0rICAg ICAgICAgICAgICAgIG5vdGlmeU9ic2VydmVycygpOwotKwotKyAgICAgICAgICAgICAgICBpbWFn ZVVybCA9IGxmbVsgInRyYWNrIiBdWyAiYWxidW0iIF1bICJpbWFnZSBzaXplPWxhcmdlIiBdLnRl eHQoKTsKLSAKLS0gICAgICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJv ciYgZSApCi0rICAgICAgICAgICAgICAgIGlmKCAhaW1hZ2VVcmwuaXNFbXB0eSgpICkKLSAgICAg ICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2Vw dGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hhdCgpOwotKyAgICAgICAgICAg ICAgICAgICAgS0lPOjpKb2IqIGpvYiA9IEtJTzo6c3RvcmVkR2V0KCBLVXJsKCBpbWFnZVVybCAp LCBLSU86OlJlbG9hZCwgS0lPOjpIaWRlUHJvZ3Jlc3NJbmZvICk7Ci0rICAgICAgICAgICAgICAg ICAgICBjb25uZWN0KCBqb2IsIFNJR05BTCggcmVzdWx0KCBLSm9iKiApICksIHRoaXMsIFNMT1Qo IGZldGNoSW1hZ2VGaW5pc2hlZCggS0pvYiogKSApICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAg ICAgICAgICAgICB9Ci0gCi1kaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0 Zm0vbWV0YS9NdWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGxfcC5oLmxpYmxhc3RmbTEgYW1hcm9r LTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJ bXBsX3AuaAotLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL011bHRp UGxheWFibGVDYXBhYmlsaXR5SW1wbF9wLmgubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2 LjAwMDAwMDAwMCAtMDUwMAotKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9t ZXRhL011bHRpUGxheWFibGVDYXBhYmlsaXR5SW1wbF9wLmgJMjAxMi0wOC0wMiAwNzozODoyNC4z MDE1NTYwNjggLTA1MDAKLUBAIC0yNSw4ICsyNSw5IEBACi0gI2luY2x1ZGUgImNvcmUvbWV0YS9N ZXRhLmgiCi0gI2luY2x1ZGUgImNvcmUvY2FwYWJpbGl0aWVzL011bHRpUGxheWFibGVDYXBhYmls aXR5LmgiCi0gCi0tI2luY2x1ZGUgPGxhc3RmbS9UcmFjaz4KLS0jaW5jbHVkZSA8bGFzdGZtL1Jh ZGlvVHVuZXI+Ci0rI2luY2x1ZGUgPGxhc3RmbS9UcmFjay5oPgotKyNpbmNsdWRlIDxsYXN0Zm0v UmFkaW9TdGF0aW9uLmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS9SYWRpb1R1bmVyLmg+Ci0gI2luY2x1 ZGUgPGxhc3RmbS93cy5oPgotIAotICNpbmNsdWRlIDxLTG9jYWxlPgotQEAgLTU1LDI0ICs1Niwy MyBAQCBjbGFzcyBNdWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGwgOiBwdWJsCi0gICAgICAgICB7 Ci0gICAgICAgICAgICAgREVCVUdfQkxPQ0sKLSAgICAgICAgICAgICBtX3R1bmVyID0gbmV3IGxh c3RmbTo6UmFkaW9UdW5lciggbGFzdGZtOjpSYWRpb1N0YXRpb24oIG1fdHJhY2stPnVpZFVybCgp ICkgKTsKLS0gICAgICAgICAgICAKLSsKLSAgICAgICAgICAgICBjb25uZWN0KCBtX3R1bmVyLCBT SUdOQUwoIHRyYWNrQXZhaWxhYmxlKCkgKSwgdGhpcywgU0xPVCggc2xvdE5ld1RyYWNrQXZhaWxh YmxlKCkgKSApOwotLSAgICAgICAgICAgIGNvbm5lY3QoIG1fdHVuZXIsIFNJR05BTCggZXJyb3Io IGxhc3RmbTo6d3M6OkVycm9yICkgKSwgdGhpcywgU0xPVCggZXJyb3IoIGxhc3RmbTo6d3M6OkVy cm9yICkgKSApOwotKyAgICAgICAgICAgIGNvbm5lY3QoIG1fdHVuZXIsIFNJR05BTCggZXJyb3Io bGFzdGZtOjp3czo6RXJyb3IsUVN0cmluZykgKSwgdGhpcywgU0xPVCggZXJyb3IoIGxhc3RmbTo6 d3M6OkVycm9yICkgKSApOwotICAgICAgICAgfQotLSAgICAgICAgCi0rCi0gICAgICAgICB2aXJ0 dWFsIHZvaWQgZmV0Y2hOZXh0KCkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBERUJVR19CTE9D SwotICAgICAgICAgICAgIG1fY3VycmVudFRyYWNrID0gbV90dW5lci0+dGFrZU5leHRUcmFjaygp OwotICAgICAgICAgICAgIG1fdHJhY2stPnNldFRyYWNrSW5mbyggbV9jdXJyZW50VHJhY2sgKTsK LS0KLSAgICAgICAgIH0KLS0gICAgICAgIAotKwotICAgICAgICAgdXNpbmcgT2JzZXJ2ZXI6Om1l dGFkYXRhQ2hhbmdlZDsKLSAgICAgICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoIE1l dGE6OlRyYWNrUHRyIHRyYWNrICkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBjb25zdCBMYXN0 Rm06OlRyYWNrUHRyIGx0cmFjayA9IExhc3RGbTo6VHJhY2tQdHI6OmR5bmFtaWNDYXN0KCB0cmFj ayApOwotLSAgICAgICAgICAgIAotKwotICAgICAgICAgICAgIGlmKCBsdHJhY2suaXNOdWxsKCkg KQotICAgICAgICAgICAgICAgICByZXR1cm47Ci0gCi1AQCAtOTQsNyArOTQsNyBAQCBjbGFzcyBN dWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGwgOiBwdWJsCi0gICAgICAgICAgICAgICAgIG1fdHJh Y2stPnNldFRyYWNrSW5mbyggbV9jdXJyZW50VHJhY2sgKTsKLSAgICAgICAgICAgICB9Ci0gICAg ICAgICB9Ci0tICAgICAgICAKLSsKLSAgICAgICAgIHZpcnR1YWwgdm9pZCBza2lwKCkKLSAgICAg ICAgIHsKLSAgICAgICAgICAgICBmZXRjaE5leHQoKTsKLWRpZmYgLXVwIGFtYXJvay0yLjUuOTYv c3JjL3NlcnZpY2VzL2xhc3RmbS9TY3JvYmJsZXJBZGFwdGVyLmgubGlibGFzdGZtMSBhbWFyb2st Mi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vU2Nyb2JibGVyQWRhcHRlci5oCi0tLS0gYW1hcm9r LTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL1Njcm9iYmxlckFkYXB0ZXIuaC5saWJsYXN0Zm0x CTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCi0rKysgYW1hcm9rLTIuNS45Ni9z cmMvc2VydmljZXMvbGFzdGZtL1Njcm9iYmxlckFkYXB0ZXIuaAkyMDEyLTA4LTAyIDA3OjM4OjI0 LjI5ODU1NjEwNSAtMDUwMAotQEAgLTIwLDggKzIwLDggQEAKLSAKLSAjaW5jbHVkZSAiY29yZS9t ZXRhL01ldGEuaCIKLSAKLS0jaW5jbHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVyPgotLSNpbmNs dWRlIDxsYXN0Zm0vVHJhY2s+Ci0rI2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9iYmxlci5oPgot KyNpbmNsdWRlIDxsYXN0Zm0vVHJhY2suaD4KLSAKLSAjaW5jbHVkZSA8UVZhcmlhbnQ+Ci0gCgpk aWZmIC0tZ2l0IGEvYW1hcm9rLTIuNi45MC1pcG9kX2Rzby5wYXRjaCBiL2FtYXJvay0yLjYuOTAt aXBvZF9kc28ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUxMjEw MwotLS0gL2Rldi9udWxsCisrKyBiL2FtYXJvay0yLjYuOTAtaXBvZF9kc28ucGF0Y2gKQEAgLTAs MCArMSwxMSBAQAorZGlmZiAtdXAgYW1hcm9rLTIuNi45MC9zcmMvY29yZS1pbXBsL2NvbGxlY3Rp b25zL2lwb2Rjb2xsZWN0aW9uL0NNYWtlTGlzdHMudHh0LmRzbyBhbWFyb2stMi42LjkwL3NyYy9j b3JlLWltcGwvY29sbGVjdGlvbnMvaXBvZGNvbGxlY3Rpb24vQ01ha2VMaXN0cy50eHQKKy0tLSBh bWFyb2stMi42LjkwL3NyYy9jb3JlLWltcGwvY29sbGVjdGlvbnMvaXBvZGNvbGxlY3Rpb24vQ01h a2VMaXN0cy50eHQuZHNvCTIwMTItMTItMTMgMDY6NTQ6NTMuMDAwMDAwMDAwIC0wNjAwCisrKysg YW1hcm9rLTIuNi45MC9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2lwb2Rjb2xsZWN0aW9uL0NN YWtlTGlzdHMudHh0CTIwMTItMTItMTQgMTE6MTY6MTUuMjAxMDk1MzcxIC0wNjAwCitAQCAtNjEs NiArNjEsNyBAQCBpZihJUE9EX0ZPVU5EIEFORCBXSVRIX0lQT0QpCisgICAgICR7UVRfUVRHVUlf TElCUkFSWX0KKyAgICAgJHtHTElCMl9MSUJSQVJJRVN9CisgICAgICR7R0RLUElYQlVGX0xJQlJB Ull9CisrICAgICR7R09CSkVDVF9MSUJSQVJJRVN9CisgICAgICR7SVBPRF9MSUJSQVJJRVN9Cisg ICApCisgCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLTIuNi45MC1vbmxpbmVkb2MucGF0Y2ggYi9hbWFy b2stMi42LjkwLW9ubGluZWRvYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41MWYzNjY3Ci0tLSAvZGV2L251bGwKKysrIGIvYW1hcm9rLTIuNi45MC1vbmxpbmVkb2Mu cGF0Y2gKQEAgLTAsMCArMSw5MSBAQAorZGlmZiAtdXAgYW1hcm9rLTIuNi45MC9zcmMvQWN0aW9u Q2xhc3Nlcy5jcHAub25saW5lZG9jIGFtYXJvay0yLjYuOTAvc3JjL0FjdGlvbkNsYXNzZXMuY3Bw CistLS0gYW1hcm9rLTIuNi45MC9zcmMvQWN0aW9uQ2xhc3Nlcy5jcHAub25saW5lZG9jCTIwMTIt MTItMTMgMDY6NTQ6NTMuMDAwMDAwMDAwIC0wNjAwCisrKysgYW1hcm9rLTIuNi45MC9zcmMvQWN0 aW9uQ2xhc3Nlcy5jcHAJMjAxMi0xMi0xNCAxMDowNjozNC42MTI4NTI3MjcgLTA2MDAKK0BAIC0z MywxMCArMzMsMTIgQEAKKyAjaW5jbHVkZSAicGxheWxpc3QvUGxheWxpc3RNb2RlbFN0YWNrLmgi CisgI2luY2x1ZGUgIndpZGdldHMvT3NkLmgiCisgCisrI2luY2x1ZGUgPFFGaWxlPgorICNpbmNs dWRlIDxLQXV0aG9yaXplZD4KKyAjaW5jbHVkZSA8S0hlbHBNZW51PgorICNpbmNsdWRlIDxLTG9j YWxlPgorICNpbmNsdWRlIDxLVG9vbEJhcj4KKysjaW5jbHVkZSA8S1Rvb2xJbnZvY2F0aW9uPgor IAorIGV4dGVybiBPY3NEYXRhIG9jc0RhdGE7CisgCitAQCAtNjIsNiArNjQsNyBAQCBuYW1lc3Bh Y2UgQW1hcm9rCisgdXNpbmcgbmFtZXNwYWNlIEFtYXJvazsKKyAKKyBLSGVscE1lbnUgKk1lbnU6 OnNfaGVscE1lbnUgPSAwOworK09ubGluZUhlbHBIYW5kbGVyICpNZW51OjpzX29ubGluZUhlbHBI YW5kbGVyID0gMDsKKyAKKyBzdGF0aWMgdm9pZAorIHNhZmVQbHVnKCBLQWN0aW9uQ29sbGVjdGlv biAqYWMsIGNvbnN0IGNoYXIgKm5hbWUsIFFXaWRnZXQgKncgKQorQEAgLTE1MSw2ICsxNTQsMjAg QEAgTWVudTo6aGVscE1lbnUoIFFXaWRnZXQgKnBhcmVudCApIC8vU1RBVAorIAorICAgICBLTWVu dSogbWVudSA9IHNfaGVscE1lbnUtPm1lbnUoKTsKKyAKKysgICAgLy8gSWYgYW1hcm9rLWRvYyBp cyBub3QgaW5zdGFsbGVkLCBicmluZyB1cCB0aGUgb25saW5lIHZlcnNpb24gaW5zdGVhZC4KKysg ICAgaWYgKCAhUUZpbGU6OmV4aXN0cyggIi91c3Ivc2hhcmUvZG9jL0hUTUwvZW4vYW1hcm9rL2lu ZGV4LmRvY2Jvb2siICkgKSB7CisrICAgICAgICBRQWN0aW9uICpjb250ZW50c0FjdGlvbiA9IHNf aGVscE1lbnUtPmFjdGlvbiggS0hlbHBNZW51OjptZW51SGVscENvbnRlbnRzICk7CisrICAgICAg ICAvLyBkaXNjb25uZWN0IHRoZSBkZWZhdWx0IHNsb3Qgd2hpY2ggZmlyZXMgdXAgS0hlbHBDZW50 ZXIKKysgICAgICAgIGRpc2Nvbm5lY3QoIGNvbnRlbnRzQWN0aW9uLCBTSUdOQUwodHJpZ2dlcmVk KGJvb2wpKSwgc19oZWxwTWVudSwgU0xPVChhcHBIZWxwQWN0aXZhdGVkKCkpICk7CisrICAgICAg ICBpZiAoIHNfb25saW5lSGVscEhhbmRsZXIgPT0gMCApCisrICAgICAgICAgICAgc19vbmxpbmVI ZWxwSGFuZGxlciA9IG5ldyBPbmxpbmVIZWxwSGFuZGxlciggcGFyZW50ICk7CisrICAgICAgICBl bHNlCisrICAgICAgICAgICAgLy8gZW5zdXJlIG5vIGR1cGxpY2F0ZSBjb25uZWN0aW9uCisrICAg ICAgICAgICAgZGlzY29ubmVjdCggY29udGVudHNBY3Rpb24sIFNJR05BTCh0cmlnZ2VyZWQoYm9v bCkpLCBzX29ubGluZUhlbHBIYW5kbGVyLCBTTE9UKG9ubGluZUhlbHBBY3RpdmF0ZWQoKSkgKTsK KysgICAgICAgIC8vIGNvbm5lY3Qgb3VyIGN1c3RvbSBzbG90IHdoaWNoIGZpcmVzIHVwIGEgYnJv d3NlciBvbiBVc2VyQmFzZSBpbnN0ZWFkCisrICAgICAgICBjb25uZWN0KCBjb250ZW50c0FjdGlv biwgU0lHTkFMKHRyaWdnZXJlZChib29sKSksIHNfb25saW5lSGVscEhhbmRsZXIsIFNMT1Qob25s aW5lSGVscEFjdGl2YXRlZCgpKSApOworKyAgICB9CisrCisgICAgIC8vIE5PVEU6IFdlIGhpZGUg IlJlcG9ydCBCdWcuLi4iIGJlY2F1c2Ugd2UgbmVlZCB0byBhZGQgaXQgb24gb3VyIG93biB0byBu YW1lIHRoZSBkaWFsb2cKKyAgICAgLy8gc28gaXQgY2FuIGJlIGJsYWNrbGlzdGVkIGZyb20gTGlr ZUJhY2suCisgICAgIHNfaGVscE1lbnUtPmFjdGlvbiggS0hlbHBNZW51OjptZW51UmVwb3J0QnVn ICktPnNldFZpc2libGUoIGZhbHNlICk7CitAQCAtMTYzLDYgKzE4MCwxNyBAQCBNZW51OjpoZWxw TWVudSggUVdpZGdldCAqcGFyZW50ICkgLy9TVEFUCisgICAgIHJldHVybiBtZW51OworIH0KKyAK KytPbmxpbmVIZWxwSGFuZGxlcjo6T25saW5lSGVscEhhbmRsZXIoIFFPYmplY3QqIHBhcmVudCAp CisrICAgICAgICA6IFFPYmplY3QoIHBhcmVudCApCisreworK30KKysKKyt2b2lkCisrT25saW5l SGVscEhhbmRsZXI6Om9ubGluZUhlbHBBY3RpdmF0ZWQoKQorK3sKKysgICAgS1Rvb2xJbnZvY2F0 aW9uOjppbnZva2VCcm93c2VyKCAiaHR0cDovL3VzZXJiYXNlLmtkZS5vcmcvQW1hcm9rL01hbnVh bCIgKTsKKyt9CisrCisgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisgLy8gUGxh eVBhdXNlQWN0aW9uCisgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitkaWZmIC11 cCBhbWFyb2stMi42LjkwL3NyYy9BY3Rpb25DbGFzc2VzLmgub25saW5lZG9jIGFtYXJvay0yLjYu OTAvc3JjL0FjdGlvbkNsYXNzZXMuaAorLS0tIGFtYXJvay0yLjYuOTAvc3JjL0FjdGlvbkNsYXNz ZXMuaC5vbmxpbmVkb2MJMjAxMi0xMi0xMyAwNjo1NDo1My4wMDAwMDAwMDAgLTA2MDAKKysrKyBh bWFyb2stMi42LjkwL3NyYy9BY3Rpb25DbGFzc2VzLmgJMjAxMi0xMi0xNCAxMDowNTo0My43Mzg0 MzA0NDcgLTA2MDAKK0BAIC0zNCw2ICszNCwxNiBAQCBjbGFzcyBLSGVscE1lbnU7CisgCisgbmFt ZXNwYWNlIEFtYXJvaworIHsKKysgICAgY2xhc3MgT25saW5lSGVscEhhbmRsZXIgOiBwdWJsaWMg UU9iamVjdAorKyAgICB7CisrICAgICAgICBRX09CSkVDVAorKyAgICAgICAgcHVibGljOgorKyAg ICAgICAgICAgIE9ubGluZUhlbHBIYW5kbGVyKCBRT2JqZWN0KiBwYXJlbnQgKTsKKysKKysgICAg ICAgIHB1YmxpYyBzbG90czoKKysgICAgICAgICAgICB2b2lkIG9ubGluZUhlbHBBY3RpdmF0ZWQo KTsKKysgICAgfTsKKysKKyAgICAgY2xhc3MgTWVudSA6IHB1YmxpYyBLTWVudQorICAgICB7Cisg ICAgICAgICBRX09CSkVDVAorQEAgLTQ1LDYgKzU1LDcgQEAgbmFtZXNwYWNlIEFtYXJvaworICAg ICAgICAgcHJpdmF0ZToKKyAgICAgICAgICAgICBzdGF0aWMgTWVudSAgICAgICAqc19pbnN0YW5j ZTsKKyAgICAgICAgICAgICBzdGF0aWMgS0hlbHBNZW51ICAqc19oZWxwTWVudTsKKysgICAgICAg ICAgICBzdGF0aWMgT25saW5lSGVscEhhbmRsZXIgKnNfb25saW5lSGVscEhhbmRsZXI7CisgICAg IH07CisgCisgICAgIGNsYXNzIE1lbnVBY3Rpb24gOiBwdWJsaWMgS0FjdGlvbgoKZGlmZiAtLWdp dCBhL2FtYXJvay5zcGVjIGIvYW1hcm9rLnNwZWMKaW5kZXggZWUyNzIxMi4uNWU3YzVjYSAxMDA2 NDQKLS0tIGEvYW1hcm9rLnNwZWMKKysrIGIvYW1hcm9rLnNwZWMKQEAgLTEsOCArMSw4IEBACiAK IE5hbWU6ICAgIGFtYXJvawogU3VtbWFyeTogTWVkaWEgcGxheWVyCi1WZXJzaW9uOiAyLjYuMAot UmVsZWFzZTogNyV7P2Rpc3R9CitWZXJzaW9uOiAyLjYuOTAKK1JlbGVhc2U6IDElez9kaXN0fQog CiAjIEtERSBlLlYuIG1heSBkZXRlcm1pbmUgdGhhdCBmdXR1cmUgR1BMIHZlcnNpb25zIGFyZSBh Y2NlcHRlZAogTGljZW5zZTogR1BMdjIgb3IgR1BMdjMKQEAgLTE0LDMxICsxNCwyMyBAQCBVcmw6 ICAgICBodHRwOi8vYW1hcm9rLmtkZS5vcmcvCiAlZ2xvYmFsIHN0YWJsZSBzdGFibGUKICVlbmRp ZgogU291cmNlMDogaHR0cDovL2Rvd25sb2FkLmtkZS5vcmcvJXtzdGFibGV9L2FtYXJvay8le3Zl cnNpb259L3NyYy9hbWFyb2stJXt2ZXJzaW9ufS50YXIuYnoyCi1CdWlsZFJvb3Q6ICV7X3RtcHBh dGh9LyV7bmFtZX0tJXt2ZXJzaW9ufS0le3JlbGVhc2V9LXJvb3QtJSgle19faWRfdX0gLW4pCiAK ICMgSW52b2tlIGEgYnJvd3NlciBvbiB0aGUgb25saW5lIFVzZXJCYXNlIGRvY3VtZW50YXRpb24g aW5zdGVhZCBvZiBLSGVscENlbnRlcgogIyBmb3IgdGhlIGhlbHAgY29udGVudHMgaWYgdGhlIGFt YXJvay1kb2Mgc3VicGFja2FnZSBpcyBub3QgaW5zdGFsbGVkLgotUGF0Y2gwOiAgYW1hcm9rLTIu NS4wLW9ubGluZWRvYy5wYXRjaAorUGF0Y2gwOiAgYW1hcm9rLTIuNi45MC1vbmxpbmVkb2MucGF0 Y2gKIAotI1BhdGNoNTA6IGFtYXJvay0yLjIuMS45MC1xdHNjcmlwdF9ub3RfcmVxdWlyZWQucGF0 Y2gKKyMjIHVwc3RyZWFtYWJsZSBwYXRjaGVzCitQYXRjaDUwOiAgYW1hcm9rLTIuNi45MC1pcG9k X2Rzby5wYXRjaAogCiAjIyB1cHN0cmVhbSBwYXRjaGVzCi0jIGxpYmxhc3RmbTEgc3VwcG9ydAot IyBodHRwczovL2dpdC5yZXZpZXdib2FyZC5rZGUub3JnL3IvMTA1Mjc2LwotUGF0Y2gxMDA6IGFt YXJvay0yLjUuOTYtbGlibGFzdGZtMS5wYXRjaAotJWlmIDAlez9mZWRvcmF9ID4gMTUKLSVkZWZp bmUgbGlibGFzdGZtMSAxCi0lZW5kaWYKLSMgZnJlbmNoIHRyYW5zbGF0aW9ucwotUGF0Y2gxMTA6 IGFtYXJvay1mcl9wby5wYXRjaC5iejIKIAogQnVpbGRSZXF1aXJlczogY3VybC1kZXZlbAogQnVp bGRSZXF1aXJlczogZGVza3RvcC1maWxlLXV0aWxzCiAjIyBub24tbW9kdWxhciBNdXNpY0JyYWlu ei1iYXNlZCBhdWRpbyBmaW5nZXJwcmludCB0YWcgbG9va3VwIHN1cHBvcnQgOiggCiAjQnVpbGRS ZXF1aXJlczogZmZtcGVnLWRldmVsIGxpYm9mYS1kZXZlbAogQnVpbGRSZXF1aXJlczogZ2V0dGV4 dAotQnVpbGRSZXF1aXJlczoga2RlbGliczQtZGV2ZWwgPj0gNC42LjAKLUJ1aWxkUmVxdWlyZXM6 IGxpYmxhc3RmbS1kZXZlbCV7P2xpYmxhc3RmbTE6ID49IDEuMH0KK0J1aWxkUmVxdWlyZXM6IGtk ZWxpYnM0LWRldmVsID49IDQuOQorQnVpbGRSZXF1aXJlczogbGlibGFzdGZtLWRldmVsID49IDEu MAogIyBleHRyYSBsaWJhaW8gbGlua2FnZSBjb21lcyBmcm9tIHVzZSBvZiBteXNxbF9jb25maWcg LS1saWJzCiBCdWlsZFJlcXVpcmVzOiBteXNxbC1lbWJlZGRlZC1kZXZlbCBsaWJhaW8tZGV2ZWwK IEJ1aWxkUmVxdWlyZXM6IHBrZ2NvbmZpZyhsaWJncG9kLTEuMCkgPj0gMC43LjAKQEAgLTU4LDgg KzUwLDcgQEAgQnVpbGRSZXF1aXJlczogcXRzY3JpcHRiaW5kaW5ncwogUmVxdWlyZXM6IHF0c2Ny aXB0YmluZGluZ3Mlez9faXNhfQogUmVxdWlyZXM6ICV7bmFtZX0tdXRpbHMgPSAle3ZlcnNpb259 LSV7cmVsZWFzZX0KIFJlcXVpcmVzOiBrZGUtcnVudGltZSV7P19rZGU0X3ZlcnNpb246ID49ICV7 X2tkZTRfdmVyc2lvbn19Ci0jIGFrYSBhdWRpb2NkLWtpbyAob24ga2RlLTQuOSspCi1SZXF1aXJl czoga2RlbXVsdGltZWRpYS1raW9fYXVkaW9jZAorUmVxdWlyZXM6IGF1ZGlvY2Qta2lvCiBSZXF1 aXJlczogaWZ1c2UKIFJlcXVpcmVzOiBtZWRpYS1wbGF5ZXItaW5mbwogCkBAIC04Miw4ICs3Myw2 IEBAIFJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAKICVwYWNrYWdl IHV0aWxzCiBTdW1tYXJ5OiBBbWFyb2sgc3RhbmRhbG9uZSB1dGlsaXRpZXMKLU9ic29sZXRlczog YW1hcm9rLWNvbGxlY3Rpb25zY2FubmVyIDwgMi4wLjkwLTIKLU9ic29sZXRlczogYW1hcm9rLXV0 aWxpdGllcyA8IDIuMC45NgogJWRlc2NyaXB0aW9uIHV0aWxzIAogJXtzdW1tYXJ5fSwgaW5jbHVk aW5nIGFtYXJva2NvbGxlY3Rpb25zY2FubmVyLgogCkBAIC0xMDEsMTEgKzkwLDcgQEAgQnVpbGRB cmNoOiBub2FyY2gKICVzZXR1cCAtcSAKIAogJXBhdGNoMCAtcDEgLWIgLm9ubGluZWRvYwotI3Bh dGNoNTAgLXAxIC1iIC5xdHNjcmlwdF9ub3RfcmVxdWlyZWQKLSVpZiAwJXs/bGlibGFzdGZtMX0K LSVwYXRjaDEwMCAtcDEgLWIgLmxpYmxhc3RmbTEKLSVlbmRpZgotJXBhdGNoMTEwIC1wMSAtYiAu ZnJfcG8KKyVwYXRjaDUwIC1wMSAtYiAuaXBvZF9kc28KIAogCiAlYnVpbGQKQEAgLTExOCw4ICsx MDMsNiBAQCBtYWtlICV7P19zbXBfbWZsYWdzfSAtQyAle190YXJnZXRfcGxhdGZvcm19CiAKIAog JWluc3RhbGwKLXJtIC1yZiAle2J1aWxkcm9vdH0KLQogbWFrZSBpbnN0YWxsL2Zhc3QgREVTVERJ Uj0le2J1aWxkcm9vdH0gLUMgJXtfdGFyZ2V0X3BsYXRmb3JtfQogCiAlZmluZF9sYW5nIGFtYXJv ayAtLXdpdGgta2RlIC0td2l0aG91dC1tbyAmJiBtdiBhbWFyb2subGFuZyBhbWFyb2stZG9jLmxh bmcKQEAgLTE1Nyw2ICsxNDAsNyBAQCBmaQogJXtfa2RlNF9iaW5kaXJ9L2FtYXJva3BrZwogJXtf a2RlNF9iaW5kaXJ9L2FtYXJva19hZnR0YWdnZXIKICV7X2tkZTRfYmluZGlyfS9hbWFyb2ttcDN0 dW5lc2hhcm1vbnlkYWVtb24KKyV7X2tkZTRfYmluZGlyfS9hbXpkb3dubG9hZGVyCiAle19rZGU0 X2FwcHNkaXJ9L2FtYXJvay8KICV7X2tkZTRfYXBwc2Rpcn0va2NvbmZfdXBkYXRlL2FtYXJvayoK ICV7X2tkZTRfYXBwc2Rpcn0vZGVza3RvcHRoZW1lL2RlZmF1bHQvd2lkZ2V0cy8qCkBAIC0xODUs NiArMTY5LDggQEAgZmkKICV7X2tkZTRfbGliZGlyfS9saWJhbWFyb2twdWQuc28uMSoKICV7X2tk ZTRfbGliZGlyfS9saWJhbWFyb2stc3FsY29sbGVjdGlvbi5zby4xKgogJXtfa2RlNF9saWJkaXJ9 L2xpYmFtYXJvay10cmFuc2NvZGluZy5zby4xKgorIyBwcml2YXRlIGxpYnMKKyV7X2tkZTRfbGli ZGlyfS9saWJhbWFyb2tfc2VydmljZV9sYXN0Zm1fc2hhcmVkLnNvCiAle19rZGU0X2xpYmRpcn0v bGliYW1wYWNoZV9hY2NvdW50X2xvZ2luLnNvCiAKICVmaWxlcyB1dGlscyAtZiBhbWFyb2tjb2xs ZWN0aW9uc2Nhbm5lcl9xdC5sYW5nCkBAIC0xOTQsNiArMTgwLDkgQEAgZmkKIAogCiAlY2hhbmdl bG9nCisqIEZyaSBEZWMgMTQgMjAxMiBSZXggRGlldGVyIDxyZGlldGVyQGZlZG9yYXByb2plY3Qu b3JnPiAyLjYuOTAtMQorLSAyLjYuOTAKKwogKiBUaHUgTm92IDI3IDIwMTIgSmFuIEdydWxpY2gg PGpncnVsaWNoQHJlZGhhdC5jb20+IDIuNi4wLTcKIC0gcmVidWlsZCAocWpzb24pCiAKCmRpZmYg LS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBjOWFhNGJlLi5jMGQ5MzM4IDEwMDY0NAot LS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSBAQAotMTE2ZjUzYzExMDljN2Fj ZDFhYzdkNzhlYzc1YzAxYzQgIGFtYXJvay0yLjYuMC50YXIuYnoyCi1kMzI4M2ZmMmYyZWQzODFm M2NkYTlhMzM1NzI2ODgxZSAgYW1hcm9rLWZyX3BvLnBhdGNoLmJ6MgorODgwNjEyOTk2Nzk0ZmVk M2FlNWE3MmZiYTRhYWM2MWYgIGFtYXJvay0yLjYuOTAudGFyLmJ6Mgo=