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: Petr Lautrbach To: git-commits@fedoraproject.org Subject: [rpms/libsemanage] f45: Optionally sort file_contexts.local by specificity Date: Wed, 09 Sep 2026 08:25:55 GMT Message-ID: <178894235534.1.2386929861029057545.rpms-libsemanage-aecb61672ec8@fedoraproject.org> List-ID: X-Git-Repo: rpms/libsemanage X-Git-Branch: f45 X-Git-Rev: aecb61672ec87c4a3ffb2ca1b2bd39d9fe519ff6 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGlic2VtYW5hZ2UK QnJhbmNoIDogZjQ1CkNvbW1pdCA6IGFlY2I2MTY3MmVjODdjNGEzZmZiMmNhMWIyYmQzOWQ5ZmU1 MTlmZjYKQXV0aG9yIDogUGV0ciBMYXV0cmJhY2ggPGxhdXRyYmFjaEByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDI2LTA5LTA4VDEwOjAxOjUyKzAyOjAwClN0YXRzICA6ICszMTYvLTcgaW4gNCBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvbGlic2VtYW5h Z2UvYy9hZWNiNjE2NzJlYzg3YzRhM2ZmYjJjYTFiMmJkMzlkOWZlNTE5ZmY2P2JyYW5jaD1mNDUK CkxvZzoKT3B0aW9uYWxseSBzb3J0IGZpbGVfY29udGV4dHMubG9jYWwgYnkgc3BlY2lmaWNpdHkK Ci0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1saWJzZW1hbmFnZS1vcHRpb25hbGx5LXNvcnQtZmlsZV9j b250ZXh0cy5sb2NhbC1ieS1zLnBhdGNoIGIvMDAwMS1saWJzZW1hbmFnZS1vcHRpb25hbGx5LXNv cnQtZmlsZV9jb250ZXh0cy5sb2NhbC1ieS1zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjQ0YzY2ZDYKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLWxpYnNlbWFuYWdl LW9wdGlvbmFsbHktc29ydC1maWxlX2NvbnRleHRzLmxvY2FsLWJ5LXMucGF0Y2gKQEAgLTAsMCAr MSwyNTggQEAKK0Zyb20gODk0MWE0N2M3ODhkOTc0ZjI4NGFkM2FkMDNiMTZiMGI1M2Y2ZjM3ZiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoZW4gU21hbGxleSA8c3RlcGhlbi5z bWFsbGV5LndvcmtAZ21haWwuY29tPgorRGF0ZTogVGh1LCAzIFNlcCAyMDI2IDA3OjU5OjI4IC0w NDAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYnNlbWFuYWdlOiBvcHRpb25hbGx5IHNvcnQgZmlsZV9j b250ZXh0cy5sb2NhbCBieQorIHNwZWNpZmljaXR5CitDb250ZW50LXR5cGU6IHRleHQvcGxhaW4K KworVGhlIHBvbGljeS1zdXBwbGllZCBmaWxlX2NvbnRleHRzIGlzIGVtaXR0ZWQgYnkgdGhlIENJ TCBjb21waWxlciBpbgorbGVhc3QtdG8tbW9zdC1zcGVjaWZpYyBvcmRlciAoY2lsX3Bvc3RfZmls ZWNvbl9jb21wYXJlKCkpIHNvIHRoYXQgdGhlCitsaWJzZWxpbnV4IGxhYmVsX2ZpbGUgYmFja2Vu ZCwgd2hpY2ggcmV0dXJucyBsYXN0IG1hdGNoaW5nIHNwZWMsIHBpY2tzCit0aGUgbW9zdCBzcGVj aWZpYyBtYXRjaC4gZmlsZV9jb250ZXh0cy5sb2NhbCBpcyB3cml0dGVuIGJ5IGxpYnNlbWFuYWdl CitpbiB0aGUgb3JkZXIgdGhlIGVudHJpZXJzIHdlcmUgYWRkZWQgd2l0aCBzZW1hbmFnZSBmY29u dGV4dCAtYSwgc28gYQorYnJvYWQgZW50cnkgYWRkZWQgYWZ0ZXIgYSBuYXJyb3cgb25lIG92ZXJy aWRlcyBpdCwgYW5kIGNhbGxlcnMgY2Fubm90CityZWx5IG9uICJtb3N0IHNwZWNpZmljIHdpbnMi IGZvciBsb2NhbCBjdXN0b21pemF0aW9ucy4KKworQWRkIGEgc2VtYW5hZ2UuY29uZiBzb3J0LWxv Y2FsLWZjb250ZXh0cyBib29sZWFuLiBXaGVuIHNldCB0byB0cnVlLAordGhlIGNvcHkgb2YgZmls ZV9jb250ZXh0cy5sb2NhbCBpbnN0YWxsZWQgdG8gdGhlIHBvbGljeSBkaXJlY3RvcnkgaXMKK3J1 biB0aHJvdWdoIHNlbWFuYWdlX2ZjX3NvcnQoKSwgd2hpY2ggdXNlcyB0aGUgc2FtZSBoZXVyaXN0 aWNzIGFzCitjaWxfcG9zdF9maWxlY29uX2NvbXBhcmUoKSwgd2l0aCBlcXVhbGx5LXNwZWNpZmlj IGVudHJpZXMgcmV0YWluaW5nCit0aGVpciBpbnNlcnRpb24gb3JkZXIuIFRoZSBtb2R1bGUgc3Rv cmUgY29weSBpcyBsZWZ0IGluIGluc2VydGlvbgorb3JkZXIsIHNvIHNlbWFuYWdlIGZjb250ZXh0 IC1sIC1DIHN0aWxsIHNob3dzIGVudHJpZXMgYXMgdGhleSB3ZXJlCithZGRlZC4KKworRml4ZXM6 IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9Njc4NTc3CitGaXhl czogaHR0cHM6Ly9naXRodWIuY29tL1NFTGludXhQcm9qZWN0L3NlbGludXgvaXNzdWVzLzQwCitT aWduZWQtb2ZmLWJ5OiBTdGVwaGVuIFNtYWxsZXkgPHN0ZXBoZW4uc21hbGxleS53b3JrQGdtYWls LmNvbT4KKy0tLQorIGxpYnNlbWFuYWdlL21hbi9tYW41L3NlbWFuYWdlLmNvbmYuNSB8IDEzICsr KysrKworIGxpYnNlbWFuYWdlL3NyYy9jb25mLXBhcnNlLnkgICAgICAgICB8IDE1ICsrKysrLQor IGxpYnNlbWFuYWdlL3NyYy9jb25mLXNjYW4ubCAgICAgICAgICB8ICAxICsKKyBsaWJzZW1hbmFn ZS9zcmMvZGlyZWN0X2FwaS5jICAgICAgICAgfCAxOSArKysrKystLQorIGxpYnNlbWFuYWdlL3Ny Yy9zZW1hbmFnZV9jb25mLmggICAgICB8ICAxICsKKyBsaWJzZW1hbmFnZS9zcmMvc2VtYW5hZ2Vf c3RvcmUuYyAgICAgfCA3MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgbGlic2VtYW5h Z2Uvc3JjL3NlbWFuYWdlX3N0b3JlLmggICAgIHwgIDIgKworIDcgZmlsZXMgY2hhbmdlZCwgMTE2 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJzZW1hbmFn ZS9tYW4vbWFuNS9zZW1hbmFnZS5jb25mLjUgYi9saWJzZW1hbmFnZS9tYW4vbWFuNS9zZW1hbmFn ZS5jb25mLjUKK2luZGV4IDc0ZjBkMzRmZTE3Yy4uMzM2ZTAyZDA5NjkyIDEwMDY0NAorLS0tIGEv bGlic2VtYW5hZ2UvbWFuL21hbjUvc2VtYW5hZ2UuY29uZi41CisrKysgYi9saWJzZW1hbmFnZS9t YW4vbWFuNS9zZW1hbmFnZS5jb25mLjUKK0BAIC0xMzEsNiArMTMxLDE5IEBAIEl0IGNhbiBiZSBz ZXQgdG8gZWl0aGVyICJ0cnVlIiBvciAiZmFsc2UiIGFuZCBieSBkZWZhdWx0IGl0IGlzIHNldCB0 byAidHJ1ZSIuCisgV2hlbiBzZXQgdG8gInRydWUiLCBkdXBsaWNhdGUgdHlwZSwgdHlwZSBhdHRy aWJ1dGUsIGFuZCByb2xlIGRlY2xhcmF0aW9ucyB3aWxsIGJlIGFsbG93ZWQuCisgSXQgY2FuIGJl IHNldCB0byBlaXRoZXIgInRydWUiIG9yICJmYWxzZSIgYW5kIGJ5IGRlZmF1bHQgaXQgaXMgc2V0 IHRvICJ0cnVlIi4KKyAKKysuVFAKKysuQiBzb3J0LWxvY2FsLWZjb250ZXh0cworK1doZW4gc2V0 IHRvICJ0cnVlIiwgdGhlIGluc3RhbGxlZAorKy5JIGZpbGVfY29udGV4dHMubG9jYWwKKytmaWxl IGlzIHNvcnRlZCBmcm9tIGxlYXN0IHRvIG1vc3Qgc3BlY2lmaWMgdXNpbmcgdGhlIHNhbWUgaGV1 cmlzdGljIGFzIHRoZSBwb2xpY3ktc3VwcGxpZWQKKysuSVIgZmlsZV9jb250ZXh0cyAsCisrc28g dGhlIG1vc3Qgc3BlY2lmaWMgbG9jYWwgZW50cnkgd2lucyByZWdhcmRsZXNzIG9mIHRoZSBvcmRl ciB0aGUgZW50cmllcyB3ZXJlIGFkZGVkIHdpdGgKKysuQlIgInNlbWFuYWdlIGZjb250ZXh0IFwt YSIgLgorK1RoZSBtb2R1bGUgc3RvcmUgY29weSAoYW5kIHRodXMKKysuQlIgInNlbWFuYWdlIGZj b250ZXh0IFwtbCBcLUMiICkKKytpcyB1bmFmZmVjdGVkLgorK0l0IGNhbiBiZSBzZXQgdG8gZWl0 aGVyICJ0cnVlIiBvciAiZmFsc2UiIGFuZCBieSBkZWZhdWx0IGl0IGlzIHNldCB0byAiZmFsc2Ui LCBwcmVzZXJ2aW5nIGluc2VydGlvbi1vcmRlciBtYXRjaGluZy4KKysKKyAuUkUKKyAuUFAKKyBG b3IgY2VydGFpbiB0YXNrcyB0aGUgU0VMaW51eCBNYW5hZ2VtZW50IGxpYnJhcnkgcmVzb3J0cyB0 byBydW5uaW5nCitkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc3JjL2NvbmYtcGFyc2UueSBiL2xp YnNlbWFuYWdlL3NyYy9jb25mLXBhcnNlLnkKK2luZGV4IGRlZTE3YjJmYmJiYy4uYmE3NWExZWNm YzhkIDEwMDY0NAorLS0tIGEvbGlic2VtYW5hZ2Uvc3JjL2NvbmYtcGFyc2UueQorKysrIGIvbGli c2VtYW5hZ2Uvc3JjL2NvbmYtcGFyc2UueQorQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIGludCBw YXJzZV9lcnJvcnM7CisgICAgICAgICBjaGFyICpzOworIH0KKyAKKy0ldG9rZW4gTU9EVUxFX1NU T1JFIFZFUlNJT04gRVhQQU5EX0NIRUNLIEZJTEVfTU9ERSBTQVZFX1BSRVZJT1VTIFNBVkVfTElO S0VEIFRBUkdFVF9QTEFURk9STSBDT01QSUxFUl9ESVIgSUdOT1JFX01PRFVMRV9DQUNIRSBTVE9S RV9ST09UIE9QVElNSVpFX1BPTElDWSBNVUxUSVBMRV9ERUNMUworKyV0b2tlbiBNT0RVTEVfU1RP UkUgVkVSU0lPTiBFWFBBTkRfQ0hFQ0sgRklMRV9NT0RFIFNBVkVfUFJFVklPVVMgU0FWRV9MSU5L RUQgVEFSR0VUX1BMQVRGT1JNIENPTVBJTEVSX0RJUiBJR05PUkVfTU9EVUxFX0NBQ0hFIFNUT1JF X1JPT1QgT1BUSU1JWkVfUE9MSUNZIE1VTFRJUExFX0RFQ0xTIFNPUlRfTE9DQUxfRkNPTlRFWFRT CisgJXRva2VuIExPQURfUE9MSUNZX1NUQVJUIFNFVEZJTEVTX1NUQVJUIFNFRkNPTlRFWFRfQ09N UElMRV9TVEFSVCBESVNBQkxFX0dFTkhPTUVESVJDT04gSEFORExFX1VOS05PV04gVVNFUEFTU1dE IElHTk9SRURJUlMKKyAldG9rZW4gQlpJUF9CTE9DS1NJWkUgQlpJUF9TTUFMTCBSRUxBQkVMX1NU T1JFIFJFTU9WRV9ITEwKKyAldG9rZW4gVkVSSUZZX01PRF9TVEFSVCBWRVJJRllfTElOS0VEX1NU QVJUIFZFUklGWV9LRVJORUxfU1RBUlQgQkxPQ0tfRU5ECitAQCAtMTAxLDYgKzEwMSw3IEBAIHNp bmdsZV9vcHQ6ICAgICBtb2R1bGVfc3RvcmUKKyAJfAlyZWxhYmVsX3N0b3JlCisgCXwJb3B0aW1p emVfcG9saWN5CisgCXwJbXVsdGlwbGVfZGVjbHMKKysgICAgICAgIHwgICAgICAgc29ydF9sb2Nh bF9mY29udGV4dHMKKyAgICAgICAgIDsKKyAKKyBtb2R1bGVfc3RvcmU6ICAgTU9EVUxFX1NUT1JF ICc9JyBBUkcgeworQEAgLTMyOSw2ICszMzAsMTcgQEAgbXVsdGlwbGVfZGVjbHM6ICBNVUxUSVBM RV9ERUNMUyAnPScgQVJHIHsKKyAJZnJlZSgkMyk7CisgfQorIAorK3NvcnRfbG9jYWxfZmNvbnRl eHRzOiBTT1JUX0xPQ0FMX0ZDT05URVhUUyAnPScgQVJHIHsKKysJaWYgKHN0cmNhc2VjbXAoJDMs ICJmYWxzZSIpID09IDApIHsKKysJCWN1cnJlbnRfY29uZi0+c29ydF9sb2NhbF9mY29udGV4dHMg PSBmYWxzZTsKKysJfSBlbHNlIGlmIChzdHJjYXNlY21wKCQzLCAidHJ1ZSIpID09IDApIHsKKysJ CWN1cnJlbnRfY29uZi0+c29ydF9sb2NhbF9mY29udGV4dHMgPSB0cnVlOworKwl9IGVsc2Ugewor KwkJeXllcnJvcigic29ydC1sb2NhbC1mY29udGV4dHMgY2FuIG9ubHkgYmUgJ3RydWUnIG9yICdm YWxzZSciKTsKKysJfQorKwlmcmVlKCQzKTsKKyt9CisrCisgY29tbWFuZF9ibG9jazoKKyAgICAg ICAgICAgICAgICAgY29tbWFuZF9zdGFydCBleHRlcm5hbF9vcHRzIEJMT0NLX0VORCAgeworICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdfZXh0ZXJuYWwtPnBhdGggPT0gTlVMTCkgewor QEAgLTQyNSw2ICs0MzcsNyBAQCBzdGF0aWMgaW50IHNlbWFuYWdlX2NvbmZfaW5pdChzZW1hbmFn ZV9jb25mX3QgKiBjb25mKQorIAljb25mLT5yZWxhYmVsX3N0b3JlID0gdHJ1ZTsKKyAJY29uZi0+ b3B0aW1pemVfcG9saWN5ID0gdHJ1ZTsKKyAJY29uZi0+bXVsdGlwbGVfZGVjbHMgPSB0cnVlOwor Kwljb25mLT5zb3J0X2xvY2FsX2Zjb250ZXh0cyA9IGZhbHNlOworIAorIAljb25mLT5zYXZlX3By ZXZpb3VzID0gZmFsc2U7CisgCWNvbmYtPnNhdmVfbGlua2VkID0gZmFsc2U7CitkaWZmIC0tZ2l0 IGEvbGlic2VtYW5hZ2Uvc3JjL2NvbmYtc2Nhbi5sIGIvbGlic2VtYW5hZ2Uvc3JjL2NvbmYtc2Nh bi5sCitpbmRleCBjNTkyZmI2Mzg3YTEuLjhkMWQ1NmFjMzNmMyAxMDA2NDQKKy0tLSBhL2xpYnNl bWFuYWdlL3NyYy9jb25mLXNjYW4ubAorKysrIGIvbGlic2VtYW5hZ2Uvc3JjL2NvbmYtc2Nhbi5s CitAQCAtNTcsNiArNTcsNyBAQCByZW1vdmUtaGxsCXJldHVybiBSRU1PVkVfSExMOworIHJlbGFi ZWxfc3RvcmUJcmV0dXJuIFJFTEFCRUxfU1RPUkU7Cisgb3B0aW1pemUtcG9saWN5IHJldHVybiBP UFRJTUlaRV9QT0xJQ1k7CisgbXVsdGlwbGUtZGVjbHMgcmV0dXJuIE1VTFRJUExFX0RFQ0xTOwor K3NvcnQtbG9jYWwtZmNvbnRleHRzIHJldHVybiBTT1JUX0xPQ0FMX0ZDT05URVhUUzsKKyAiW2xv YWRfcG9saWN5XSIgICByZXR1cm4gTE9BRF9QT0xJQ1lfU1RBUlQ7CisgIltzZXRmaWxlc10iICAg ICAgcmV0dXJuIFNFVEZJTEVTX1NUQVJUOworICJbc2VmY29udGV4dF9jb21waWxlXSIgICAgICBy ZXR1cm4gU0VGQ09OVEVYVF9DT01QSUxFX1NUQVJUOworZGlmZiAtLWdpdCBhL2xpYnNlbWFuYWdl L3NyYy9kaXJlY3RfYXBpLmMgYi9saWJzZW1hbmFnZS9zcmMvZGlyZWN0X2FwaS5jCitpbmRleCA5 NTcyZGJmMDU5ODIuLjM3ZWExY2QyM2M5OCAxMDA2NDQKKy0tLSBhL2xpYnNlbWFuYWdlL3NyYy9k aXJlY3RfYXBpLmMKKysrKyBiL2xpYnNlbWFuYWdlL3NyYy9kaXJlY3RfYXBpLmMKK0BAIC0xNjA3 LDEwICsxNjA3LDIxIEBAIHN0YXRpYyBpbnQgc2VtYW5hZ2VfZGlyZWN0X2NvbW1pdChzZW1hbmFn ZV9oYW5kbGVfdCAqc2gpCisgCQlnb3RvIGNsZWFudXA7CisgCX0KKyAKKy0JcmV0dmFsID0gY29w eV9maWxlX2lmX2V4aXN0cygKKy0JCXNoLCBzZW1hbmFnZV9wYXRoKFNFTUFOQUdFX1RNUCwgU0VN QU5BR0VfU1RPUkVfRkNfTE9DQUwpLAorLQkJc2VtYW5hZ2VfZmluYWxfcGF0aChTRU1BTkFHRV9G SU5BTF9UTVAsIFNFTUFOQUdFX0ZDX0xPQ0FMKSwKKy0JCXNoLT5jb25mLT5maWxlX21vZGUpOwor KwlpZiAoc2gtPmNvbmYtPnNvcnRfbG9jYWxfZmNvbnRleHRzKSB7CisrCQlyZXR2YWwgPSBzZW1h bmFnZV9zb3J0X2ZjX2ZpbGUoCisrCQkJc2gsCisrCQkJc2VtYW5hZ2VfcGF0aChTRU1BTkFHRV9U TVAsIFNFTUFOQUdFX1NUT1JFX0ZDX0xPQ0FMKSwKKysJCQlzZW1hbmFnZV9maW5hbF9wYXRoKFNF TUFOQUdFX0ZJTkFMX1RNUCwKKysJCQkJCSAgICBTRU1BTkFHRV9GQ19MT0NBTCksCisrCQkJc2gt PmNvbmYtPmZpbGVfbW9kZSk7CisrCX0gZWxzZSB7CisrCQlyZXR2YWwgPSBjb3B5X2ZpbGVfaWZf ZXhpc3RzKAorKwkJCXNoLAorKwkJCXNlbWFuYWdlX3BhdGgoU0VNQU5BR0VfVE1QLCBTRU1BTkFH RV9TVE9SRV9GQ19MT0NBTCksCisrCQkJc2VtYW5hZ2VfZmluYWxfcGF0aChTRU1BTkFHRV9GSU5B TF9UTVAsCisrCQkJCQkgICAgU0VNQU5BR0VfRkNfTE9DQUwpLAorKwkJCXNoLT5jb25mLT5maWxl X21vZGUpOworKwl9CisgCWlmIChyZXR2YWwgPCAwKSB7CisgCQlnb3RvIGNsZWFudXA7CisgCX0K K2RpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zcmMvc2VtYW5hZ2VfY29uZi5oIGIvbGlic2VtYW5h Z2Uvc3JjL3NlbWFuYWdlX2NvbmYuaAoraW5kZXggNWEyNGVhODcwMjZkLi5kODU0NGRjOTA4ZjUg MTAwNjQ0CistLS0gYS9saWJzZW1hbmFnZS9zcmMvc2VtYW5hZ2VfY29uZi5oCisrKysgYi9saWJz ZW1hbmFnZS9zcmMvc2VtYW5hZ2VfY29uZi5oCitAQCAtNTEsNiArNTEsNyBAQCB0eXBlZGVmIHN0 cnVjdCBzZW1hbmFnZV9jb25mIHsKKyAJYm9vbCBvcHRpbWl6ZV9wb2xpY3k7CisgCWJvb2wgbXVs dGlwbGVfZGVjbHM7CisgCWJvb2wgcmVsYWJlbF9zdG9yZTsKKysJYm9vbCBzb3J0X2xvY2FsX2Zj b250ZXh0czsKKyAJY2hhciAqaWdub3JlZGlyczsgLyogIjsiIHNlcGFyYXRlZCBvZiBsaXN0IGZv ciBnZW5ob21lZGlyY29uIHRvIGlnbm9yZSAqLworIAlzdHJ1Y3QgZXh0ZXJuYWxfcHJvZyAqbG9h ZF9wb2xpY3k7CisgCXN0cnVjdCBleHRlcm5hbF9wcm9nICpzZXRmaWxlczsKK2RpZmYgLS1naXQg YS9saWJzZW1hbmFnZS9zcmMvc2VtYW5hZ2Vfc3RvcmUuYyBiL2xpYnNlbWFuYWdlL3NyYy9zZW1h bmFnZV9zdG9yZS5jCitpbmRleCBmMTRlYmU5N2VjZjYuLmQ2ZjU2YTgyNzk1ZCAxMDA2NDQKKy0t LSBhL2xpYnNlbWFuYWdlL3NyYy9zZW1hbmFnZV9zdG9yZS5jCisrKysgYi9saWJzZW1hbmFnZS9z cmMvc2VtYW5hZ2Vfc3RvcmUuYworQEAgLTE2MDQsNiArMTYwNCw3NiBAQCBjbGVhbnVwOgorIAly ZXR1cm4gcmV0dmFsOworIH0KKyAKKysvKgorKyAqIFJlYWQgZmlsZS1jb250ZXh0IHNwZWNpZmlj YXRpb25zIGZyb20gQHNyYywgc29ydCB0aGVtIGZyb20gbGVhc3QKKysgKiB0byBtb3N0IHNwZWNp ZmljIHVzaW5nIHRoZSBzYW1lIGhldXJpc3RpYyBhcyB0aGUgcG9saWN5LXN1cHBsaWVkCisrICog ZmlsZV9jb250ZXh0cyAoc2VlIHNlbWFuYWdlX2ZjX2NvbXBhcmUoKSksIGFuZCB3cml0ZSB0aGUg cmVzdWx0IHRvCisrICogQGRzdC4gQ29tbWVudHMgaW4gQHNyYyBhcmUgZHJvcHBlZDsgdGhlIGF1 dG8tZ2VuZXJhdGVkIGhlYWRlciBpcworKyAqIHJlLWVtaXR0ZWQuIEEgbWlzc2luZyBAc3JjIGlz IG5vdCBhbiBlcnJvci4KKysgKi8KKytpbnQgc2VtYW5hZ2Vfc29ydF9mY19maWxlKHNlbWFuYWdl X2hhbmRsZV90ICpzaCwgY29uc3QgY2hhciAqc3JjLAorKwkJCSAgY29uc3QgY2hhciAqZHN0LCBt b2RlX3QgbW9kZSkKKyt7CisrCWNvbnN0IGNoYXIgKmhlYWRlciA9ICIjIFRoaXMgZmlsZSBpcyBh dXRvLWdlbmVyYXRlZCBieSBsaWJzZW1hbmFnZVxuIgorKwkJCSAgICAgIiMgRG8gbm90IGVkaXQg ZGlyZWN0bHkuXG5cbiI7CisrCXN0cnVjdCBmaWxlX2NvbnRlbnRzIGNvbnRlbnRzID0ge307Cisr CWNoYXIgKnNvcnRlZCA9IE5VTEw7CisrCXNpemVfdCBzb3J0ZWRfbGVuID0gMDsKKysJaW50IG91 dCA9IC0xLCByZXR2YWwgPSAtMTsKKysJbW9kZV90IG1hc2s7CisrCisrCWlmIChhY2Nlc3Moc3Jj LCBGX09LKSAhPSAwKQorKwkJcmV0dXJuIChlcnJubyA9PSBFTk9FTlQpID8gMCA6IC0xOworKwor KwlpZiAobWFwX2NvbXByZXNzZWRfZmlsZShzaCwgc3JjLCAmY29udGVudHMpIDwgMCkgeworKwkJ RVJSKHNoLCAiQ291bGQgbm90IHJlYWQgJXMuIiwgc3JjKTsKKysJCXJldHVybiAtMTsKKysJfQor KworKwlpZiAoY29udGVudHMubGVuID4gMCAmJgorKwkgICAgc2VtYW5hZ2VfZmNfc29ydChzaCwg Y29udGVudHMuZGF0YSwgY29udGVudHMubGVuLCAmc29ydGVkLAorKwkJCSAgICAgJnNvcnRlZF9s ZW4pIDwgMCkgeworKwkJRVJSKHNoLCAiQ291bGQgbm90IHNvcnQgZmlsZSBjb250ZXh0cyBmcm9t ICVzLiIsIHNyYyk7CisrCQlnb3RvIGNsZWFudXA7CisrCX0KKysKKysJaWYgKCFtb2RlKQorKwkJ bW9kZSA9IFNfSVJVU1IgfCBTX0lXVVNSOworKwltYXNrID0gdW1hc2soMCk7CisrCW91dCA9IG9w ZW4oZHN0LCBPX1dST05MWSB8IE9fQ1JFQVQgfCBPX1RSVU5DIHwgT19DTE9FWEVDLCBtb2RlKTsK KysJdW1hc2sobWFzayk7CisrCWlmIChvdXQgPCAwKSB7CisrCQlFUlIoc2gsICJDb3VsZCBub3Qg b3BlbiAlcyBmb3Igd3JpdGluZy4iLCBkc3QpOworKwkJZ290byBjbGVhbnVwOworKwl9CisrCWlm ICh3cml0ZV9mdWxsKG91dCwgaGVhZGVyLCBzdHJsZW4oaGVhZGVyKSkgPCAwKSB7CisrCQlFUlIo c2gsICJXcml0ZSB0byAlcyBmYWlsZWQuIiwgZHN0KTsKKysJCWdvdG8gY2xlYW51cDsKKysJfQor KworKwlpZiAoc29ydGVkICYmIHNvcnRlZF9sZW4gPiAxICYmCisrCSAgICB3cml0ZV9mdWxsKG91 dCwgc29ydGVkLCBzb3J0ZWRfbGVuIC0gMSkgPCAwKSB7CisrCQlFUlIoc2gsICJXcml0ZSB0byAl cyBmYWlsZWQuIiwgZHN0KTsKKysJCWdvdG8gY2xlYW51cDsKKysJfQorKworKwlpZiAoY2xvc2Uo b3V0KSA8IDAgJiYgZXJybm8gIT0gRUlOVFIpIHsKKysJCW91dCA9IC0xOworKwkJZ290byBjbGVh bnVwOworKwl9CisrCW91dCA9IC0xOworKworKwlzZW1hbmFnZV9zZXRmaWxlcyhzaCwgZHN0KTsK KysJcmV0dmFsID0gMDsKKysKKytjbGVhbnVwOgorKwlpZiAob3V0ID49IDApCisrCQljbG9zZShv dXQpOworKwlmcmVlKHNvcnRlZCk7CisrCXVubWFwX2NvbXByZXNzZWRfZmlsZSgmY29udGVudHMp OworKwlyZXR1cm4gcmV0dmFsOworK30KKysKKyBzdGF0aWMgaW50IHNlZmNvbnRleHRfY29tcGls ZShzZW1hbmFnZV9oYW5kbGVfdCAqc2gsIGNvbnN0IGNoYXIgKnBhdGgpCisgeworIAlpbnQgcjsK K2RpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zcmMvc2VtYW5hZ2Vfc3RvcmUuaCBiL2xpYnNlbWFu YWdlL3NyYy9zZW1hbmFnZV9zdG9yZS5oCitpbmRleCA4NmFlMDkzNjUyZjIuLjM0ODA1OTUxMjdh OSAxMDA2NDQKKy0tLSBhL2xpYnNlbWFuYWdlL3NyYy9zZW1hbmFnZV9zdG9yZS5oCisrKysgYi9s aWJzZW1hbmFnZS9zcmMvc2VtYW5hZ2Vfc3RvcmUuaAorQEAgLTE1Niw2ICsxNTYsOCBAQCBpbnQg c2VtYW5hZ2Vfc3BsaXRfZmMoc2VtYW5hZ2VfaGFuZGxlX3QgKnNoKTsKKyAvKiBzb3J0IGZpbGUg Y29udGV4dCByb3V0aW5lcyAqLworIGludCBzZW1hbmFnZV9mY19zb3J0KHNlbWFuYWdlX2hhbmRs ZV90ICpzaCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgYnVmX2xlbiwKKyAJCSAgICAgY2hhciAq KnNvcnRlZF9idWYsIHNpemVfdCAqc29ydGVkX2J1Zl9sZW4pOworK2ludCBzZW1hbmFnZV9zb3J0 X2ZjX2ZpbGUoc2VtYW5hZ2VfaGFuZGxlX3QgKnNoLCBjb25zdCBjaGFyICpzcmMsCisrCQkJICBj b25zdCBjaGFyICpkc3QsIG1vZGVfdCBtb2RlKTsKKyAKKyAvKiBzb3J0IG5ldGZpbHRlciBjb250 ZXh0IHJvdXRpbmVzICovCisgaW50IHNlbWFuYWdlX25jX3NvcnQoc2VtYW5hZ2VfaGFuZGxlX3Qg KnNoLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBidWZfbGVuLAorLS0gCisyLjU1LjAKKwoKZGlm ZiAtLWdpdCBhLzAwMDItbGlic2VtYW5hZ2UtZ2VuaG9tZWRpcmNvbi1yZWplY3QtdXNlcnMtd2l0 aC1hLXJlbGF0aS5wYXRjaCBiLzAwMDItbGlic2VtYW5hZ2UtZ2VuaG9tZWRpcmNvbi1yZWplY3Qt dXNlcnMtd2l0aC1hLXJlbGF0aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi44N2ZhNzkwCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1saWJzZW1hbmFnZS1nZW5ob21l ZGlyY29uLXJlamVjdC11c2Vycy13aXRoLWEtcmVsYXRpLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAK K0Zyb20gZWQzMDAxZTI5ZjY2Y2U2M2NjZGJkMjE0MjBjMTQ0NzUyMmZlMmY4MyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IFZpdCBNb2p6aXMgPHZtb2p6aXNAcmVkaGF0LmNvbT4KK0Rh dGU6IFdlZCwgMiBTZXAgMjAyNiAxMzozODoyOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBsaWJz ZW1hbmFnZS9nZW5ob21lZGlyY29uOiByZWplY3QgdXNlcnMgd2l0aCBhIHJlbGF0aXZlIGhvbWUK KyBkaXJlY3RvcnkKK0NvbnRlbnQtdHlwZTogdGV4dC9wbGFpbgorCitJZiBhIHVzZXIncyBob21l IGRpcmVjdG9yeSBpbiB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgaXMgZW1wdHkgb3IKK290aGVyd2lz ZSBkb2VzIG5vdCBzdGFydCB3aXRoICIvIiAoZS5nLiBiZWNhdXNlIG9mIGEgYnJva2VuIE5TUyBs b29rdXAKK29yIGEgbWFsZm9ybWVkIHBhc3N3ZCBlbnRyeSksIHRoZSBIT01FX0RJUiB0ZW1wbGF0 ZSBlbmRzIHVwIGJlaW5nIHR1cm5lZAoraW50byBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdWNoIGFz ICIvLisiLCB3aGljaCBtYXRjaGVzIGFueSBwYXRoIG9uIHRoZQorZmlsZXN5c3RlbS4gVGhpcyBj YXVzZXMgZ2VuaG9tZWRpcmNvbiB0byBnZW5lcmF0ZSBhIGZpbGUgY29udGV4dCB0aGF0CityZWxh YmVscyBmYXIgbW9yZSBvZiB0aGUgZmlsZXN5c3RlbSB0aGFuIGludGVuZGVkLiBTa2lwIHN1Y2gg dXNlcnMKK2luc3RlYWQgb2YgdXNpbmcgdGhlaXIgaG9tZSBkaXJlY3RvcnkgdG8gYnVpbGQgdGhl IHJlZ2V4LgorCitTaWduZWQtb2ZmLWJ5OiBWaXQgTW9qemlzIDx2bW9qemlzQHJlZGhhdC5jb20+ CitBY2tlZC1ieTogU3RlcGhlbiBTbWFsbGV5IDxzdGVwaGVuLnNtYWxsZXkud29ya0BnbWFpbC5j b20+CistLS0KKyBsaWJzZW1hbmFnZS9zcmMvZ2VuaG9tZWRpcmNvbi5jIHwgMTEgKysrKysrKysr KysKKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGli c2VtYW5hZ2Uvc3JjL2dlbmhvbWVkaXJjb24uYyBiL2xpYnNlbWFuYWdlL3NyYy9nZW5ob21lZGly Y29uLmMKK2luZGV4IGNlN2VhMTY3MjJkOC4uZTNmNTVmNjhiMzU4IDEwMDY0NAorLS0tIGEvbGli c2VtYW5hZ2Uvc3JjL2dlbmhvbWVkaXJjb24uYworKysrIGIvbGlic2VtYW5hZ2Uvc3JjL2dlbmhv bWVkaXJjb24uYworQEAgLTExMTAsNiArMTExMCwxNyBAQCByZXRyeToKKyAJCXB3ZW50LT5wd19k aXJbbGVuXSA9ICdcMCc7CisgCX0KKyAKKysJaWYgKHB3ZW50LT5wd19kaXJbMF0gIT0gJy8nKSB7 CisrCQkvKiBhbiBlbXB0eSAob3Igb3RoZXJ3aXNlIHJlbGF0aXZlKSBob21lIGRpcmVjdG9yeSB3 b3VsZAorKwkJICogdHVybiB0aGUgSE9NRV9ESVIgdGVtcGxhdGUgaW50byBhIHJlZ2V4IHRoYXQg bWF0Y2hlcworKwkJICogZXZlcnl0aGluZywgZS5nLiAiLy4rIiwgc28gcmVmdXNlIHRvIHVzZSBp dCAqLworKwkJV0FSTihzLT5oX3NlbWFuYWdlLAorKwkJICAgICAidXNlciAlcyBoYXMgYW4gaW52 YWxpZCBob21lIGRpcmVjdG9yeSBcIiVzXCIsIGlnbm9yaW5nIiwKKysJCSAgICAgbmFtZSwgcHdl bnQtPnB3X2Rpcik7CisrCQlyZXR2YWwgPSBTVEFUVVNfU1VDQ0VTUzsKKysJCWdvdG8gY2xlYW51 cDsKKysJfQorKworIAlpZiAoc3RyY21wKHB3ZW50LT5wd19kaXIsICIvIikgPT0gMCkgeworIAkJ LyogZG9uJ3QgcmVsYWJlbCAvIGdlbmhvbWRpcmNvbiBjaGVja2VkIHRvIHNlZSBpZiByb290Cisg CQkgKiB3YXMgdGhlIHVzZXIgYW5kIGlmIHNvLCBzZXQgaGlzIGhvbWUgZGlyZWN0b3J5IHRvCist LSAKKzIuNTUuMAorCgpkaWZmIC0tZ2l0IGEvY2hhbmdlbG9nIGIvY2hhbmdlbG9nCmluZGV4IDAx ZGQ3YjguLjRhNjczNWUgMTAwNjQ0Ci0tLSBhL2NoYW5nZWxvZworKysgYi9jaGFuZ2Vsb2cKQEAg LTEsMyArMSwxMiBAQAorKiBUdWUgU2VwIDA4IDIwMjYgUGV0ciBMYXV0cmJhY2ggPGxhdXRyYmFj aEByZWRoYXQuY29tPiAtIDMuMTEtNAorLSBPcHRpb25hbGx5IHNvcnQgZmlsZV9jb250ZXh0cy5s b2NhbCBieSBzcGVjaWZpY2l0eQorCisqIFdlZCBKdWwgMjIgMjAyNiBQeXRob24gTWFpbnQgPHB5 dGhvbi1tYWludEByZWRoYXQuY29tPiAtIDMuMTEtMworLSBSZWJ1aWx0IGZvciBQeXRob24gMy4x NS4wYjQgQUJJIGNoYW5nZQorCisqIFRodSBKdWwgMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdp bmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDMuMTEtMgorLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQ1X01hc3NfUmVidWlsZAor CiAqIFdlZCBKdWwgMDEgMjAyNiBQZXRyIExhdXRyYmFjaCA8bGF1dHJiYWNoQHJlZGhhdC5jb20+ IC0gMy4xMS0xCiAtIFNFTGludXggdXNlcnNwYWNlIDMuMTEgcmVsZWFzZQogCgpkaWZmIC0tZ2l0 IGEvbGlic2VtYW5hZ2Uuc3BlYyBiL2xpYnNlbWFuYWdlLnNwZWMKaW5kZXggZDA4YjM4MS4uZWQ3 ZGZkNCAxMDA2NDQKLS0tIGEvbGlic2VtYW5hZ2Uuc3BlYworKysgYi9saWJzZW1hbmFnZS5zcGVj CkBAIC00LDcgKzQsNyBAQAogU3VtbWFyeTogU0VMaW51eCBiaW5hcnkgcG9saWN5IG1hbmlwdWxh dGlvbiBsaWJyYXJ5CiBOYW1lOiBsaWJzZW1hbmFnZQogVmVyc2lvbjogMy4xMQotUmVsZWFzZTog MyV7P2Rpc3R9CitSZWxlYXNlOiA0JXs/ZGlzdH0KIExpY2Vuc2U6IExHUEwtMi4xLW9yLWxhdGVy CiBTb3VyY2UwOiBodHRwczovL2dpdGh1Yi5jb20vU0VMaW51eFByb2plY3Qvc2VsaW51eC9yZWxl YXNlcy9kb3dubG9hZC8le3ZlcnNpb259L2xpYnNlbWFuYWdlLSV7dmVyc2lvbn0udGFyLmd6CiBT b3VyY2UxOiBodHRwczovL2dpdGh1Yi5jb20vU0VMaW51eFByb2plY3Qvc2VsaW51eC9yZWxlYXNl cy9kb3dubG9hZC8le3ZlcnNpb259L2xpYnNlbWFuYWdlLSV7dmVyc2lvbn0udGFyLmd6LmFzYwpA QCAtMTIsNiArMTIsOCBAQCBTb3VyY2UyOiBodHRwczovL2dpdGh1Yi5jb20vYmFjaHJhZHN1c2ku Z3BnCiAjIGdpdCBmb3JtYXQtcGF0Y2ggLU4gMy4xMSAtLSBsaWJzZW1hbmFnZQogIyBpPTE7IGZv ciBqIGluIDAwKnBhdGNoOyBkbyBwcmludGYgIlBhdGNoJTA0ZDogJXNcbiIgJGkgJGo7IGk9JCgo aSsxKSk7ZG9uZQogIyBQYXRjaCBsaXN0IHN0YXJ0CitQYXRjaDAwMDE6IDAwMDEtbGlic2VtYW5h Z2Utb3B0aW9uYWxseS1zb3J0LWZpbGVfY29udGV4dHMubG9jYWwtYnktcy5wYXRjaAorUGF0Y2gw MDAyOiAwMDAyLWxpYnNlbWFuYWdlLWdlbmhvbWVkaXJjb24tcmVqZWN0LXVzZXJzLXdpdGgtYS1y ZWxhdGkucGF0Y2gKICMgUGF0Y2ggbGlzdCBlbmQKIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL1NF TGludXhQcm9qZWN0L3NlbGludXgvd2lraQogVkNTOiBnaXQ6aHR0cHM6Ly9naXRodWIuY29tL1NF TGludXhQcm9qZWN0L3NlbGludXguZ2l0CkBAIC0xNTgsMTAgKzE2MCw0IEBAIGNwICV7U09VUkNF M30gJHtSUE1fQlVJTERfUk9PVH0le19zeXNjb25mZGlyfS9zZWxpbnV4L3NlbWFuYWdlLmNvbmYK ICV7X2xpYmV4ZWNkaXJ9L3NlbGludXgvc2VtYW5hZ2VfbWlncmF0ZV9zdG9yZQogCiAlY2hhbmdl bG9nCi0qIFdlZCBKdWwgMjIgMjAyNiBQeXRob24gTWFpbnQgPHB5dGhvbi1tYWludEByZWRoYXQu Y29tPiAtIDMuMTEtMwotLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xNS4wYjQgQUJJIGNoYW5nZQot Ci0qIFRodSBKdWwgMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZl ZG9yYXByb2plY3Qub3JnPiAtIDMuMTEtMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXBy b2plY3Qub3JnL3dpa2kvRmVkb3JhXzQ1X01hc3NfUmVidWlsZAotCiAlYXV0b2NoYW5nZWxvZwo=