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: Rich Mattes To: git-commits@fedoraproject.org Subject: [rpms/pcl] f44: Separate template instantiations further to avoid oom Date: Thu, 25 Jun 2026 05:49:51 GMT Message-ID: <178236659142.1.2096346575323916712.rpms-pcl-bad0d53f7408@fedoraproject.org> List-ID: X-Git-Repo: rpms/pcl X-Git-Branch: f44 X-Git-Rev: bad0d53f7408bc6000f726e5c69dd97491b9bb84 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcGNsCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBDb21t aXQgOiBiYWQwZDUzZjc0MDhiYzYwMDBmNzI2ZTVjNjlkZDk3NDkxYjliYjg0CiAgICAgICAgICAg IEF1dGhvciA6IFJpY2ggTWF0dGVzIDxyaWNobWF0dGVzQGdtYWlsLmNvbT4KICAgICAgICAgICAg RGF0ZSAgIDogMjAxOS0wMi0xNlQyMDo1Nzo0Ny0wNTowMAogICAgICAgICAgICBTdGF0cyAgOiAr MzgwLy0yNSBpbiA0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVk b3JhcHJvamVjdC5vcmcvcnBtcy9wY2wvYy9iYWQwZDUzZjc0MDhiYzYwMDBmNzI2ZTVjNjlkZDk3 NDkxYjliYjg0P2JyYW5jaD1mNDQKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgU2VwYXJh dGUgdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMgZnVydGhlciB0byBhdm9pZCBvb20KCkFkZCBwYXRj aCB0byBzaWxlbmNlIGJvb3N0IGVuZGlhbiB3YXJuaW5ncy4KClVwZGF0ZSBzc2UyIHBhdGNoIHRv IGRpc2FibGUgbWFyY2g9bmF0aXZlCgotLS0KZGlmZiAtLWdpdCBhL3BjbC0xLjkuMS1ib29zdGVu ZGlhbi5wYXRjaCBiL3BjbC0xLjkuMS1ib29zdGVuZGlhbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi4xMjM3NTRlCi0tLSAvZGV2L251bGwKKysrIGIvcGNsLTEuOS4x LWJvb3N0ZW5kaWFuLnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK2RpZmYgLXVwIC4vY29tbW9uL2lu Y2x1ZGUvcGNsL1BDTFBvaW50Q2xvdWQyLmguYm9vc3RlbmRpYW4gLi9jb21tb24vaW5jbHVkZS9w Y2wvUENMUG9pbnRDbG91ZDIuaAorLS0tIC4vY29tbW9uL2luY2x1ZGUvcGNsL1BDTFBvaW50Q2xv dWQyLmguYm9vc3RlbmRpYW4JMjAxOC0xMS0yNiAwNjo1MDozMy4wMDAwMDAwMDAgLTA1MDAKKysr KyAuL2NvbW1vbi9pbmNsdWRlL3BjbC9QQ0xQb2ludENsb3VkMi5oCTIwMTktMDItMTYgMTg6NTQ6 MjMuNzIxOTI5MDM1IC0wNTAwCitAQCAtMywxMiArMywxMiBAQAorIAorICNpZmRlZiBVU0VfUk9T CisgICAgI2Vycm9yIFVTRV9ST1Mgc2V0dXAgcmVxdWlyZXMgUENMIHRvIGNvbXBpbGUgYWdhaW5z dCBST1MgbWVzc2FnZSBoZWFkZXJzLCB3aGljaCBpcyBub3cgZGVwcmVjYXRlZAorLSNlbmRpZiAK KysjZW5kaWYKKyAKKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgI2lu Y2x1ZGUgPG9zdHJlYW0+CistI2luY2x1ZGUgPGJvb3N0L2RldGFpbC9lbmRpYW4uaHBwPgorKyNp bmNsdWRlIDxib29zdC9wcmVkZWYvb3RoZXIvZW5kaWFuLmg+CisgCisgLy8gSW5jbHVkZSB0aGUg Y29ycmVjdCBIZWFkZXIgcGF0aCBoZXJlCisgI2luY2x1ZGUgPHBjbC9QQ0xIZWFkZXIuaD4KK0BA IC0yMyw5ICsyMyw5IEBAIG5hbWVzcGFjZSBwY2wKKyAgICAgICAgICAgICAgICAgICAgICBpc19i aWdlbmRpYW4gKGZhbHNlKSwgcG9pbnRfc3RlcCAoMCksIHJvd19zdGVwICgwKSwKKyAgICAgICAg ICAgICAgICAgICAgICBkYXRhICgpLCBpc19kZW5zZSAoZmFsc2UpCisgICAgIHsKKy0jaWYgZGVm aW5lZChCT09TVF9CSUdfRU5ESUFOKQorKyNpZiBCT09TVF9FTkRJQU5fQklHX0JZVEUKKyAgICAg ICBpc19iaWdlbmRpYW4gPSB0cnVlOworLSNlbGlmIGRlZmluZWQoQk9PU1RfTElUVExFX0VORElB TikKKysjZWxpZiBCT09TVF9FTkRJQU5fTElUVExFX0JZVEUKKyAgICAgICBpc19iaWdlbmRpYW4g PSBmYWxzZTsKKyAjZWxzZQorICNlcnJvciAidW5hYmxlIHRvIGRldGVybWluZSBzeXN0ZW0gZW5k aWFubmVzcyIKK2RpZmYgLXVwIC4vaW8vaW5jbHVkZS9wY2wvaW8vcGx5L2J5dGVfb3JkZXIuaC5i b29zdGVuZGlhbiAuL2lvL2luY2x1ZGUvcGNsL2lvL3BseS9ieXRlX29yZGVyLmgKKy0tLSAuL2lv L2luY2x1ZGUvcGNsL2lvL3BseS9ieXRlX29yZGVyLmguYm9vc3RlbmRpYW4JMjAxOC0xMS0yNiAw Njo1MDozMy4wMDAwMDAwMDAgLTA1MDAKKysrKyAuL2lvL2luY2x1ZGUvcGNsL2lvL3BseS9ieXRl X29yZGVyLmgJMjAxOS0wMi0xNiAxODo1NTowMC42NjkwMjg3ODcgLTA1MDAKK0BAIC00MCw3ICs0 MCw3IEBACisgI2lmbmRlZiBQQ0xfSU9fUExZX0JZVEVfT1JERVJfSAorICNkZWZpbmUgUENMX0lP X1BMWV9CWVRFX09SREVSX0gKKyAKKy0jaW5jbHVkZSA8Ym9vc3QvZGV0YWlsL2VuZGlhbi5ocHA+ CisrI2luY2x1ZGUgPGJvb3N0L3ByZWRlZi9vdGhlci9lbmRpYW4uaD4KKyAKKyBuYW1lc3BhY2Ug cGNsCisgeworQEAgLTU4LDE2ICs1OCwxNiBAQCBuYW1lc3BhY2UgcGNsCisgICAgICAgeworICAg ICAgICAgbGl0dGxlX2VuZGlhbl9ieXRlX29yZGVyLAorICAgICAgICAgYmlnX2VuZGlhbl9ieXRl X29yZGVyLAorLSNpZiBkZWZpbmVkKEJPT1NUX0JJR19FTkRJQU4pCisrI2lmIEJPT1NUX0VORElB Tl9CSUdfQllURQorICAgICAgICAgaG9zdF9ieXRlX29yZGVyID0gYmlnX2VuZGlhbl9ieXRlX29y ZGVyLAorLSNlbGlmIGRlZmluZWQoQk9PU1RfTElUVExFX0VORElBTikKKysjZWxpZiBCT09TVF9F TkRJQU5fTElUVExFX0JZVEUKKyAgICAgICAgIGhvc3RfYnl0ZV9vcmRlciA9IGxpdHRsZV9lbmRp YW5fYnl0ZV9vcmRlciwKKyAjZWxzZQorICNlcnJvciAidW5hYmxlIHRvIGRldGVybWluZSBzeXN0 ZW0gZW5kaWFubmVzcyIKKyAjZW5kaWYKKyAgICAgICAgIG5ldHdvcmtfYnl0ZV9vcmRlciA9IGJp Z19lbmRpYW5fYnl0ZV9vcmRlcgorICAgICAgIH07CistICAgICAgCisrCisgICAgICAgdGVtcGxh dGUgPHN0ZDo6c2l6ZV90IE4+CisgICAgICAgdm9pZCBzd2FwX2J5dGVfb3JkZXIgKGNoYXIqIGJ5 dGVzKTsKKyAKCmRpZmYgLS1naXQgYS9wY2wtMS45LjEtb29tLnBhdGNoIGIvcGNsLTEuOS4xLW9v bS5wYXRjaAppbmRleCAwNzZjNGZmLi40MTZlYTFjIDEwMDY0NAotLS0gYS9wY2wtMS45LjEtb29t LnBhdGNoCisrKyBiL3BjbC0xLjkuMS1vb20ucGF0Y2gKQEAgLTEsMTcgKzEsMjMgQEAKIGRpZmYg LXVwIC4vc3VyZmFjZS9DTWFrZUxpc3RzLnR4dC5vb20gLi9zdXJmYWNlL0NNYWtlTGlzdHMudHh0 Ci0tLS0gLi9zdXJmYWNlL0NNYWtlTGlzdHMudHh0Lm9vbQkyMDE5LTAyLTE2IDE0OjQ1OjA0Ljc0 NjUxOTU2NyAtMDUwMAotKysrIC4vc3VyZmFjZS9DTWFrZUxpc3RzLnR4dAkyMDE5LTAyLTE2IDE0 OjQ1OjEyLjg2OTU0NDQxNyAtMDUwMAotQEAgLTEwMCw2ICsxMDAsNyBAQCBpZihidWlsZCkKKy0t LSAuL3N1cmZhY2UvQ01ha2VMaXN0cy50eHQub29tCTIwMTgtMTEtMjYgMDY6NTA6MzMuMDAwMDAw MDAwIC0wNTAwCisrKysgLi9zdXJmYWNlL0NNYWtlTGlzdHMudHh0CTIwMTktMDItMTYgMjA6NTQ6 MzUuNTgxMTIzODIwIC0wNTAwCitAQCAtOTksNyArOTksMTIgQEAgaWYoYnVpbGQpCisgICAgICAg ICBzcmMvbWFyY2hpbmdfY3ViZXNfaG9wcGUuY3BwCiAgICAgICAgICBzcmMvbWFyY2hpbmdfY3Vi ZXNfcmJmLmNwcAogICAgICAgICAgc3JjL2JpbGF0ZXJhbF91cHNhbXBsaW5nLmNwcAotICAgICAg ICAgc3JjL21scy5jcHAKLSsgICAgICAgIHNyYy9tbHMyLmNwcAorLSAgICAgICAgc3JjL21scy5j cHAKKysgICAgICAgIHNyYy9tbHNfbi5jcHAKKysgICAgICAgIHNyYy9tbHNfeHl6LmNwcAorKyAg ICAgICAgc3JjL21sc194eXppLmNwcAorKyAgICAgICAgc3JjL21sc194eXpyZ2JhLmNwcAorKyAg ICAgICAgc3JjL21sc194eXpyZ2IuY3BwCisrICAgICAgICBzcmMvbWxzX3h5enJnYm4uY3BwCiAg ICAgICAgICBzcmMvb3JnYW5pemVkX2Zhc3RfbWVzaC5jcHAKICAgICAgICAgIHNyYy9zaW1wbGlm aWNhdGlvbl9yZW1vdmVfdW51c2VkX3ZlcnRpY2VzLmNwcAogICAgICAgICAgc3JjL3N1cmZlbF9z bW9vdGhpbmcuY3BwCi1kaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sczIuY3BwLm9vbSAuL3N1cmZh Y2Uvc3JjL21sczIuY3BwCi0tLS0gLi9zdXJmYWNlL3NyYy9tbHMyLmNwcC5vb20JMjAxOS0wMi0x NiAxNDo0NDowNS42ODQzMzg4ODUgLTA1MDAKLSsrKyAuL3N1cmZhY2Uvc3JjL21sczIuY3BwCTIw MTktMDItMTYgMTQ6NDQ6NDguMjMxNDY5MDQ0IC0wNTAwCitkaWZmIC11cCAuL3N1cmZhY2Uvc3Jj L21sc19uLmNwcC5vb20gLi9zdXJmYWNlL3NyYy9tbHNfbi5jcHAKKy0tLSAuL3N1cmZhY2Uvc3Jj L21sc19uLmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1NToxMC45MjAyOTE0NzkgLTA1MDAKKysrKyAu L3N1cmZhY2Uvc3JjL21sc19uLmNwcAkyMDE5LTAyLTE2IDIwOjUxOjEyLjU3MDE2MDcyNyAtMDUw MAogQEAgLTAsMCArMSw1MyBAQAogKy8qCiArICogU29mdHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQg KEJTRCBMaWNlbnNlKQpAQCAtNjEsMjAgKzY3LDI5MyBAQCBkaWZmIC11cCAuL3N1cmZhY2Uvc3Jj L21sczIuY3BwLm9vbSAuL3N1cmZhY2Uvc3JjL21sczIuY3BwCiArI2lmZGVmIFBDTF9PTkxZX0NP UkVfUE9JTlRfVFlQRVMKICsgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlw ZXMKICsgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6 OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZ WlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVop KHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKSkpCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQb2ludE5vcm1hbCkpKQorKyNlbHNl CisrICBQQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsIChQQ0xfWFla X1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkKKysjZW5kaWYKKysjZW5kaWYgICAg Ly8gUENMX05PX1BSRUNPTVBJTEUKK2RpZmYgLXVwIC4vc3VyZmFjZS9zcmMvbWxzX3h5ei5jcHAu b29tIC4vc3VyZmFjZS9zcmMvbWxzX3h5ei5jcHAKKy0tLSAuL3N1cmZhY2Uvc3JjL21sc194eXou Y3BwLm9vbQkyMDE5LTAyLTE2IDIwOjU0OjUxLjg5MTIwMTIwMyAtMDUwMAorKysrIC4vc3VyZmFj ZS9zcmMvbWxzX3h5ei5jcHAJMjAxOS0wMi0xNiAyMDo1MTozMy4wODAyNTgwMzEgLTA1MDAKK0BA IC0wLDAgKzEsNTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IChCU0Qg TGljZW5zZSkKKysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3d3cucG9pbnRj bG91ZHMub3JnCisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJhZ2UsIElu Yy4KKysgKgorKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysgKiBSZWRpc3RyaWJ1dGlv biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKysg KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n IGNvbmRpdGlvbnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKyAqICAgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor KyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh Ym92ZQorKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9u LgorKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5vciB0aGUg bmFtZXMgb2YgaXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRo b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysgKgorKyAqIFRISVMgU09G VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP UlMKKysgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO Q0xVRElORywgQlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKysgKiBDT1BZUklHSFQg T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs CisrICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB TUFHRVMgKElOQ0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBPRiBVU0UsIERBVEEsIE9S IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorKyAqIENBVVNFRCBB TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD VAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX SVNFKSBBUklTSU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B R0UuCisrICoKKysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVkZSA8cGNsL3N1cmZhY2Uv bWxzLmg+CisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KKysKKysjaWZuZGVm IFBDTF9OT19QUkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90eXBlcy5oPgorKyNpbmNs dWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9J TlRfVFlQRVMKKysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKKysg IFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50 WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEp KHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVopKSkKKysj ZWxzZQorKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENM X1hZWl9QT0lOVF9UWVBFUykoUENMX1hZWl9QT0lOVF9UWVBFUykpCisrI2VuZGlmCisrI2VuZGlm ICAgIC8vIFBDTF9OT19QUkVDT01QSUxFCitkaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc194eXpp LmNwcC5vb20gLi9zdXJmYWNlL3NyYy9tbHNfeHl6aS5jcHAKKy0tLSAuL3N1cmZhY2Uvc3JjL21s c194eXppLmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1NDo1NS4xMzMyMTY1ODAgLTA1MDAKKysrKyAu L3N1cmZhY2Uvc3JjL21sc194eXppLmNwcAkyMDE5LTAyLTE2IDIwOjUxOjU5LjYwMjM4Mzg1NiAt MDUwMAorQEAgLTAsMCArMSw1MyBAQAorKy8qCisrICogU29mdHdhcmUgTGljZW5zZSBBZ3JlZW1l bnQgKEJTRCBMaWNlbnNlKQorKyAqCisrICogUG9pbnQgQ2xvdWQgTGlicmFyeSAoUENMKSAtIHd3 dy5wb2ludGNsb3Vkcy5vcmcKKysgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxMSwgV2lsbG93IEdh cmFnZSwgSW5jLgorKyAqCisrICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKgorKyAqIFJlZGlz dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0 aG91dAorKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm b2xsb3dpbmcgY29uZGl0aW9ucworKyAqIGFyZSBtZXQ6CisrICoKKysgKiAqIFJlZGlzdHJpYnV0 aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisrICog ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns YWltZXIuCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1 Y2UgdGhlIGFib3ZlCisrICogICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0 aW9ucyBhbmQgdGhlIGZvbGxvd2luZworKyAqICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisrICogICB3aXRoIHRoZSBkaXN0 cmlidXRpb24uCisrICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBHYXJhZ2UsIEluYy4g bm9yIHRoZSBuYW1lcyBvZiBpdHMKKysgKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorKyAqICAgZnJvbSB0aGlzIHNvZnR3 YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKyAqCisrICog VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP TlRSSUJVVE9SUworKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisrICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKKysgKiBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorKyAqIENP UFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ TkRJUkVDVCwKKysgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKysgKiBMT1NTIE9GIFVTRSwg REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisrICog Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD VCwgU1RSSUNUCisrICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KKysgKiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKysgKiBQT1NTSUJJTElUWSBPRiBT VUNIIERBTUFHRS4KKysgKgorKyAqICRJZCQKKysgKgorKyAqLworKworKyNpbmNsdWRlIDxwY2wv c3VyZmFjZS9tbHMuaD4KKysjaW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9tbHMuaHBwPgorKwor KyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKKysjaW5jbHVkZSA8cGNsL3BvaW50X3R5cGVzLmg+ CisrI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KKysjaWZkZWYgUENMX09OTFlf Q09SRV9QT0lOVF9UWVBFUworKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBwb2ludCB0 eXBlcworKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoKHBj bDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBvaW50 WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkpCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQb2ludFhZ WkkpKSkKKysjZWxzZQorKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVh cmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUykoUENMX1hZWl9QT0lOVF9UWVBFUykpCisrI2VuZGlm CisrI2VuZGlmICAgIC8vIFBDTF9OT19QUkVDT01QSUxFCitkaWZmIC11cCAuL3N1cmZhY2Uvc3Jj L21sc194eXpyZ2JhLmNwcC5vb20gLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiYS5jcHAKKy0tLSAu L3N1cmZhY2Uvc3JjL21sc194eXpyZ2JhLmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1NDo1Ny44MzIy MjkzODMgLTA1MDAKKysrKyAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2JhLmNwcAkyMDE5LTAyLTE2 IDIwOjUyOjMxLjEyNjUzMzQxNCAtMDUwMAorQEAgLTAsMCArMSw1MyBAQAorKy8qCisrICogU29m dHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQorKyAqCisrICogUG9pbnQgQ2xv dWQgTGlicmFyeSAoUENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKKysgKiBDb3B5cmlnaHQgKGMp IDIwMDktMjAxMSwgV2lsbG93IEdhcmFnZSwgSW5jLgorKyAqCisrICogQWxsIHJpZ2h0cyByZXNl cnZlZC4KKysgKgorKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKyAqIGFyZSBtZXQ6Cisr ICoKKysgKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg YWJvdmUgY29weXJpZ2h0CisrICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisrICogICBjb3B5cmlnaHQgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworKyAqICAgZGlzY2xh aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk CisrICogICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisrICogKiBOZWl0aGVyIHRoZSBuYW1lIG9m IFdpbGxvdyBHYXJhZ2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKysgKiAgIGNvbnRyaWJ1 dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAor KyAqICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw ZXJtaXNzaW9uLgorKyAqCisrICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisrICogTElNSVRF RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F U1MKKysgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW RU5UIFNIQUxMIFRIRQorKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKysgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBF WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAorKyAqIEJVVCBO T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF UzsKKysgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS VVBUSU9OKSBIT1dFVkVSCisrICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisrICogTElBQklMSVRZLCBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KKysgKiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUK KysgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKysgKgorKyAqICRJZCQKKysgKgorKyAq LworKworKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KKysjaW5jbHVkZSA8cGNsL3N1cmZh Y2UvaW1wbC9tbHMuaHBwPgorKworKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKKysjaW5jbHVk ZSA8cGNsL3BvaW50X3R5cGVzLmg+CisrI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhw cD4KKysjaWZkZWYgUENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUworKyAvLyBJbnN0YW50aWF0aW9u cyBvZiBzcGVjaWZpYyBwb2ludCB0eXBlcworKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92 aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBv aW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNs OjpQb2ludE5vcm1hbCkpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgocGNsOjpQb2ludFhZWlJHQkEpKSkKKysjZWxzZQorKyAgUENMX0lOU1RBTlRJQVRF X1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUykoUENMX1hZ Wl9QT0lOVF9UWVBFUykpCisrI2VuZGlmCisrI2VuZGlmICAgIC8vIFBDTF9OT19QUkVDT01QSUxF CitkaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2IuY3BwLm9vbSAuL3N1cmZhY2Uvc3Jj L21sc194eXpyZ2IuY3BwCistLS0gLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiLmNwcC5vb20JMjAx OS0wMi0xNiAyMDo1NTowMy41MjQyNTYzOTEgLTA1MDAKKysrKyAuL3N1cmZhY2Uvc3JjL21sc194 eXpyZ2IuY3BwCTIwMTktMDItMTYgMjA6NTM6MDIuNjA5NjgyNzY2IC0wNTAwCitAQCAtMCwwICsx LDUzIEBACisrLyoKKysgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2Up CisrICoKKysgKiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9y ZworKyAqIENvcHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCisrICoK KysgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqCisrICogUmVkaXN0cmlidXRpb24gYW5kIHVz ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrICogbW9kaWZp Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp b25zCisrICogYXJlIG1ldDoKKysgKgorKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgIG5vdGljZSwgdGhpcyBs aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysgKiAqIFJl ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKysg KiAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s bG93aW5nCisrICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl ciBtYXRlcmlhbHMgcHJvdmlkZWQKKysgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysgKiAq IE5laXRoZXIgdGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9m IGl0cworKyAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90 ZSBwcm9kdWN0cyBkZXJpdmVkCisrICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisrICoKKysgKiBUSElTIFNPRlRXQVJFIElT IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisrICog IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs IEJVVCBOT1QKKysgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSBBTkQgRklUTkVTUworKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisrICogQ09QWVJJR0hUIE9XTkVSIE9S IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorKyAqIElO Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ TkNMVURJTkcsCisrICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKysgKiBDQVVTRUQgQU5EIE9OIEFO WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKysgKiBM SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ U0lORyBJTgorKyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF TiBJRiBBRFZJU0VEIE9GIFRIRQorKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKyAq CisrICogJElkJAorKyAqCisrICovCisrCisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgor KyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+CisrCisrI2lmbmRlZiBQQ0xfTk9f UFJFQ09NUElMRQorKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KKysjaW5jbHVkZSA8cGNs L2ltcGwvaW5zdGFudGlhdGUuaHBwPgorKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVT CisrIC8vIEluc3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCisrICBQQ0xfSU5T VEFOVElBVEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNs OjpQb2ludFhZWkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBv aW50WFlaUkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaUkdCKSkpCisrI2Vsc2UK KysgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpf UE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAv LyBQQ0xfTk9fUFJFQ09NUElMRQorZGlmZiAtdXAgLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdibi5j cHAub29tIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYm4uY3BwCistLS0gLi9zdXJmYWNlL3NyYy9t bHNfeHl6cmdibi5jcHAub29tCTIwMTktMDItMTYgMjA6NTU6MDcuMDMwMjczMDIyIC0wNTAwCisr KysgLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdibi5jcHAJMjAxOS0wMi0xNiAyMDo1MzozNC4yMTU4 MzI3MDIgLTA1MDAKK0BAIC0wLDAgKzEsNTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2Ug QWdyZWVtZW50IChCU0QgTGljZW5zZSkKKysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBD TCkgLSB3d3cucG9pbnRjbG91ZHMub3JnCisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdp bGxvdyBHYXJhZ2UsIEluYy4KKysgKgorKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysg KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQKKysgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRp c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo dAorKyAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu ZyBkaXNjbGFpbWVyLgorKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg cmVwcm9kdWNlIHRoZSBhYm92ZQorKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRv Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0 aGUgZGlzdHJpYnV0aW9uLgorKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdl LCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVz ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhp cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysg KgorKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT IEFORCBDT05UUklCVVRPUlMKKysgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUK KysgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ UkVDVCwgSU5ESVJFQ1QsCisrICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8s IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBP RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF UgorKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g Q09OVFJBQ1QsIFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVT RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJ VFkgT0YgU1VDSCBEQU1BR0UuCisrICoKKysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVk ZSA8cGNsL3N1cmZhY2UvbWxzLmg+CisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhw cD4KKysKKysjaWZuZGVmIFBDTF9OT19QUkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90 eXBlcy5oPgorKyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBD TF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMKKysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMg cG9pbnQgdHlwZXMKKysgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJl cywgKChwY2w6OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNs OjpQb2ludFhZWlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwp KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6 UG9pbnRYWVpSR0JOb3JtYWwpKSkKICsjZWxzZQogKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1Qo TW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUykoUENMX1hZWl9QT0lOVF9U WVBFUykpCiArI2VuZGlmCiArI2VuZGlmICAgIC8vIFBDTF9OT19QUkVDT01QSUxFCi1kaWZmIC11 cCAuL3N1cmZhY2Uvc3JjL21scy5jcHAub29tIC4vc3VyZmFjZS9zcmMvbWxzLmNwcAotLS0tIC4v c3VyZmFjZS9zcmMvbWxzLmNwcC5vb20JMjAxOS0wMi0xNiAxNDo0Mzo1Ny41NTkzMTQwMjUgLTA1 MDAKLSsrKyAuL3N1cmZhY2Uvc3JjL21scy5jcHAJMjAxOS0wMi0xNiAxNDo0NDozMC41MjE0MTQ4 NjUgLTA1MDAKLUBAIC00Niw3ICs0Niw3IEBACi0gI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9JTlRf VFlQRVMKLSAgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKLSAgIFBD TF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50WFla KShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEpKHBj bDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9p bnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZ WlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkpKQotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFla UkdCTm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkpCi0gI2Vsc2UKLSAgIFBDTF9JTlNUQU5USUFU RV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9Y WVpfUE9JTlRfVFlQRVMpKQotICNlbmRpZgoKZGlmZiAtLWdpdCBhL3BjbC0xLjkuMS1zc2UyLnBh dGNoIGIvcGNsLTEuOS4xLXNzZTIucGF0Y2gKaW5kZXggM2I1OTI0Mi4uZjk5ZDE5NSAxMDA2NDQK LS0tIGEvcGNsLTEuOS4xLXNzZTIucGF0Y2gKKysrIGIvcGNsLTEuOS4xLXNzZTIucGF0Y2gKQEAg LTEsNyArMSwxNiBAQAogZGlmZiAtdXAgLi9jbWFrZS9wY2xfZmluZF9zc2UuY21ha2Uuc3NlMiAu L2NtYWtlL3BjbF9maW5kX3NzZS5jbWFrZQotLS0tIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtl LnNzZTIJMjAxOS0wMi0xNCAxOToxNzowMC4yODk3Mjg5MjYgLTA1MDAKLSsrKyAuL2NtYWtlL3Bj bF9maW5kX3NzZS5jbWFrZQkyMDE5LTAyLTE0IDE5OjE3OjUzLjA5NTAxODIzNiAtMDUwMAotQEAg LTE2NCwxOCArMTY0LDggQEAgbWFjcm8oUENMX0NIRUNLX0ZPUl9TU0UpCistLS0gLi9jbWFrZS9w Y2xfZmluZF9zc2UuY21ha2Uuc3NlMgkyMDE4LTExLTI2IDA2OjUwOjMzLjAwMDAwMDAwMCAtMDUw MAorKysrIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlCTIwMTktMDItMTYgMTk6MDU6MTYuNjE4 NzYxNDYyIC0wNTAwCitAQCAtNyw3ICs3LDcgQEAgbWFjcm8oUENMX0NIRUNLX0ZPUl9TU0UpCisg ICAgIGlmKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKKyAgICAgICAgICMgVGVzdCBHQ0MvRysr IGFuZCBDTEFORworICAgICAgICAgaWYoQ01BS0VfQ09NUElMRVJfSVNfR05VQ0MgT1IgQ01BS0Vf Q09NUElMRVJfSVNfR05VQ1hYIE9SIENNQUtFX0NPTVBJTEVSX0lTX0NMQU5HKQorLSAgICAgICAg ICAgIGxpc3QoQVBQRU5EIFNTRV9GTEFHUyAiLW1hcmNoPW5hdGl2ZSIpCisrICAgICAgICAgICNs aXN0KEFQUEVORCBTU0VfRkxBR1MgIi1tYXJjaD1uYXRpdmUiKQorICAgICAgICAgICAgIG1lc3Nh Z2UoU1RBVFVTICJVc2luZyBDUFUgbmF0aXZlIGZsYWdzIGZvciBTU0Ugb3B0aW1pemF0aW9uOiAk e1NTRV9GTEFHU30iKQorICAgICAgICAgZW5kaWYoKQorICAgICBlbmRpZigpCitAQCAtMTY0LDE4 ICsxNjQsOSBAQCBtYWNybyhQQ0xfQ0hFQ0tfRk9SX1NTRSkKICAgICAgc2V0KENNQUtFX1JFUVVJ UkVEX0ZMQUdTKQogIAogICAgICBpZihDTUFLRV9DT01QSUxFUl9JU19HTlVDQyBPUiBDTUFLRV9D T01QSUxFUl9JU19HTlVDWFggT1IgQ01BS0VfQ09NUElMRVJfSVNfQ0xBTkcpCkBAIC0xNCw3ICsy Myw4IEBAIGRpZmYgLXVwIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlLnNzZTIgLi9jbWFrZS9w Y2xfZmluZF9zc2UuY21ha2UKIC0gICAgICAgIGVsc2VpZihIQVZFX1NTRTNfRVhURU5TSU9OUykK IC0gICAgICAgICAgICBsaXN0KEFQUEVORCBTU0VfRkxBR1MgIi1tc3NlMyIgIi1tZnBtYXRoPXNz ZSIpCiAtICAgICAgICBlbHNlaWYoSEFWRV9TU0UyX0VYVEVOU0lPTlMpCi0rICAgICAgICBpZigi JHtDTUFLRV9TWVNURU1fUFJPQ0VTU09SfSIgU1RSRVFVQUwgIng4Nl82NCIpCisrICAgICAgICBp ZigiJHtDTUFLRV9TWVNURU1fUFJPQ0VTU09SfSIgU1RSRVFVQUwgIng4Nl82NCIgQU5EICIke0NN QUtFX1NJWkVPRl9WT0lEX1B9IiBTVFJFUVVBTCAiOCIpCisrICAgICAgICAgICAgTUVTU0FHRShT VEFUVVMgIkVuYWJsaW5nIFNTRSBTdXBwb3J0ICgke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9LCAk e0NNQUtFX1NJWkVPRl9WT0lEX1B9KSIpCiAgICAgICAgICAgICAgbGlzdChBUFBFTkQgU1NFX0ZM QUdTICItbXNzZTIiICItbWZwbWF0aD1zc2UiKQogLSAgICAgICAgZWxzZWlmKEhBVkVfU1NFX0VY VEVOU0lPTlMpCiAtICAgICAgICAgICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZSIgIi1t ZnBtYXRoPXNzZSIpCgpkaWZmIC0tZ2l0IGEvcGNsLnNwZWMgYi9wY2wuc3BlYwppbmRleCBhNDAz MzQwLi4zZjcxMDA1IDEwMDY0NAotLS0gYS9wY2wuc3BlYworKysgYi9wY2wuc3BlYwpAQCAtMjIs NiArMjIsOCBAQCBQYXRjaDI6ICAgICAgICAgJXtuYW1lfS0xLjguMS1mZWRvcmEucGF0Y2gKIFBh dGNoMzogICAgICAgICAle25hbWV9LTEuNy4yLWRveHlmaXgucGF0Y2gKICMgU3BsaXQgdXAgZXhw bGljaXQgdGVtcGxhdGUgaW5zdGFudGlhdGlvbnMgc28gdGhhdCBidWlsZGVycyBkb24ndCBydW4g b3V0IG9mIG1lbW9yeQogUGF0Y2g0OiAgICAgICAgICV7bmFtZX0tMS45LjEtb29tLnBhdGNoCisj IFVwc3RyZWFtIHBhdGNoIHRvIGRpc2FibGUgYm9vc3QgZW5kaWFuIHdhcm5pbmdzCitQYXRjaDU6 ICAgICAgICAgJXtuYW1lfS0xLjkuMS1ib29zdGVuZGlhbi5wYXRjaAogCiAjIEZvciBwbGFpbiBi dWlsZGluZwogQnVpbGRSZXF1aXJlczogIGNtYWtlLCBnY2MtYysrLCBib29zdC1kZXZlbApAQCAt ODMsNiArODUsNyBAQCBMaWJyYXJ5LgogJXBhdGNoMiAtcDAgLWIgLmZlZG9yYQogJXBhdGNoMyAt cDAgLWIgLmRveHlmaXgKICVwYXRjaDQgLXAxIC1iIC5vb20KKyVwYXRjaDUgLXAxIC1iIC5ib29z dGVuZGlhbgogCiAjIEp1c3QgdG8gbWFrZSBpdCBvYnZpb3VzIHdlJ3JlIG5vdCB1c2luZyBhbnkg b2YgdGhlc2UKIHJtIC1mciByZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi8zcmRw YXJ0eS9tZXRzbGliCkBAIC0xMDIsNiArMTA1LDcgQEAgcHVzaGQgYnVpbGQKICVlbmRpZgogCiAl Y21ha2UgXAorICAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSBcCiAgIC1EV0lUSF9ET0NTPU9O IFwKICAgLURXSVRIX0NVREE9T0ZGIFwKICAgLURXSVRIX1RVVE9SSUFMUz1PTiBcCg==