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: Bastien Nocera To: git-commits@fedoraproject.org Subject: [rpms/gnome-user-share] wip/oholy/f45-update: - Add a cluebar to have easy access to the file sharing preferences Date: Wed, 24 Jun 2026 11:34:18 GMT Message-ID: <178230085859.1.17138565751468284491.rpms-gnome-user-share-65b70572b9e1@fedoraproject.org> List-ID: X-Git-Repo: rpms/gnome-user-share X-Git-Branch: wip/oholy/f45-update X-Git-Rev: 65b70572b9e1e7f45e5e76ef0f745a60df2d019a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ25vbWUtdXNlci1z aGFyZQpCcmFuY2ggOiB3aXAvb2hvbHkvZjQ1LXVwZGF0ZQpDb21taXQgOiA2NWI3MDU3MmI5ZTFl N2Y0NWU1ZTc2ZWYwZjc0NWE2MGRmMmQwMTlhCkF1dGhvciA6IEJhc3RpZW4gTm9jZXJhIDxoYWRl c3NAZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUgICA6IDIwMDktMDktMDhUMTY6NDU6MzcrMDA6MDAK U3RhdHMgIDogKzY5NC8tMSBpbiAyIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3Jh cHJvamVjdC5vcmcvcnBtcy9nbm9tZS11c2VyLXNoYXJlL2MvNjViNzA1NzJiOWUxZTdmNDVlNWU3 NmVmMGY3NDVhNjBkZjJkMDE5YT9icmFuY2g9d2lwL29ob2x5L2Y0NS11cGRhdGUKCkxvZzoKLSBB ZGQgYSBjbHVlYmFyIHRvIGhhdmUgZWFzeSBhY2Nlc3MgdG8gdGhlIGZpbGUgc2hhcmluZyBwcmVm ZXJlbmNlcwoKLS0tCmRpZmYgLS1naXQgYS8wMDAxLUJ1Zy01NTgyNDQtRW5hYmxpbmctZ25vbWUt dXNlci1zaGFyZS1yZXF1aXJlcy1jaGEucGF0Y2ggYi8wMDAxLUJ1Zy01NTgyNDQtRW5hYmxpbmct Z25vbWUtdXNlci1zaGFyZS1yZXF1aXJlcy1jaGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uOWMzM2MwNAotLS0gL2Rldi9udWxsCisrKyBiLzAwMDEtQnVnLTU1ODI0 NC1FbmFibGluZy1nbm9tZS11c2VyLXNoYXJlLXJlcXVpcmVzLWNoYS5wYXRjaApAQCAtMCwwICsx LDY4NCBAQAorRnJvbSBiOTY5NzBhNmJmOGYxMDcwYTNjMDhiMWM3ODFlZjA4ZDJlYmNlNTI1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRl c3MubmV0PgorRGF0ZTogVHVlLCA4IFNlcCAyMDA5IDE3OjI2OjM1ICswMTAwCitTdWJqZWN0OiBb UEFUQ0hdID0/dXRmLTg/cT9CdWc9QzI9QTA1NTgyNDQ9MjAtPTIwRW5hYmxpbmc9MjBnbm9tZS11 c2VyLXNoYXJlPTIwcmVxdWlyZXM9MjBjaGFuZ2luZz0yMHByZWZlcmVuY2U9MjBpbj0yMGNhcHBs ZXQ/PQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD11dGYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitBZGQgYSBjbHVlYmFy IHRvIHRoZSBQdWJsaWMgYW5kIERvd25sb2FkcyBmb2xkZXJzLCB0byBhbGxvdyBsYXVuY2hpbmcK K3RoZSBzaGFyaW5nIHByZWZlcmVuY2VzLgorLS0tCisgY29uZmlndXJlLmluICAgICAgICAgICAg IHwgICAgOCArKworIHBvL1BPVEZJTEVTLmluICAgICAgICAgICB8ICAgIDIgKworIHNyYy9NYWtl ZmlsZS5hbSAgICAgICAgICB8ICAgMTIgKysKKyBzcmMvbmF1dGlsdXMtc2hhcmUtYmFyLmMgfCAg MjI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3JjL25hdXRpbHVzLXNo YXJlLWJhci5oIHwgICA2MSArKysrKysrKysrCisgc3JjL3NoYXJlLWV4dGVuc2lvbi5jICAgIHwg IDI5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNiBm aWxlcyBjaGFuZ2VkLCA2MDEgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKyBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL25hdXRpbHVzLXNoYXJlLWJhci5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy9uYXV0aWx1cy1zaGFyZS1iYXIuaAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvc2hhcmUt ZXh0ZW5zaW9uLmMKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgor aW5kZXggMjU2YzU5Ni4uYjlmNzcyZSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIv Y29uZmlndXJlLmluCitAQCAtMTI0LDYgKzEyNCwxNCBAQCBBQ19BUkdfV0lUSChbbW9kdWxlcy1w YXRoXSwKKyBNT0RVTEVTX1BBVEg9JHdpdGhfbW9kdWxlc19wYXRoCisgQUNfU1VCU1QoTU9EVUxF U19QQVRIKQorIAorK2RubD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorK2RubCBDaGVjayBmb3IgbmF1dGls dXMgZm9yIHRoZSBzaGFyZSBiYXIKKysKKytQS0dfQ0hFQ0tfTU9EVUxFUyhFWFRFTlNJT04sCisr CQkgICBsaWJuYXV0aWx1cy1leHRlbnNpb24pCisrTkFVVElMVVNESVI9YHBrZy1jb25maWcgLS12 YXJpYWJsZT1leHRlbnNpb25kaXIgbGlibmF1dGlsdXMtZXh0ZW5zaW9uYAorK0FDX1NVQlNUKE5B VVRJTFVTRElSKQorKworIGRubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIGRubCBUdXJuIG9uIHRo ZSBhZGRpdGlvbmFsIHdhcm5pbmdzIGxhc3QsIHNvIC1XZXJyb3IgZG9lc24ndCBhZmZlY3Qgb3Ro ZXIgdGVzdHMuCitkaWZmIC0tZ2l0IGEvcG8vUE9URklMRVMuaW4gYi9wby9QT1RGSUxFUy5pbgor aW5kZXggNmY3YmRlYy4uYzA5NGZlMCAxMDA2NDQKKy0tLSBhL3BvL1BPVEZJTEVTLmluCisrKysg Yi9wby9QT1RGSUxFUy5pbgorQEAgLTQsNiArNCw4IEBAIGRhdGEvZGVza3RvcF9nbm9tZV9maWxl X3NoYXJpbmcuc2NoZW1hcy5pbgorIFt0eXBlOiBnZXR0ZXh0L2dsYWRlXWRhdGEvZmlsZS1zaGFy ZS1wcm9wZXJ0aWVzLnVpCisgZGF0YS9nbm9tZS11c2VyLXNoYXJlLXByb3BlcnRpZXMuZGVza3Rv cC5pbgorIGRhdGEvZ25vbWUtdXNlci1zaGFyZS5kZXNrdG9wLmluLmluCisrc3JjL25hdXRpbHVz LXNoYXJlLWJhci5jCisrc3JjL3NoYXJlLWV4dGVuc2lvbi5jCisgc3JjL2ZpbGUtc2hhcmUtcHJv cGVydGllcy5jCisgc3JjL2h0dHAuYworIHNyYy9vYmV4cHVzaC5jCitkaWZmIC0tZ2l0IGEvc3Jj L01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAwNmE1MjQzLi40N2IyMmU3IDEw MDY0NAorLS0tIGEvc3JjL01ha2VmaWxlLmFtCisrKysgYi9zcmMvTWFrZWZpbGUuYW0KK0BAIC0y Niw2ICsyNiw3IEBAIElOQ0xVREVTPQlcCisgCS1ESFRUUERfTU9EVUxFU19QQVRIPVwiIiQoTU9E VUxFU19QQVRIKSJcIglcCisgCS1JJCh0b3Bfc3JjZGlyKSAJCQkJXAorIAktSSQodG9wX2J1aWxk ZGlyKSAJCQkJXAorKwkkKEVYVEVOU0lPTl9DRkxBR1MpCQkJCVwKKyAJJChVU0VSX1NIQVJFX0NG TEFHUykJCQkJXAorIAkkKFVTRVJfU0hBUkVfQ09ORklHX0NGTEFHUykJCQlcCisgCSQoWF9DRkxB R1MpCitAQCAtNTYsNiArNTcsMTcgQEAgZ25vbWVfZmlsZV9zaGFyZV9wcm9wZXJ0aWVzX1NPVVJD RVMgPQlcCisgZ25vbWVfZmlsZV9zaGFyZV9wcm9wZXJ0aWVzX0xEQUREID0gXAorIAkkKFVTRVJf U0hBUkVfQ09ORklHX0xJQlMpCisgCisrbmF1dGlsdXNfZXh0ZW5zaW9uZGlyID0gJChOQVVUSUxV U0RJUikKKytuYXV0aWx1c19leHRlbnNpb25fTFRMSUJSQVJJRVMgPSBsaWJuYXV0aWx1cy1zaGFy ZS1leHRlbnNpb24ubGEKKysKKytsaWJuYXV0aWx1c19zaGFyZV9leHRlbnNpb25fbGFfU09VUkNF UyA9ICAgICAgICAgXAorKwluYXV0aWx1cy1zaGFyZS1iYXIuYyAgICAgICAgICAgICAgICAgICAg IFwKKysJbmF1dGlsdXMtc2hhcmUtYmFyLmggICAgICAgICAgICAgICAgICAgICBcCisrCXNoYXJl LWV4dGVuc2lvbi5jICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkkKE5VTEwpCisrCisrbGli bmF1dGlsdXNfc2hhcmVfZXh0ZW5zaW9uX2xhX0xJQkFERCA9ICQoRVhURU5TSU9OX0xJQlMpCisr bGlibmF1dGlsdXNfc2hhcmVfZXh0ZW5zaW9uX2xhX0xERkxBR1MgPSAtYXZvaWQtdmVyc2lvbiAt bW9kdWxlIC1uby11bmRlZmluZWQKKyAKKyBFWFRSQV9ESVNUID0gbWFyc2hhbC5saXN0CisgCitk aWZmIC0tZ2l0IGEvc3JjL25hdXRpbHVzLXNoYXJlLWJhci5jIGIvc3JjL25hdXRpbHVzLXNoYXJl LWJhci5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYjNjNDI3YworLS0t IC9kZXYvbnVsbAorKysrIGIvc3JjL25hdXRpbHVzLXNoYXJlLWJhci5jCitAQCAtMCwwICsxLDIy NiBAQAorKy8qIC0qLSBNb2RlOiBDOyB0YWItd2lkdGg6IDg7IGluZGVudC10YWJzLW1vZGU6IG5p bDsgYy1iYXNpYy1vZmZzZXQ6IDggLSotCisrICoKKysgKiBDb3B5cmlnaHQgKEMpIDIwMDUgV2ls bGlhbSBKb24gTWNDYW5uIDxtY2Nhbm5Aamh1LmVkdT4KKysgKgorKyAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cisr ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKKysgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisrICoKKysgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyAqCisrICogWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKysgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUg RnJlZSBTb2Z0d2FyZQorKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1 aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisrICoKKysgKiBBdXRob3JzOiBX aWxsaWFtIEpvbiBNY0Nhbm4gPG1jY2FubkBqaHUuZWR1PgorKyAqCisrICovCisrCisrI2luY2x1 ZGUgImNvbmZpZy5oIgorKworKyNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgorKyNpbmNsdWRl IDxndGsvZ3RrLmg+CisrCisrI2luY2x1ZGUgIm5hdXRpbHVzLXNoYXJlLWJhci5oIgorKworK3N0 YXRpYyB2b2lkIG5hdXRpbHVzX3NoYXJlX2Jhcl9maW5hbGl6ZSAgIChHT2JqZWN0ICpvYmplY3Qp OworKworKyNkZWZpbmUgTkFVVElMVVNfU0hBUkVfQkFSX0dFVF9QUklWQVRFKG8pIChHX1RZUEVf SU5TVEFOQ0VfR0VUX1BSSVZBVEUgKChvKSwgTkFVVElMVVNfVFlQRV9TSEFSRV9CQVIsIE5hdXRp bHVzU2hhcmVCYXJQcml2YXRlKSkKKysKKytzdHJ1Y3QgTmF1dGlsdXNTaGFyZUJhclByaXZhdGUK Kyt7CisrICAgICAgICBHdGtUb29sdGlwcyAqdG9vbHRpcHM7CisrICAgICAgICBHdGtXaWRnZXQg ICAqYnV0dG9uOworKyAgICAgICAgR3RrV2lkZ2V0ICAgKmxhYmVsOworKyAgICAgICAgY2hhciAg ICAgICAgKnN0cjsKKyt9OworKworK2VudW0geworKwlQUk9QXzAsCisrCVBST1BfTEFCRUwKKyt9 OworKworK2VudW0geworKyAgICAgICBBQ1RJVkFURSwKKysgICAgICAgTEFTVF9TSUdOQUwKKyt9 OworKworK3N0YXRpYyBndWludCAgICAgICAgICAgc2lnbmFscyBbTEFTVF9TSUdOQUxdID0geyAw LCB9OworKworK0dfREVGSU5FX1RZUEUgKE5hdXRpbHVzU2hhcmVCYXIsIG5hdXRpbHVzX3NoYXJl X2JhciwgR1RLX1RZUEVfSEJPWCkKKysKKytHdGtXaWRnZXQgKgorK25hdXRpbHVzX3NoYXJlX2Jh cl9nZXRfYnV0dG9uIChOYXV0aWx1c1NoYXJlQmFyICpiYXIpCisreworKyAgICAgICAgR3RrV2lk Z2V0ICpidXR0b247CisrCisrICAgICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoYmFyICE9IE5V TEwsIE5VTEwpOworKworKyAgICAgICAgYnV0dG9uID0gYmFyLT5wcml2LT5idXR0b247CisrCisr ICAgICAgICByZXR1cm4gYnV0dG9uOworK30KKysKKytzdGF0aWMgdm9pZAorK25hdXRpbHVzX3No YXJlX2Jhcl9zZXRfcHJvcGVydHkgKEdPYmplY3QgICAgICAgICAgICAqb2JqZWN0LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAgICBwcm9wX2lkLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR1ZhbHVlICAgICAgICp2YWx1 ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQYXJhbVNwZWMgICAgICAgICAq cHNwZWMpCisreworKyAgICAgICAgTmF1dGlsdXNTaGFyZUJhciAqc2VsZjsKKysKKysgICAgICAg IHNlbGYgPSBOQVVUSUxVU19TSEFSRV9CQVIgKG9iamVjdCk7CisrCisrICAgICAgICBzd2l0Y2gg KHByb3BfaWQpIHsKKysJY2FzZSBQUk9QX0xBQkVMOiB7CisrCQljaGFyICpzdHI7CisrCQlnX2Zy ZWUgKHNlbGYtPnByaXYtPnN0cik7CisrCQlzdHIgPSBnX3N0cmR1cF9wcmludGYgKCI8aT4lczwv aT4iLCBnX3ZhbHVlX2dldF9zdHJpbmcgKHZhbHVlKSk7CisrCQlndGtfbGFiZWxfc2V0X21hcmt1 cCAoR1RLX0xBQkVMIChzZWxmLT5wcml2LT5sYWJlbCksIHN0cik7CisrCQlzZWxmLT5wcml2LT5z dHIgPSBnX3ZhbHVlX2R1cF9zdHJpbmcgKHZhbHVlKTsKKysJCWJyZWFrOworKwl9CisrICAgICAg ICBkZWZhdWx0OgorKyAgICAgICAgICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVS VFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgICAgICAgICAgICBicmVhazsK KysgICAgICAgIH0KKyt9CisrCisrc3RhdGljIHZvaWQKKytuYXV0aWx1c19zaGFyZV9iYXJfZ2V0 X3Byb3BlcnR5IChHT2JqZWN0ICAgICpvYmplY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBndWludCAgICAgICBwcm9wX2lkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR1ZhbHVlICAgICAqdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHUGFyYW1TcGVjICpwc3BlYykKKyt7CisrICAgICAgICBOYXV0aWx1c1NoYXJlQmFyICpzZWxm OworKworKyAgICAgICAgc2VsZiA9IE5BVVRJTFVTX1NIQVJFX0JBUiAob2JqZWN0KTsKKysKKysg ICAgICAgIHN3aXRjaCAocHJvcF9pZCkgeworKwljYXNlIFBST1BfTEFCRUw6CisrCQlnX3ZhbHVl X3NldF9zdHJpbmcgKHZhbHVlLCBzZWxmLT5wcml2LT5zdHIpOworKwkJYnJlYWs7CisrICAgICAg ICBkZWZhdWx0OgorKyAgICAgICAgICAgICAgICBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVS VFlfSUQgKG9iamVjdCwgcHJvcF9pZCwgcHNwZWMpOworKyAgICAgICAgICAgICAgICBicmVhazsK KysgICAgICAgIH0KKyt9CisrCisrc3RhdGljIHZvaWQKKytuYXV0aWx1c19zaGFyZV9iYXJfY2xh c3NfaW5pdCAoTmF1dGlsdXNTaGFyZUJhckNsYXNzICprbGFzcykKKyt7CisrICAgICAgICBHT2Jq ZWN0Q2xhc3MgICAqb2JqZWN0X2NsYXNzID0gR19PQkpFQ1RfQ0xBU1MgKGtsYXNzKTsKKysKKysg ICAgICAgIG9iamVjdF9jbGFzcy0+ZmluYWxpemUgICAgID0gbmF1dGlsdXNfc2hhcmVfYmFyX2Zp bmFsaXplOworKyAgICAgICAgb2JqZWN0X2NsYXNzLT5nZXRfcHJvcGVydHkgPSBuYXV0aWx1c19z aGFyZV9iYXJfZ2V0X3Byb3BlcnR5OworKyAgICAgICAgb2JqZWN0X2NsYXNzLT5zZXRfcHJvcGVy dHkgPSBuYXV0aWx1c19zaGFyZV9iYXJfc2V0X3Byb3BlcnR5OworKworKyAgICAgICAgZ190eXBl X2NsYXNzX2FkZF9wcml2YXRlIChrbGFzcywgc2l6ZW9mIChOYXV0aWx1c1NoYXJlQmFyUHJpdmF0 ZSkpOworKworKyAgICAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSAoR19PQkpF Q1RfQ0xBU1Moa2xhc3MpLAorKwkJCQkJIFBST1BfTEFCRUwsIGdfcGFyYW1fc3BlY19zdHJpbmcg KCJsYWJlbCIsCisrCQkJCQkJCQkJICAibGFiZWwiLCAiVGhlIHdpZGdldCdzIG1haW4gbGFiZWwi LCBOVUxMLCBHX1BBUkFNX1JFQURXUklURSkpOworKworKworKyAgICAgICAgc2lnbmFscyBbQUNU SVZBVEVdID0gZ19zaWduYWxfbmV3ICgiYWN0aXZhdGUiLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfRlJPTV9DTEFTUyAoa2xhc3MpLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NJR05BTF9SVU5fTEFTVCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19TVFJVQ1RfT0ZG U0VUIChOYXV0aWx1c1NoYXJlQmFyQ2xhc3MsIGFjdGl2YXRlKSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX1ZPSURfX1ZPSUQs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9OT05F LCAwKTsKKysKKyt9CisrCisrc3RhdGljIHZvaWQKKytidXR0b25fY2xpY2tlZF9jYiAoR3RrV2lk Z2V0ICAgICAgICpidXR0b24sCisrICAgICAgICAgICAgICAgICAgIE5hdXRpbHVzU2hhcmVCYXIg KmJhcikKKyt7CisrICAgICAgICBnX3NpZ25hbF9lbWl0IChiYXIsIHNpZ25hbHMgW0FDVElWQVRF XSwgMCk7CisrfQorKworK3N0YXRpYyB2b2lkCisrbmF1dGlsdXNfc2hhcmVfYmFyX2luaXQgKE5h dXRpbHVzU2hhcmVCYXIgKmJhcikKKyt7CisrCUd0a1dpZGdldCAgICpsYWJlbDsKKysgICAgICAg IEd0a1dpZGdldCAgICpoYm94OworKyAgICAgICAgR3RrV2lkZ2V0ICAgKnZib3g7CisrICAgICAg ICBHdGtXaWRnZXQgICAqaW1hZ2U7CisrICAgICAgICBjaGFyICAgICAgICAqaGludDsKKysKKysg ICAgICAgIGJhci0+cHJpdiA9IE5BVVRJTFVTX1NIQVJFX0JBUl9HRVRfUFJJVkFURSAoYmFyKTsK KysKKysgICAgICAgIGJhci0+cHJpdi0+dG9vbHRpcHMgPSBndGtfdG9vbHRpcHNfbmV3ICgpOwor KyAgICAgICAgZ19vYmplY3RfcmVmIChiYXItPnByaXYtPnRvb2x0aXBzKTsKKysgICAgICAgIGd0 a19vYmplY3Rfc2luayAoR1RLX09CSkVDVCAoYmFyLT5wcml2LT50b29sdGlwcykpOworKworKyAg ICAgICAgaGJveCA9IEdUS19XSURHRVQgKGJhcik7CisrCisrICAgICAgICB2Ym94ID0gZ3RrX3Zi b3hfbmV3IChGQUxTRSwgNik7CisrICAgICAgICBndGtfd2lkZ2V0X3Nob3cgKHZib3gpOworKyAg ICAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0IChHVEtfQk9YIChoYm94KSwgdmJveCwgVFJVRSwgVFJV RSwgMCk7CisrCisrICAgICAgICBsYWJlbCA9IGd0a19sYWJlbF9uZXcgKF8oIlBlcnNvbmFsIEZp bGUgU2hhcmluZyIpKTsKKysgICAgICAgIGd0a19taXNjX3NldF9hbGlnbm1lbnQgKEdUS19NSVND IChsYWJlbCksIDAuMCwgMC41KTsKKysgICAgICAgIGd0a193aWRnZXRfc2hvdyAobGFiZWwpOwor KyAgICAgICAgZ3RrX2JveF9wYWNrX3N0YXJ0IChHVEtfQk9YICh2Ym94KSwgbGFiZWwsIFRSVUUs IFRSVUUsIDApOworKworKyAgICAgICAgYmFyLT5wcml2LT5sYWJlbCA9IGd0a19sYWJlbF9uZXcg KCIiKTsKKysgICAgICAgIGhpbnQgPSBnX3N0cmR1cF9wcmludGYgKCI8aT4lczwvaT4iLCAiIik7 CisrICAgICAgICBndGtfbGFiZWxfc2V0X21hcmt1cCAoR1RLX0xBQkVMIChiYXItPnByaXYtPmxh YmVsKSwgaGludCk7CisrICAgICAgICBndGtfbWlzY19zZXRfYWxpZ25tZW50IChHVEtfTUlTQyAo YmFyLT5wcml2LT5sYWJlbCksIDAuMCwgMC41KTsKKysgICAgICAgIGd0a193aWRnZXRfc2hvdyAo YmFyLT5wcml2LT5sYWJlbCk7CisrICAgICAgICBndGtfYm94X3BhY2tfc3RhcnQgKEdUS19CT1gg KHZib3gpLCBiYXItPnByaXYtPmxhYmVsLCBUUlVFLCBUUlVFLCAwKTsKKysKKysgICAgICAgIGJh ci0+cHJpdi0+YnV0dG9uID0gZ3RrX2J1dHRvbl9uZXdfd2l0aF9sYWJlbCAoXygiTGF1bmNoIFBy ZWZlcmVuY2VzIikpOworKyAgICAgICAgZ3RrX3dpZGdldF9zaG93IChiYXItPnByaXYtPmJ1dHRv bik7CisrICAgICAgICBndGtfYm94X3BhY2tfZW5kIChHVEtfQk9YIChoYm94KSwgYmFyLT5wcml2 LT5idXR0b24sIEZBTFNFLCBGQUxTRSwgMCk7CisrCisrICAgICAgICBpbWFnZSA9IGd0a19pbWFn ZV9uZXdfZnJvbV9pY29uX25hbWUgKCJmb2xkZXItcmVtb3RlIiwgR1RLX0lDT05fU0laRV9CVVRU T04pOworKyAgICAgICAgZ3RrX3dpZGdldF9zaG93IChpbWFnZSk7CisrICAgICAgICBndGtfYnV0 dG9uX3NldF9pbWFnZSAoR1RLX0JVVFRPTiAoYmFyLT5wcml2LT5idXR0b24pLCBpbWFnZSk7Cisr CisrICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChiYXItPnByaXYtPmJ1dHRvbiwgImNsaWNrZWQi LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoYnV0dG9uX2NsaWNrZWRf Y2IpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgYmFyKTsKKysKKysgICAgICAgIGd0a190 b29sdGlwc19zZXRfdGlwIChHVEtfVE9PTFRJUFMgKGJhci0+cHJpdi0+dG9vbHRpcHMpLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhci0+cHJpdi0+YnV0dG9uLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF8oIkxhdW5jaCBQZXJzb25hbCBGaWxlIFNoYXJpbmcgUHJl ZmVyZW5jZXMiKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyt9Cisr Cisrc3RhdGljIHZvaWQKKytuYXV0aWx1c19zaGFyZV9iYXJfZmluYWxpemUgKEdPYmplY3QgKm9i amVjdCkKKyt7CisrICAgICAgICBOYXV0aWx1c1NoYXJlQmFyICpiYXI7CisrCisrICAgICAgICBn X3JldHVybl9pZl9mYWlsIChvYmplY3QgIT0gTlVMTCk7CisrICAgICAgICBnX3JldHVybl9pZl9m YWlsIChOQVVUSUxVU19JU19TSEFSRV9CQVIgKG9iamVjdCkpOworKworKyAgICAgICAgYmFyID0g TkFVVElMVVNfU0hBUkVfQkFSIChvYmplY3QpOworKworKyAgICAgICAgZ19yZXR1cm5faWZfZmFp bCAoYmFyLT5wcml2ICE9IE5VTEwpOworKworKyAgICAgICAgaWYgKGJhci0+cHJpdi0+dG9vbHRp cHMgIT0gTlVMTCkgeworKyAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoYmFyLT5wcml2 LT50b29sdGlwcyk7CisrICAgICAgICB9CisrCisrICAgICAgICBHX09CSkVDVF9DTEFTUyAobmF1 dGlsdXNfc2hhcmVfYmFyX3BhcmVudF9jbGFzcyktPmZpbmFsaXplIChvYmplY3QpOworK30KKysK KytHdGtXaWRnZXQgKgorK25hdXRpbHVzX3NoYXJlX2Jhcl9uZXcgKGNvbnN0IGNoYXIgKmxhYmVs KQorK3sKKysgICAgICAgIEdPYmplY3QgKnJlc3VsdDsKKysKKysgICAgICAgIHJlc3VsdCA9IGdf b2JqZWN0X25ldyAoTkFVVElMVVNfVFlQRV9TSEFSRV9CQVIsCisrICAgICAgICAJCSAgICAgICAi bGFiZWwiLCBsYWJlbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Cisr CisrICAgICAgICByZXR1cm4gR1RLX1dJREdFVCAocmVzdWx0KTsKKyt9CitkaWZmIC0tZ2l0IGEv c3JjL25hdXRpbHVzLXNoYXJlLWJhci5oIGIvc3JjL25hdXRpbHVzLXNoYXJlLWJhci5oCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYjdmYjFmZAorLS0tIC9kZXYvbnVsbAor KysrIGIvc3JjL25hdXRpbHVzLXNoYXJlLWJhci5oCitAQCAtMCwwICsxLDYxIEBACisrLyogLSot IE1vZGU6IEM7IHRhYi13aWR0aDogODsgaW5kZW50LXRhYnMtbW9kZTogbmlsOyBjLWJhc2ljLW9m ZnNldDogOCAtKi0KKysgKgorKyAqIENvcHlyaWdodCAoQykgMjAwNSBXaWxsaWFtIEpvbiBNY0Nh bm4gPG1jY2FubkBqaHUuZWR1PgorKyAqCisrICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgKiBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2Yg dGhlIExpY2Vuc2UsIG9yCisrICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KysgKgorKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICoKKysgKiBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAqIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CisrICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0 b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKysgKgorKyAqIEF1dGhvcnM6IFdpbGxpYW0gSm9uIE1j Q2FubiA8bWNjYW5uQGpodS5lZHU+CisrICoKKysgKi8KKysKKysjaWZuZGVmIF9fTkFVVElMVVNf U0hBUkVfQkFSX0gKKysjZGVmaW5lIF9fTkFVVElMVVNfU0hBUkVfQkFSX0gKKysKKysjaW5jbHVk ZSA8Z3RrL2d0ay5oPgorKworK0dfQkVHSU5fREVDTFMKKysKKysjZGVmaW5lIE5BVVRJTFVTX1RZ UEVfU0hBUkVfQkFSICAgICAgICAgKG5hdXRpbHVzX3NoYXJlX2Jhcl9nZXRfdHlwZSAoKSkKKysj ZGVmaW5lIE5BVVRJTFVTX1NIQVJFX0JBUihvKSAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNU QU5DRV9DQVNUICgobyksIE5BVVRJTFVTX1RZUEVfU0hBUkVfQkFSLCBOYXV0aWx1c1NoYXJlQmFy KSkKKysjZGVmaW5lIE5BVVRJTFVTX1NIQVJFX0JBUl9DTEFTUyhrKSAgICAgKEdfVFlQRV9DSEVD S19DTEFTU19DQVNUKChrKSwgTkFVVElMVVNfVFlQRV9TSEFSRV9CQVIsIE5hdXRpbHVzU2hhcmVC YXJDbGFzcykpCisrI2RlZmluZSBOQVVUSUxVU19JU19TSEFSRV9CQVIobykgICAgICAgIChHX1RZ UEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSAoKG8pLCBOQVVUSUxVU19UWVBFX1NIQVJFX0JBUikpCisr I2RlZmluZSBOQVVUSUxVU19JU19TSEFSRV9CQVJfQ0xBU1MoaykgIChHX1RZUEVfQ0hFQ0tfQ0xB U1NfVFlQRSAoKGspLCBOQVVUSUxVU19UWVBFX1NIQVJFX0JBUikpCisrI2RlZmluZSBOQVVUSUxV U19TSEFSRV9CQVJfR0VUX0NMQVNTKG8pIChHX1RZUEVfSU5TVEFOQ0VfR0VUX0NMQVNTICgobyks IE5BVVRJTFVTX1RZUEVfU0hBUkVfQkFSLCBOYXV0aWx1c1NoYXJlQmFyQ2xhc3MpKQorKworK3R5 cGVkZWYgc3RydWN0IE5hdXRpbHVzU2hhcmVCYXJQcml2YXRlIE5hdXRpbHVzU2hhcmVCYXJQcml2 YXRlOworKworK3R5cGVkZWYgc3RydWN0CisreworKyAgICAgICAgR3RrSEJveCAgICAgICAgICAg ICAgICAgYm94OworKworKyAgICAgICAgTmF1dGlsdXNTaGFyZUJhclByaXZhdGUgKnByaXY7Cisr fSBOYXV0aWx1c1NoYXJlQmFyOworKworK3R5cGVkZWYgc3RydWN0CisreworKyAgICAgICAgR3Rr SEJveENsYXNzICAgICAgICAgICAgcGFyZW50X2NsYXNzOworKworKwl2b2lkICgqIGFjdGl2YXRl KSAoTmF1dGlsdXNTaGFyZUJhciAqYmFyKTsKKysKKyt9IE5hdXRpbHVzU2hhcmVCYXJDbGFzczsK KysKKytHVHlwZSAgICAgICBuYXV0aWx1c19zaGFyZV9iYXJfZ2V0X3R5cGUgICAgICAgICAgKHZv aWQpOworK0d0a1dpZGdldCAgKm5hdXRpbHVzX3NoYXJlX2Jhcl9uZXcgICAgICAgICAgICAgICAo Y29uc3QgY2hhciAqbGFiZWwpOworKworK0d0a1dpZGdldCAgKm5hdXRpbHVzX3NoYXJlX2Jhcl9n ZXRfYnV0dG9uICAgICAgICAoTmF1dGlsdXNTaGFyZUJhciAqYmFyKTsKKysKKytHX0VORF9ERUNM UworKworKyNlbmRpZiAvKiBfX0dTX1NIQVJFX0JBUl9IICovCitkaWZmIC0tZ2l0IGEvc3JjL3No YXJlLWV4dGVuc2lvbi5jIGIvc3JjL3NoYXJlLWV4dGVuc2lvbi5jCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uMDM2ZWNkMworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL3No YXJlLWV4dGVuc2lvbi5jCitAQCAtMCwwICsxLDI5MiBAQAorKy8qIC0qLSBNb2RlOiBDOyBpbmRl bnQtdGFicy1tb2RlOiBuaWw7IGMtYmFzaWMtb2Zmc2V0OiA4OyB0YWItd2lkdGg6IDggLSotCisr ICoKKysgKiBDb3B5cmlnaHQgKEMpIDIwMDMgTm92ZWxsLCBJbmMuCisrICogQ29weXJpZ2h0IChD KSAyMDAzLTIwMDQgUmVkIEhhdCwgSW5jLgorKyAqIENvcHlyaWdodCAoQykgMjAwNSBXaWxsaWFt IEpvbiBNY0Nhbm4gPG1jY2FubkBqaHUuZWR1PgorKyAqCisrICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisr ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YgdGhlCisrICogTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysgKgorKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKysgKiBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrICoKKysgKiBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKysgKiBM aWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorKyAq IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg MzMwLAorKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorKyAqCisrICovCisrCisrI2lu Y2x1ZGUgImNvbmZpZy5oIgorKworKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8c3Ry aW5nLmg+CisrI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CisrI2luY2x1ZGUgPGd0ay9ndGsu aD4KKysjaW5jbHVkZSA8bGlibmF1dGlsdXMtZXh0ZW5zaW9uL25hdXRpbHVzLW1lbnUtcHJvdmlk ZXIuaD4KKysjaW5jbHVkZSA8bGlibmF1dGlsdXMtZXh0ZW5zaW9uL25hdXRpbHVzLWxvY2F0aW9u LXdpZGdldC1wcm92aWRlci5oPgorKworKyNpbmNsdWRlICJuYXV0aWx1cy1zaGFyZS1iYXIuaCIK KysKKysjZGVmaW5lIE5BVVRJTFVTX1RZUEVfU0hBUkUgIChuYXV0aWx1c19zaGFyZV9nZXRfdHlw ZSAoKSkKKysjZGVmaW5lIE5BVVRJTFVTX1NIQVJFKG8pICAgIChHX1RZUEVfQ0hFQ0tfSU5TVEFO Q0VfQ0FTVCAoKG8pLCBOQVVUSUxVU19UWVBFX1NIQVJFLCBOYXV0aWx1c1NoYXJlKSkKKysjZGVm aW5lIE5BVVRJTFVTX0lTX1NIQVJFKG8pIChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSAoKG8p LCBOQVVUSUxVU19UWVBFX1NIQVJFKSkKKysKKyt0eXBlZGVmIHN0cnVjdCBfTmF1dGlsdXNTaGFy ZVByaXZhdGUgTmF1dGlsdXNTaGFyZVByaXZhdGU7CisrCisrdHlwZWRlZiBzdHJ1Y3QKKyt7Cisr ICAgICAgICBHT2JqZWN0ICAgICAgICAgICAgICBwYXJlbnRfc2xvdDsKKysgICAgICAgIE5hdXRp bHVzU2hhcmVQcml2YXRlICpwcml2OworK30gTmF1dGlsdXNTaGFyZTsKKysKKyt0eXBlZGVmIHN0 cnVjdAorK3sKKysgICAgICAgIEdPYmplY3RDbGFzcyBwYXJlbnRfc2xvdDsKKyt9IE5hdXRpbHVz U2hhcmVDbGFzczsKKysKKysjZGVmaW5lIE5BVVRJTFVTX1NIQVJFX0dFVF9QUklWQVRFKG8pIChH X1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUgKChvKSwgTkFVVElMVVNfVFlQRV9TSEFSRSwgTmF1 dGlsdXNTaGFyZVByaXZhdGUpKQorKworK3N0cnVjdCBfTmF1dGlsdXNTaGFyZVByaXZhdGUKKyt7 CisrICAgICAgICBHU0xpc3QgICAgICAgKndpZGdldF9saXN0OworK307CisrCisrc3RhdGljIEdU eXBlIG5hdXRpbHVzX3NoYXJlX2dldF90eXBlICAgICAgKHZvaWQpOworK3N0YXRpYyB2b2lkICBu YXV0aWx1c19zaGFyZV9yZWdpc3Rlcl90eXBlIChHVHlwZU1vZHVsZSAqbW9kdWxlKTsKKysKKytz dGF0aWMgR09iamVjdENsYXNzICpwYXJlbnRfY2xhc3M7CisrCisrCisrc3RhdGljIHZvaWQKKyts YXVuY2hfcHJvY2VzcyAoY2hhciAqKmFyZ3YsIEd0a1dpbmRvdyAqcGFyZW50KQorK3sKKysgICAg ICAgIEdFcnJvciAqZXJyb3I7CisrICAgICAgICBHdGtXaWRnZXQgKmRpYWxvZzsKKysKKysgICAg ICAgIGVycm9yID0gTlVMTDsKKysgICAgICAgIGlmICghZ19zcGF3bl9hc3luYyAoTlVMTCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndiwgTlVMTCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmVycm9yKSkgeworKworKworKyAgICAgICAgICAgICAgICBkaWFsb2cgPSBndGtf bWVzc2FnZV9kaWFsb2dfbmV3IChOVUxMLCBHVEtfRElBTE9HX01PREFMLCBHVEtfTUVTU0FHRV9X QVJOSU5HLAorKwkJCQkJCSBHVEtfQlVUVE9OU19PSywgXygiVW5hYmxlIHRvIGxhdW5jaCB0aGUg UGVyc29uYWwgRmlsZSBTaGFyaW5nIHByZWZlcmVuY2VzIikpOworKworKyAgICAgICAgICAgICAg ICBndGtfbWVzc2FnZV9kaWFsb2dfZm9ybWF0X3NlY29uZGFyeV90ZXh0IChHVEtfTUVTU0FHRV9E SUFMT0cgKGRpYWxvZyksICIlcyIsIGVycm9yLT5tZXNzYWdlKTsKKysKKysgICAgICAgICAgICAg ICAgZ3RrX2RpYWxvZ19ydW4gKEdUS19ESUFMT0cgKGRpYWxvZykpOworKyAgICAgICAgICAgICAg ICBndGtfd2lkZ2V0X2Rlc3Ryb3kgKGRpYWxvZyk7CisrCisrICAgICAgICAgICAgICAgIGdfZXJy b3JfZnJlZSAoZXJyb3IpOworKyAgICAgICAgfQorK30KKysKKytzdGF0aWMgdm9pZAorK2xhdW5j aF9wcmVmc19vbl93aW5kb3cgKEd0a1dpbmRvdyAqd2luZG93KQorK3sKKysgICAgICAgIGNoYXIg KmFyZ3YgWzJdOworKworKyAgICAgICAgYXJndiBbMF0gPSBnX2J1aWxkX2ZpbGVuYW1lIChCSU5E SVIsICJnbm9tZS1maWxlLXNoYXJlLXByb3BlcnRpZXMiLCBOVUxMKTsKKysgICAgICAgIGFyZ3Yg WzFdID0gTlVMTDsKKysKKysgICAgICAgIGxhdW5jaF9wcm9jZXNzIChhcmd2LCB3aW5kb3cpOwor KworKyAgICAgICAgZ19mcmVlIChhcmd2IFswXSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrYmFy X2FjdGl2YXRlZF9jYiAoTmF1dGlsdXNTaGFyZUJhciAqYmFyLAorKyAgICAgICAgICAgICAgICAg IGdwb2ludGVyICAgICAgICAgZGF0YSkKKyt7CisrICAgICAgICBsYXVuY2hfcHJlZnNfb25fd2lu ZG93IChHVEtfV0lORE9XIChkYXRhKSk7CisrfQorKworK3N0YXRpYyB2b2lkCisrZGVzdHJveWVk X2NhbGxiYWNrIChHdGtXaWRnZXQgICAgKndpZGdldCwKKysgICAgICAgICAgICAgICAgICAgIE5h dXRpbHVzU2hhcmUgKnNoYXJlKQorK3sKKysgICAgICAgIHNoYXJlLT5wcml2LT53aWRnZXRfbGlz dCA9IGdfc2xpc3RfcmVtb3ZlIChzaGFyZS0+cHJpdi0+d2lkZ2V0X2xpc3QsIHdpZGdldCk7Cisr fQorKworK3N0YXRpYyB2b2lkCisrYWRkX3dpZGdldCAoTmF1dGlsdXNTaGFyZSAqc2hhcmUsCisr ICAgICAgICAgICAgICBHdGtXaWRnZXQgICAgKndpZGdldCkKKyt7CisrICAgICAgICBzaGFyZS0+ cHJpdi0+d2lkZ2V0X2xpc3QgPSBnX3NsaXN0X3ByZXBlbmQgKHNoYXJlLT5wcml2LT53aWRnZXRf bGlzdCwgd2lkZ2V0KTsKKysKKysgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKHdpZGdldCwgImRl c3Ryb3kiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoZGVzdHJveWVk X2NhbGxiYWNrKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlKTsKKyt9CisrCisr c3RhdGljIEd0a1dpZGdldCAqCisrbmF1dGlsdXNfc2hhcmVfZ2V0X2xvY2F0aW9uX3dpZGdldCAo TmF1dGlsdXNMb2NhdGlvbldpZGdldFByb3ZpZGVyICppZmFjZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgICAgICAgICAgICAgICAgICAgICAqdXJpLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrV2lkZ2V0ICAgICAgICAgICAg ICAgICAgICAgICp3aW5kb3cpCisreworKwlHRmlsZSAgICAgICAgICpmaWxlOworKwlHdGtXaWRn ZXQgICAgICpiYXI7CisrCU5hdXRpbHVzU2hhcmUgKnNoYXJlOworKwlndWludCAgICAgICAgICBp OworKwlnYm9vbGVhbiAgICAgICBlbmFibGUgPSBGQUxTRTsKKysJY29uc3QgR1VzZXJEaXJlY3Rv cnkgc3BlY2lhbF9kaXJzW10gPSB7IEdfVVNFUl9ESVJFQ1RPUllfUFVCTElDX1NIQVJFLCBHX1VT RVJfRElSRUNUT1JZX0RPV05MT0FEIH07CisrCWdib29sZWFuIGlzX2RpcltdID0geyBGQUxTRSwg RkFMU0UgfTsKKysKKysJZmlsZSA9IGdfZmlsZV9uZXdfZm9yX3VyaSAodXJpKTsKKysKKysJZm9y IChpID0gMDsgaSA8IEdfTl9FTEVNRU5UUyAoc3BlY2lhbF9kaXJzKTsgaSsrKSB7CisrCQljb25z dCBjaGFyICpwYXRoOworKworKwkJcGF0aCA9IGdfZ2V0X3VzZXJfc3BlY2lhbF9kaXIgKHNwZWNp YWxfZGlyc1tpXSk7CisrCQlpZiAocGF0aCAhPSBOVUxMKSB7CisrCQkJR0ZpbGUgKmRpcjsKKysJ CQlkaXIgPSBnX2ZpbGVfbmV3X2Zvcl9wYXRoIChwYXRoKTsKKysJCQlpZiAoZ19maWxlX2VxdWFs IChkaXIsIGZpbGUpKSB7CisrCQkJCWVuYWJsZSA9IFRSVUU7CisrCQkJCWlzX2RpcltpXSA9IFRS VUU7CisrCQkJfQorKwkJCWdfb2JqZWN0X3VucmVmIChkaXIpOworKwkJfQorKwl9CisrCisrCWlm IChlbmFibGUgPT0gRkFMU0UpCisrCQlyZXR1cm4gTlVMTDsKKysKKysJc2hhcmUgPSBOQVVUSUxV U19TSEFSRSAoaWZhY2UpOworKworKwlpZiAoaXNfZGlyWzBdICE9IEZBTFNFICYmIGlzX2Rpclsx XSAhPSBGQUxTRSkgeworKwkJYmFyID0gbmF1dGlsdXNfc2hhcmVfYmFyX25ldyAoXygiWW91IGNh biBzaGFyZSBmaWxlcyBmcm9tIHRoaXMgZm9sZGVyIGFuZCByZWNlaXZlIGZpbGVzIHRvIGl0Iikp OworKwl9IGVsc2UgaWYgKGlzX2RpclswXSAhPSBGQUxTRSkgeworKwkJYmFyID0gbmF1dGlsdXNf c2hhcmVfYmFyX25ldyAoXygiWW91IGNhbiBzaGFyZSBmaWxlcyBmcm9tIHRoaXMgZm9sZGVyIG92 ZXIgdGhlIG5ldHdvcmsgYW5kIEJsdWV0b290aCIpKTsKKysJfSBlbHNlIHsKKysJCWJhciA9IG5h dXRpbHVzX3NoYXJlX2Jhcl9uZXcgKF8oIllvdSBjYW4gcmVjZWl2ZSBmaWxlcyBvdmVyIEJsdWV0 b290aCBpbnRvIHRoaXMgZm9sZGVyIikpOworKwl9CisrCisrCWFkZF93aWRnZXQgKHNoYXJlLCBu YXV0aWx1c19zaGFyZV9iYXJfZ2V0X2J1dHRvbiAoTkFVVElMVVNfU0hBUkVfQkFSIChiYXIpKSk7 CisrCisrCWdfc2lnbmFsX2Nvbm5lY3QgKGJhciwgImFjdGl2YXRlIiwKKysJCQkgIEdfQ0FMTEJB Q0sgKGJhcl9hY3RpdmF0ZWRfY2IpLAorKwkJCSAgd2luZG93KTsKKysKKysJZ3RrX3dpZGdldF9z aG93IChiYXIpOworKworKwlnX29iamVjdF91bnJlZiAoZmlsZSk7CisrCisrICAgICAgICByZXR1 cm4gYmFyOworK30KKysKKytzdGF0aWMgdm9pZAorK25hdXRpbHVzX3NoYXJlX2xvY2F0aW9uX3dp ZGdldF9wcm92aWRlcl9pZmFjZV9pbml0IChOYXV0aWx1c0xvY2F0aW9uV2lkZ2V0UHJvdmlkZXJJ ZmFjZSAqaWZhY2UpCisreworKyAgICAgICAgaWZhY2UtPmdldF93aWRnZXQgPSBuYXV0aWx1c19z aGFyZV9nZXRfbG9jYXRpb25fd2lkZ2V0OworK30KKysKKytzdGF0aWMgdm9pZAorK25hdXRpbHVz X3NoYXJlX2luc3RhbmNlX2luaXQgKE5hdXRpbHVzU2hhcmUgKnNoYXJlKQorK3sKKysgICAgICAg IHNoYXJlLT5wcml2ID0gTkFVVElMVVNfU0hBUkVfR0VUX1BSSVZBVEUgKHNoYXJlKTsKKyt9Cisr Cisrc3RhdGljIHZvaWQKKytuYXV0aWx1c19zaGFyZV9maW5hbGl6ZSAoR09iamVjdCAqb2JqZWN0 KQorK3sKKysgICAgICAgIE5hdXRpbHVzU2hhcmUgKnNoYXJlOworKworKyAgICAgICAgZ19yZXR1 cm5faWZfZmFpbCAob2JqZWN0ICE9IE5VTEwpOworKyAgICAgICAgZ19yZXR1cm5faWZfZmFpbCAo TkFVVElMVVNfSVNfU0hBUkUgKG9iamVjdCkpOworKworKyAgICAgICAgc2hhcmUgPSBOQVVUSUxV U19TSEFSRSAob2JqZWN0KTsKKysKKysgICAgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKHNoYXJlLT5w cml2ICE9IE5VTEwpOworKworKyAgICAgICAgaWYgKHNoYXJlLT5wcml2LT53aWRnZXRfbGlzdCAh PSBOVUxMKSB7CisrICAgICAgICAgICAgICAgIGdfc2xpc3RfZnJlZSAoc2hhcmUtPnByaXYtPndp ZGdldF9saXN0KTsKKysgICAgICAgIH0KKysKKysgICAgICAgIEdfT0JKRUNUX0NMQVNTIChwYXJl bnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytuYXV0 aWx1c19zaGFyZV9jbGFzc19pbml0IChOYXV0aWx1c1NoYXJlQ2xhc3MgKmtsYXNzKQorK3sKKysg ICAgICAgIEdPYmplY3RDbGFzcyAqb2JqZWN0X2NsYXNzID0gR19PQkpFQ1RfQ0xBU1MgKGtsYXNz KTsKKysKKysgICAgICAgIHBhcmVudF9jbGFzcyA9IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCAo a2xhc3MpOworKworKyAgICAgICAgb2JqZWN0X2NsYXNzLT5maW5hbGl6ZSA9IG5hdXRpbHVzX3No YXJlX2ZpbmFsaXplOworKworKyAgICAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlIChrbGFz cywgc2l6ZW9mIChOYXV0aWx1c1NoYXJlUHJpdmF0ZSkpOworK30KKysKKytzdGF0aWMgR1R5cGUg c2hhcmVfdHlwZSA9IDA7CisrCisrc3RhdGljIEdUeXBlCisrbmF1dGlsdXNfc2hhcmVfZ2V0X3R5 cGUgKHZvaWQpCisreworKyAgICAgICAgcmV0dXJuIHNoYXJlX3R5cGU7CisrfQorKworK3N0YXRp YyB2b2lkCisrbmF1dGlsdXNfc2hhcmVfcmVnaXN0ZXJfdHlwZSAoR1R5cGVNb2R1bGUgKm1vZHVs ZSkKKyt7CisrICAgICAgICBzdGF0aWMgY29uc3QgR1R5cGVJbmZvIGluZm8gPSB7CisrICAgICAg ICAgICAgICAgIHNpemVvZiAoTmF1dGlsdXNTaGFyZUNsYXNzKSwKKysgICAgICAgICAgICAgICAg KEdCYXNlSW5pdEZ1bmMpIE5VTEwsCisrICAgICAgICAgICAgICAgIChHQmFzZUZpbmFsaXplRnVu YykgTlVMTCwKKysgICAgICAgICAgICAgICAgKEdDbGFzc0luaXRGdW5jKSBuYXV0aWx1c19zaGFy ZV9jbGFzc19pbml0LAorKyAgICAgICAgICAgICAgICBOVUxMLAorKyAgICAgICAgICAgICAgICBO VUxMLAorKyAgICAgICAgICAgICAgICBzaXplb2YgKE5hdXRpbHVzU2hhcmUpLAorKyAgICAgICAg ICAgICAgICAwLAorKyAgICAgICAgICAgICAgICAoR0luc3RhbmNlSW5pdEZ1bmMpIG5hdXRpbHVz X3NoYXJlX2luc3RhbmNlX2luaXQsCisrICAgICAgICB9OworKworKyAgICAgICAgc3RhdGljIGNv bnN0IEdJbnRlcmZhY2VJbmZvIGxvY2F0aW9uX3dpZGdldF9wcm92aWRlcl9pZmFjZV9pbmZvID0g eworKyAgICAgICAgICAgICAgICAoR0ludGVyZmFjZUluaXRGdW5jKSBuYXV0aWx1c19zaGFyZV9s b2NhdGlvbl93aWRnZXRfcHJvdmlkZXJfaWZhY2VfaW5pdCwKKysgICAgICAgICAgICAgICAgTlVM TCwKKysgICAgICAgICAgICAgICAgTlVMTAorKyAgICAgICAgfTsKKysKKysgICAgICAgIHNoYXJl X3R5cGUgPSBnX3R5cGVfbW9kdWxlX3JlZ2lzdGVyX3R5cGUgKG1vZHVsZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX09CSkVDVCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5hdXRpbHVz U2hhcmUiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmaW5mbywgMCk7CisrCisrICAgICAgICBnX3R5cGVfbW9kdWxlX2FkZF9pbnRlcmZhY2UgKG1v ZHVsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfdHlwZSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFVVElMVVNfVFlQRV9MT0NB VElPTl9XSURHRVRfUFJPVklERVIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZsb2NhdGlvbl93aWRnZXRfcHJvdmlkZXJfaWZhY2VfaW5mbyk7CisrfQorKworK3ZvaWQK KytuYXV0aWx1c19tb2R1bGVfaW5pdGlhbGl6ZSAoR1R5cGVNb2R1bGUgKm1vZHVsZSkKKyt7Cisr ICAgICAgICBuYXV0aWx1c19zaGFyZV9yZWdpc3Rlcl90eXBlIChtb2R1bGUpOworKyAgICAgICAg YmluZHRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSwgR05PTUVMT0NBTEVESVIpOworKyAgICAg ICAgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQgKEdFVFRFWFRfUEFDS0FHRSwgIlVURi04Iik7Cisr fQorKworK3ZvaWQKKytuYXV0aWx1c19tb2R1bGVfc2h1dGRvd24gKHZvaWQpCisreworK30KKysK Kyt2b2lkCisrbmF1dGlsdXNfbW9kdWxlX2xpc3RfdHlwZXMgKGNvbnN0IEdUeXBlICoqdHlwZXMs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAqbnVtX3R5cGVzKQor K3sKKysgICAgICAgIHN0YXRpYyBHVHlwZSB0eXBlX2xpc3QgWzFdOworKworKyAgICAgICAgdHlw ZV9saXN0WzBdID0gTkFVVElMVVNfVFlQRV9TSEFSRTsKKysKKysgICAgICAgICp0eXBlcyA9IHR5 cGVfbGlzdDsKKysgICAgICAgICpudW1fdHlwZXMgPSAxOworK30KKy0tIAorMS42LjIuNQorCgpk aWZmIC0tZ2l0IGEvZ25vbWUtdXNlci1zaGFyZS5zcGVjIGIvZ25vbWUtdXNlci1zaGFyZS5zcGVj CmluZGV4IGZlNDE5YTYuLjZmNjU3NDUgMTAwNjQ0Ci0tLSBhL2dub21lLXVzZXItc2hhcmUuc3Bl YworKysgYi9nbm9tZS11c2VyLXNoYXJlLnNwZWMKQEAgLTEsNyArMSw3IEBACiBTdW1tYXJ5OiBH bm9tZSB1c2VyIGZpbGUgc2hhcmluZwogTmFtZTogZ25vbWUtdXNlci1zaGFyZQogVmVyc2lvbjog Mi4yNy4wCi1SZWxlYXNlOiAyJXs/ZGlzdH0KK1JlbGVhc2U6IDMlez9kaXN0fQogTGljZW5zZTog R1BMdjIrCiBHcm91cDogU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwogVVJMOiBodHRwOi8v d3d3Lmdub21lLm9yZwpAQCAtMTAsNiArMTAsOSBAQCBTb3VyY2UwOiBodHRwOi8vZG93bmxvYWQu Z25vbWUub3JnL3NvdXJjZXMvZ25vbWUtdXNlci1zaGFyZS8yLjI3LyV7bmFtZX0tJXt2ZXJzaQog UGF0Y2gwOiBtZW51LXBhdGgucGF0Y2gKICMgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9NTk0MjUyCiBQYXRjaDE6IDAwMDEtQnVnLTU5NDI1Mi1XZWJEQVYtc2hhcmUt bmFtZS11bnRyYXNsYXRlZC1hdC1ydW50aS5wYXRjaAorIyBodHRwOi8vYnVnemlsbGEuZ25vbWUu b3JnL3Nob3dfYnVnLmNnaT9pZD01NTgyNDQKK1BhdGNoMjogMDAwMS1CdWctNTU4MjQ0LUVuYWJs aW5nLWdub21lLXVzZXItc2hhcmUtcmVxdWlyZXMtY2hhLnBhdGNoCitCdWlsZFJlcXVpcmVzOiBp bnRsdG9vbCBhdXRvbWFrZSBhdXRvY29uZgogCiBCdWlsZFJvb3Q6ICV7X3RtcHBhdGh9LyV7bmFt ZX0tJXt2ZXJzaW9ufS0le3JlbGVhc2V9LXJvb3QtJSgle19faWRfdX0gLW4pCiBSZXF1aXJlczog aHR0cGQgPj0gMi4yLjAKQEAgLTUwLDYgKzUzLDkgQEAgVGhlIHByb2dyYW0gYWxzbyBhbGxvd3Mg dG8gc2hhcmUgZmlsZXMgdXNpbmcgT2JleEZUUCBvdmVyIEJsdWV0b290aC4KICVzZXR1cCAtcQog JXBhdGNoMCAtcDEgLWIgLm1lbnUtcGF0aAogJXBhdGNoMSAtcDEgLWIgLmkxOG4KKyVwYXRjaDIg LXAxIC1iIC5jbHVlYmFyCisKK2F1dG9yZWNvbmYgLWYgLWkKIAogJWJ1aWxkCiAlY29uZmlndXJl CkBAIC0xMjcsNiArMTMzLDkgQEAgZmkKICV7X2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvKi9hcHBz L2dub21lLW9iZXgtc2VydmVyLnBuZwogCiAlY2hhbmdlbG9nCisqIFR1ZSBTZXAgMDggMjAwOSBC YXN0aWVuIE5vY2VyYSA8Ym5vY2VyYUByZWRoYXQuY29tPiAyLjI3LjAtMworLSBBZGQgYSBjbHVl YmFyIHRvIGhhdmUgZWFzeSBhY2Nlc3MgdG8gdGhlIGZpbGUgc2hhcmluZyBwcmVmZXJlbmNlcwor CiAqIE1vbiBTZXAgMDcgMjAwOSBCYXN0aWVuIE5vY2VyYSA8Ym5vY2VyYUByZWRoYXQuY29tPiAy LjI3LjAtMgogLSBJbml0IGkxOG4gc3lzdGVtIGZvciBnbm9tZS11c2VyLXNoYXJlCiAK