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: Adrian Reber To: git-commits@fedoraproject.org Subject: [rpms/criu] f43: Route veth restore through usernsd for userns mode (upstream PR#3006) Date: Mon, 06 Jul 2026 06:07:54 GMT Message-ID: <178331807411.1.14890462587482111330.rpms-criu-7ca58ef6a75f@fedoraproject.org> List-ID: X-Git-Repo: rpms/criu X-Git-Branch: f43 X-Git-Rev: 7ca58ef6a75fdd015dccfcdda9c4e29d22f3c485 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY3JpdQogICAgICAgICAgICBCcmFuY2ggOiBmNDMKICAgICAgICAgICAgQ29t bWl0IDogN2NhNThlZjZhNzVmZGQwMTVkY2NmY2RkYTljNGUyOWQyMmYzYzQ4NQogICAgICAgICAg ICBBdXRob3IgOiBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4KICAgICAgICAgICAgRGF0 ZSAgIDogMjAyNi0wNC0yMlQwNzoyMDozNyswMDowMAogICAgICAgICAgICBTdGF0cyAgOiArNDQ0 Ly0xIGluIDUgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFw cm9qZWN0Lm9yZy9ycG1zL2NyaXUvYy83Y2E1OGVmNmE3NWZkZDAxNWRjY2ZjZGRhOWM0ZTI5ZDIy ZjNjNDg1P2JyYW5jaD1mNDMKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgUm91dGUgdmV0 aCByZXN0b3JlIHRocm91Z2ggdXNlcm5zZCBmb3IgdXNlcm5zIG1vZGUgKHVwc3RyZWFtIFBSIzMw MDYpCgpGaXggcnNlcTAxIHRlc3QgZm9yIGtlcm5lbCA3LjAgcnNlcSBjaGFuZ2VzICh1cHN0cmVh bSBQUiMzMDA3KQpIYW5kbGUgVURQTElURSByZW1vdmFsIGluIGtlcm5lbCA3LjEgKHVwc3RyZWFt IFBSIzMwMDMpCgpTaWduZWQtb2ZmLWJ5OiBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4K Ci0tLQpkaWZmIC0tZ2l0IGEvMDAwMi1uZXQtUm91dGUtdmV0aC1yZXN0b3JlLXRocm91Z2gtdXNl cm5zZC1mb3ItdXNlcm5zLW1vZGUucGF0Y2ggYi8wMDAyLW5ldC1Sb3V0ZS12ZXRoLXJlc3RvcmUt dGhyb3VnaC11c2VybnNkLWZvci11c2VybnMtbW9kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5jYmVkZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1uZXQtUm91 dGUtdmV0aC1yZXN0b3JlLXRocm91Z2gtdXNlcm5zZC1mb3ItdXNlcm5zLW1vZGUucGF0Y2gKQEAg LTAsMCArMSwxNzggQEAKK0Zyb20gN2FkNmJiOTdiNGUzOTUxZmM3OWNiZGE1MWIwNWU2NDlhZWEy ODU0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFkcmlhbiBSZWJlciA8YXJlYmVy QHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIEFwciAyMDI2IDA5OjA0OjUxICswMDAwCitTdWJq ZWN0OiBbUEFUQ0hdIG5ldDogUm91dGUgdmV0aCByZXN0b3JlIHRocm91Z2ggdXNlcm5zZCBmb3Ig dXNlcm5zIG1vZGUKKworU3RhcnRpbmcgd2l0aCBMaW51eCBrZXJuZWwgY29tbWl0IDdiNzM1ZWY4 MTI4NiAoInJ0bmV0bGluazogYWRkCittaXNzaW5nIG5ldGxpbmtfbnNfY2FwYWJsZSgpIGNoZWNr IGZvciBwZWVyIG5ldG5zIiksIGNyZWF0aW5nIGEKK3ZldGggcGFpciB3aXRoIGEgcGVlciBpbiBh IGRpZmZlcmVudCBuZXR3b3JrIG5hbWVzcGFjZSByZXF1aXJlcworQ0FQX05FVF9BRE1JTiBpbiB0 aGUgcGVlciBuYW1lc3BhY2UgYXMgd2VsbDoKKworICAgIHJ0bmV0bGluazogYWRkIG1pc3Npbmcg bmV0bGlua19uc19jYXBhYmxlKCkgY2hlY2sgZm9yIHBlZXIgbmV0bnMKKworICAgIHJ0bmxfbmV3 bGluaygpIGxhY2tzIGEgQ0FQX05FVF9BRE1JTiBjYXBhYmlsaXR5IGNoZWNrIG9uIHRoZSBwZWVy CisgICAgbmV0d29yayBuYW1lc3BhY2Ugd2hlbiBjcmVhdGluZyBwYWlyZWQgZGV2aWNlcyAodmV0 aCwgdnhjYW4sCisgICAgbmV0a2l0KS4gVGhpcyBhbGxvd3MgYW4gdW5wcml2aWxlZ2VkIHVzZXIg d2l0aCBhIHVzZXIgbmFtZXNwYWNlCisgICAgdG8gY3JlYXRlIGludGVyZmFjZXMgaW4gYXJiaXRy YXJ5IG5ldHdvcmsgbmFtZXNwYWNlcywgaW5jbHVkaW5nCisgICAgaW5pdF9uZXQuCisKKyAgICBB ZGQgYSBuZXRsaW5rX25zX2NhcGFibGUoKSBjaGVjayBmb3IgQ0FQX05FVF9BRE1JTiBpbiB0aGUg cGVlcgorICAgIG5hbWVzcGFjZSBiZWZvcmUgYWxsb3dpbmcgZGV2aWNlIGNyZWF0aW9uIHRvIHBy b2NlZWQuCisKK0xpbms6IGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9jb21taXQv N2I3MzVlZjgxMjg2MDA3Nzk0YTIyN2NlMjUzOTQxOTQ3OWMwMmE1ZgorCitXaGVuIENSSVUgcmVz dG9yZXMgYSB2ZXRoIGluIHVzZXIgbmFtZXNwYWNlIG1vZGUsIGl0IHNlbmRzIHRoZQorUlRNX05F V0xJTksgcmVxdWVzdCBmcm9tIGEgbmV0bGluayBzb2NrZXQgaW5zaWRlIHRoZSBjaGlsZCB1c2Vy CituYW1lc3BhY2UuICBUaGUgdmV0aCBwZWVyIGlzIHBsYWNlZCBpbnRvIHRoZSByb290IG5ldHdv cmsgbmFtZXNwYWNlCit2aWEgSUZMQV9ORVRfTlNfRkQsIGJ1dCB0aGUgY2hpbGQgdXNlciBuYW1l c3BhY2UgZG9lcyBub3QgaGF2ZQorQ0FQX05FVF9BRE1JTiBpbiB0aGUgcm9vdCBuYW1lc3BhY2Us IHNvIHRoZSBuZXcga2VybmVsIGNoZWNrCityZWplY3RzIHRoZSByZXF1ZXN0IHdpdGggRVBFUk0u CisKK0ZpeCB0aGlzIGJ5IHJvdXRpbmcgdGhlIHZldGggY3JlYXRpb24gdGhyb3VnaCB1c2VybnNk IHdoZW4gdGhlCitwZWVyIGxpdmVzIGluIGFuIGV4dGVybmFsIChob3N0KSBuYW1lc3BhY2Ugc3Bl Y2lmaWVkIHZpYSB0aGUKKy0tZXh0ZXJuYWwgdmV0aFtuYW1lXSByZXN0b3JlIG9wdGlvbi4gIHVz ZXJuc2QgcnVucyB3aXRoIHJlYWwKK3Jvb3QgcHJpdmlsZWdlcyBpbiB0aGUgaW5pdCB1c2VyIG5h bWVzcGFjZSwgc28gaXQgcGFzc2VzIHRoZQorY2FwYWJpbGl0eSBjaGVjayBpbiBib3RoIG5hbWVz cGFjZXMuCisKK1RoZSB1c2VybnNkIHBhdGggaXMgb25seSB1c2VkIGZvciBleHRlcm5hbCB2ZXRo IG1hcHBpbmdzLCBub3QgZm9yCitjaGlsZC10by1jaGlsZCBuYW1lc3BhY2UgdmV0aHMgKGhhc19w ZWVyX25zaWQpLCBiZWNhdXNlIGluIHRoYXQKK2Nhc2UgYm90aCBuYW1lc3BhY2VzIHNoYXJlIHRo ZSBzYW1lIHVzZXIgbmFtZXNwYWNlIGFuZCBhbHJlYWR5CitoYXZlIENBUF9ORVRfQURNSU4gaW4g ZWFjaCBvdGhlci4KKworVGhlIGFwcHJvYWNoIG1pcnJvcnMgcmVzdG9yZV9vbmVfbWFjdmxhbigp LCB3aGljaCBhbHJlYWR5IHNvbHZlcwordGhlIHNhbWUgQ0FQX05FVF9BRE1JTi1pbi1ib3RoLW5h bWVzcGFjZXMgcHJvYmxlbSBmb3IgbWFjdmxhbgorZGV2aWNlcy4gIEEgbmV3IHZldGhfbGlua19p bmZvX3VzZXJucygpIGJ1aWxkcyB0aGUgUlRNX05FV0xJTksKK3JlcXVlc3Qgd2l0aG91dCBJRkxB X05FVF9OU19GRCBmb3IgdGhlIHBlZXIgLS0gc2luY2UgdXNlcm5zZAorc2VuZHMgdGhlIHJlcXVl c3QgZnJvbSB0aGUgcm9vdCBuZXR3b3JrIG5hbWVzcGFjZSwgdGhlIHBlZXIKK25hdHVyYWxseSBz dGF5cyB0aGVyZS4gIHVzZXJuc19yZXN0b3JlX29uZV9saW5rKCkgdGhlbiBhZGRzIGEKK3RvcC1s ZXZlbCBJRkxBX05FVF9OU19GRCB0byBtb3ZlIHRoZSBtYWluIGRldmljZSBpbnRvIHRoZSBjaGls ZAorbmFtZXNwYWNlLgorCitBc3Npc3RlZC1ieTogQ2xhdWRlIENvZGUgKGNsYXVkZS1vcHVzLTQt Nik6Y2xhdWRlLW9wdXMtNC02QGRlZmF1bHQKK1NpZ25lZC1vZmYtYnk6IEFkcmlhbiBSZWJlciA8 YXJlYmVyQHJlZGhhdC5jb20+CistLS0KKyBjcml1L25ldC5jIHwgMTA0ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQs IDEwNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jcml1L25ldC5jIGIvY3JpdS9uZXQu YworaW5kZXggZTU3NzVhMzI4Ny4uZTFkYzU5NzNmZCAxMDA2NDQKKy0tLSBhL2NyaXUvbmV0LmMK KysrKyBiL2NyaXUvbmV0LmMKK0BAIC0xNjUzLDYgKzE2NTMsOTQgQEAgc3RhdGljIGludCByZXN0 b3JlX29uZV9tYWN2bGFuKHN0cnVjdCBuc19pZCAqbnMsIHN0cnVjdCBuZXRfbGluayAqbGluaywg aW50IG5sc2sKKyAJcmV0dXJuIHJldDsKKyB9CisgCisrLyoKKysgKiBTaW1wbGlmaWVkIHZldGhf bGlua19pbmZvIGZvciB0aGUgdXNlcm5zZCBwYXRoOiBidWlsZHMgdGhlIHZldGggcGVlcgorKyAq IGluZm8gd2l0aG91dCBhZGRpbmcgSUZMQV9ORVRfTlNfRkQgZm9yIHRoZSBwZWVyLCBzaW5jZSB0 aGUgbmV0bGluaworKyAqIHJlcXVlc3Qgd2lsbCBiZSBzZW50IGZyb20gdXNlcm5zZCdzIG5hbWVz cGFjZSAodGhlIHJvb3QvcGVlciBuYW1lc3BhY2UpCisrICogYW5kIHRoZSBwZWVyIHNob3VsZCBy ZW1haW4gdGhlcmUuCisrICovCisrc3RhdGljIGludCB2ZXRoX2xpbmtfaW5mb191c2VybnMoc3Ry dWN0IG5zX2lkICpucywgc3RydWN0IG5ldF9saW5rICpsaW5rLCBzdHJ1Y3QgbmV3bGlua19yZXEg KnJlcSkKKyt7CisrCU5ldERldmljZUVudHJ5ICpuZGUgPSBsaW5rLT5uZGU7CisrCXN0cnVjdCBy dGF0dHIgKnZldGhfZGF0YSwgKnBlZXJfZGF0YTsKKysJc3RydWN0IGlmaW5mb21zZyBpZm07Cisr CWNoYXIga2V5WzEwMF0sICp2YWw7CisrCisrCWFkZGF0dHJfbCgmcmVxLT5oLCBzaXplb2YoKnJl cSksIElGTEFfSU5GT19LSU5ELCAidmV0aCIsIDQpOworKworKwl2ZXRoX2RhdGEgPSBOTE1TR19U QUlMKCZyZXEtPmgpOworKwlhZGRhdHRyX2woJnJlcS0+aCwgc2l6ZW9mKCpyZXEpLCBJRkxBX0lO Rk9fREFUQSwgTlVMTCwgMCk7CisrCXBlZXJfZGF0YSA9IE5MTVNHX1RBSUwoJnJlcS0+aCk7Cisr CW1lbXNldCgmaWZtLCAwLCBzaXplb2YoaWZtKSk7CisrCisrCWlmIChuZGUtPmhhc19wZWVyX25z aWQpCisrCQlpZm0uaWZpX2luZGV4ID0gbmRlLT5wZWVyX2lmaW5kZXg7CisrCWFkZGF0dHJfbCgm cmVxLT5oLCBzaXplb2YoKnJlcSksIFZFVEhfSU5GT19QRUVSLCAmaWZtLCBzaXplb2YoaWZtKSk7 CisrCisrCS8qIFNldCBwZWVyIG5hbWUgZnJvbSBleHRlcm5hbCBtYXBwaW5nIGlmIGF2YWlsYWJs ZSAqLworKwlzbnByaW50ZihrZXksIHNpemVvZihrZXkpLCAidmV0aFslc10iLCBuZGUtPm5hbWUp OworKwl2YWwgPSBleHRlcm5hbF9sb29rdXBfYnlfa2V5KGtleSk7CisrCWlmICghSVNfRVJSX09S X05VTEwodmFsKSkgeworKwkJY2hhciAqYXV4ID0gc3RyY2hybnVsKHZhbCwgJ0AnKTsKKysKKysJ CWFkZGF0dHJfbCgmcmVxLT5oLCBzaXplb2YoKnJlcSksIElGTEFfSUZOQU1FLCB2YWwsIGF1eCAt IHZhbCk7CisrCX0KKysKKysJLyoKKysJICogTm8gSUZMQV9ORVRfTlNfRkQgZm9yIHRoZSBwZWVy IC0tIHRoZSByZXF1ZXN0IGlzIHNlbnQgZnJvbQorKwkgKiB1c2VybnNkJ3MgbmFtZXNwYWNlICh0 aGUgcm9vdCBuZXR3b3JrIG5hbWVzcGFjZSkgYW5kIHRoZQorKwkgKiBwZWVyIHN0YXlzIHRoZXJl LiAgdXNlcm5zX3Jlc3RvcmVfb25lX2xpbmsoKSBhZGRzIGEgdG9wLWxldmVsCisrCSAqIElGTEFf TkVUX05TX0ZEIHRvIG1vdmUgdGhlIG1haW4gZGV2aWNlIGludG8gdGhlIGNoaWxkIG5ldG5zLgor KwkgKi8KKysKKysJcGVlcl9kYXRhLT5ydGFfbGVuID0gKGNoYXIgKilOTE1TR19UQUlMKCZyZXEt PmgpIC0gKGNoYXIgKilwZWVyX2RhdGE7CisrCXZldGhfZGF0YS0+cnRhX2xlbiA9IChjaGFyICop TkxNU0dfVEFJTCgmcmVxLT5oKSAtIChjaGFyICopdmV0aF9kYXRhOworKworKwlsaW5rLT5jcmVh dGVkID0gdHJ1ZTsKKysKKysJcmV0dXJuIDA7CisrfQorKworKy8qCisrICogV2hlbiBydW5uaW5n IGluIHVzZXIgbmFtZXNwYWNlcyB3aXRoIGEgY3Jvc3MtbmFtZXNwYWNlIHZldGggcGVlciwKKysg KiBDQVBfTkVUX0FETUlOIGlzIHJlcXVpcmVkIGluIGJvdGggbmFtZXNwYWNlcyBmb3IgdmV0aCBj cmVhdGlvbgorKyAqIChrZXJuZWwgPj0gNy4wLCBjb21taXQgN2I3MzVlZjgxMjg2KS4gUm91dGUg dGhlIHJlcXVlc3QgdGhyb3VnaAorKyAqIHVzZXJuc2Qgd2hpY2ggcnVucyB3aXRoIHJlYWwgcm9v dCBwcml2aWxlZ2VzLCBzaW1pbGFyIHRvCisrICogcmVzdG9yZV9vbmVfbWFjdmxhbigpLgorKyAq CisrICogVGhlIG5ldGxpbmsgcmVxdWVzdCBpcyBzZW50IGZyb20gdXNlcm5zZCdzIG5hbWVzcGFj ZSAodGhlIHJvb3QKKysgKiBuZXR3b3JrIG5hbWVzcGFjZSksIHNvIHRoZSB2ZXRoIHBlZXIgc3Rh eXMgdGhlcmUuIFRoZSBtYWluIGRldmljZQorKyAqIGlzIG1vdmVkIHRvIHRoZSBjaGlsZCBuYW1l c3BhY2UgdmlhIGEgdG9wLWxldmVsIElGTEFfTkVUX05TX0ZECisrICogYWRkZWQgYnkgdXNlcm5z X3Jlc3RvcmVfb25lX2xpbmsoKS4KKysgKi8KKytzdGF0aWMgaW50IHJlc3RvcmVfb25lX3ZldGhf dXNlcm5zKHN0cnVjdCBuc19pZCAqbnMsIHN0cnVjdCBuZXRfbGluayAqbGluaykKKyt7CisrCXN0 cnVjdCBuZXdsaW5rX3JlcSByZXE7CisrCWludCBteV9uZXRucywgcmV0OworKworKwlteV9uZXRu cyA9IG9wZW5fcHJvYyhQUk9DX1NFTEYsICJucy9uZXQiKTsKKysJaWYgKG15X25ldG5zIDwgMCkK KysJCXJldHVybiAtMTsKKysKKysJaWYgKHBvcHVsYXRlX25ld2xpbmtfcmVxKG5zLCAmcmVxLCBS VE1fTkVXTElOSywgbGluaywKKysJCQkJdmV0aF9saW5rX2luZm9fdXNlcm5zLCBOVUxMKSA8IDAp IHsKKysJCWNsb3NlKG15X25ldG5zKTsKKysJCXJldHVybiAtMTsKKysJfQorKworKwlwcl9pbmZv KCJSZXN0b3JpbmcgbmV0ZGV2ICVzIGlkeCAlZCB2aWEgdXNlcm5zZFxuIiwKKysJCWxpbmstPm5k ZS0+bmFtZSwgbGluay0+bmRlLT5pZmluZGV4KTsKKysKKysJcmV0ID0gdXNlcm5zX2NhbGwodXNl cm5zX3Jlc3RvcmVfb25lX2xpbmssIDAsCisrCQkJICAmcmVxLCBzaXplb2YocmVxKSwgbXlfbmV0 bnMpOworKwlpZiAocmV0IDwgMCkKKysJCXByX2VycigiY291bGRuJ3QgcmVzdG9yZSB2ZXRoIGlu dGVyZmFjZSAlcyB2aWEgdXNlcm5zZFxuIiwKKysJCSAgICAgICBsaW5rLT5uZGUtPm5hbWUpOwor KworKwljbG9zZShteV9uZXRucyk7CisrCXJldHVybiByZXQ7CisrfQorKworIHN0YXRpYyBpbnQg c2l0X2xpbmtfaW5mbyhzdHJ1Y3QgbnNfaWQgKm5zLCBzdHJ1Y3QgbmV0X2xpbmsgKmxpbmssIHN0 cnVjdCBuZXdsaW5rX3JlcSAqcmVxKQorIHsKKyAJTmV0RGV2aWNlRW50cnkgKm5kZSA9IGxpbmst Pm5kZTsKK0BAIC0xNzYyLDYgKzE4NTAsMjIgQEAgc3RhdGljIGludCBfX3Jlc3RvcmVfbGluayhz dHJ1Y3QgbnNfaWQgKm5zLCBzdHJ1Y3QgbmV0X2xpbmsgKmxpbmssIGludCBubHNrKQorIAkJaWYg KCFJU19FUlJfT1JfTlVMTCh2YWwpKQorIAkJCXJldHVybiBtb3ZlX3ZldGgodmFsLCBucywgbGlu aywgbmxzayk7CisgCisrCQkvKgorKwkJICogQ3JlYXRpbmcgYSB2ZXRoIHdpdGggYSBjcm9zcy1u YW1lc3BhY2UgcGVlciByZXF1aXJlcworKwkJICogQ0FQX05FVF9BRE1JTiBpbiBib3RoIG5hbWVz cGFjZXMgKGtlcm5lbCA+PSA3LjApLgorKwkJICogSW4gdXNlciBuYW1lc3BhY2UgbW9kZSwgcm91 dGUgdGhyb3VnaCB1c2VybnNkIHdoaWNoCisrCQkgKiBoYXMgcmVhbCByb290IHdoZW4gdGhlIHBl ZXIgbGl2ZXMgaW4gYW4gZXh0ZXJuYWwKKysJCSAqIChob3N0KSBuYW1lc3BhY2Ugc3BlY2lmaWVk IHZpYSAtLWV4dGVybmFsIHZldGhbbmFtZV0uCisrCQkgKi8KKysJCWlmIChyb290X25zX21hc2sg JiBDTE9ORV9ORVdVU0VSKSB7CisrCQkJY2hhciB2a2V5WzEwMF07CisrCisrCQkJc25wcmludGYo dmtleSwgc2l6ZW9mKHZrZXkpLCAidmV0aFslc10iLCBuZGUtPm5hbWUpOworKwkJCXZhbCA9IGV4 dGVybmFsX2xvb2t1cF9ieV9rZXkodmtleSk7CisrCQkJaWYgKCFJU19FUlJfT1JfTlVMTCh2YWwp KQorKwkJCQlyZXR1cm4gcmVzdG9yZV9vbmVfdmV0aF91c2VybnMobnMsIGxpbmspOworKwkJfQor KworIAkJcmV0dXJuIHJlc3RvcmVfb25lX2xpbmsobnMsIGxpbmssIG5sc2ssIHZldGhfbGlua19p bmZvLCBOVUxMKTsKKyAJY2FzZSBORF9UWVBFX19UVU46CisgCQlyZXR1cm4gcmVzdG9yZV9vbmVf dHVuKG5zLCBsaW5rLCBubHNrKTsKCmRpZmYgLS1naXQgYS8wMDAzLXpkdG0tRml4LXJzZXEwMS10 ZXN0LWZvci1rZXJuZWwtNy4wLXJzZXEtY2hhbmdlcy5wYXRjaCBiLzAwMDMtemR0bS1GaXgtcnNl cTAxLXRlc3QtZm9yLWtlcm5lbC03LjAtcnNlcS1jaGFuZ2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZWFkOTMKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAzLXpk dG0tRml4LXJzZXEwMS10ZXN0LWZvci1rZXJuZWwtNy4wLXJzZXEtY2hhbmdlcy5wYXRjaApAQCAt MCwwICsxLDE2MyBAQAorRnJvbSAxNDU3NGFmZDMyMjExMzYzMGI4OTdmNWY3ZDA4YTI5MmZiMDZj ZTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWRyaWFuIFJlYmVyIDxhcmViZXJA cmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMjEgQXByIDIwMjYgMDk6MzA6MTcgKzAwMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gemR0bTogRml4IHJzZXEwMSB0ZXN0IGZvciBrZXJuZWwgNy4wIHJzZXEgY2hh bmdlcworCitTdGFydGluZyB3aXRoIExpbnV4IDcuMCwgdGhlIHJzZXEgZmVhdHVyZSBzaXplIGhh cyBncm93biB0byAzMyBieXRlcworYW5kIEFUX1JTRVFfQUxJR04gaGFzIGluY3JlYXNlZCB0byA2 NC4gIFRoaXMgY2F1c2VzIHNpemVvZihzdHJ1Y3QgcnNlcSkKK2Zyb20gdGhlIHVhcGkgaGVhZGVy IHRvIGJlIDY0ICgzMyBieXRlcyBwYWRkZWQgdG8gYWxpZ25lZCgzMikpLCB3aGlsZQordGhlIGFj dHVhbCByZWdpc3RyYXRpb24gc2l6ZSB1c2VkIGJ5IGdsaWJjIChfX3JzZXFfc2l6ZSkgaXMgMzMu CisKK1RoZSByc2VxMDEgdGVzdCB3YXMgdXNpbmcgc2l6ZW9mKHN0cnVjdCByc2VxKSBhcyB0aGUg cmVnaXN0cmF0aW9uCitzaXplIGFuZCBhIHRlc3QtbG9jYWwgX19yc2VxX2FiaSB2YXJpYWJsZSAo d2l0aCBvbmx5IDMyLWJ5dGUKK2FsaWdubWVudCBmcm9tIHRoZSB1YXBpIGhlYWRlcikgYXMgdGhl IHJzZXEgYXJlYS4gIEJvdGggYXJlCit3cm9uZyBvbiBrZXJuZWwgNy4wOgorCisgLSBUaGUga2Vy bmVsIG5vdyBjaGVja3MgYWxpZ25tZW50IGFnYWluc3QgX19hbGlnbm9mX18oc3RydWN0IHJzZXEp CisgICB3aGljaCBpcyA2NCBpbnRlcm5hbGx5OyB0aGUgMzItYnl0ZS1hbGlnbmVkIHRlc3QgdmFy aWFibGUgbWF5CisgICBub3Qgc2F0aXNmeSB0aGlzLgorCisgLSBzaXplb2Yoc3RydWN0IHJzZXEp ID0gNjQgZG9lcyBub3QgbWF0Y2ggdGhlIGZlYXR1cmUgc2l6ZSBvZiAzMworICAgdGhhdCBnbGli YyByZWdpc3RlcmVkIHdpdGgsIHNvIHJlLXJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50Cisg ICBzaXplIGZhaWxzLgorCitGaXggYnk6CisKKyAtIFVzaW5nIF9fcnNlcV9zaXplICh0aGUgZmVh dHVyZSBzaXplIHJlcG9ydGVkIGJ5IGdsaWJjKSBhcyB0aGUKKyAgIHJlZ2lzdHJhdGlvbiBzaXpl IGluc3RlYWQgb2Ygc2l6ZW9mKHN0cnVjdCByc2VxKS4KKworIC0gVXNpbmcgdGhlIGdsaWJjLXBy b3ZpZGVkIHJzZXEgYXJlYSAoYXQgdGhyZWFkX3BvaW50ZXIoKSArCisgICBfX3JzZXFfb2Zmc2V0 KSB3aGljaCBpcyBhbGxvY2F0ZWQgd2l0aCBwcm9wZXIgQVRfUlNFUV9BTElHTgorICAgYWxpZ25t ZW50LCBpbnN0ZWFkIG9mIGEgdGVzdC1sb2NhbCB2YXJpYWJsZS4KKworQm90aCBmYWxsIGJhY2sg dG8gdGhlIHByZXZpb3VzIGJlaGF2aW9yIHdoZW4gZ2xpYmMgcnNlcSBzdXBwb3J0CitpcyBub3Qg YXZhaWxhYmxlLgorCitUaGlzIG1pcnJvcnMgdGhlIGdsaWJjIGZpeDoKKworICAgIGh0dHBzOi8v c291cmNld2FyZS5vcmcvY2dpdC9nbGliYy9jb21taXQvP2lkPTY3ZjMwM2I0N2RjNTg0ZjIwNGUz ZjI0NDFiOTgzMjA4MjQxNWVlYmMKKworQXNzaXN0ZWQtYnk6IENsYXVkZSBDb2RlIChjbGF1ZGUt b3B1cy00LTYpOmNsYXVkZS1vcHVzLTQtNkBkZWZhdWx0CitTaWduZWQtb2ZmLWJ5OiBBZHJpYW4g UmViZXIgPGFyZWJlckByZWRoYXQuY29tPgorLS0tCisgdGVzdC96ZHRtL3RyYW5zaXRpb24vcnNl cTAxLmMgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQorIDEgZmlsZSBj aGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv dGVzdC96ZHRtL3RyYW5zaXRpb24vcnNlcTAxLmMgYi90ZXN0L3pkdG0vdHJhbnNpdGlvbi9yc2Vx MDEuYworaW5kZXggMDhhN2E4ZTFhNi4uOWM1OTI1YmM0NSAxMDA2NDQKKy0tLSBhL3Rlc3QvemR0 bS90cmFuc2l0aW9uL3JzZXEwMS5jCisrKysgYi90ZXN0L3pkdG0vdHJhbnNpdGlvbi9yc2VxMDEu YworQEAgLTIwLDkgKzIwLDE5IEBACisgI2VuZGlmCisgI2VuZGlmCisgCisrLyoKKysgKiBIQVZF X0dMSUJDX1JTRVEgaXMgc2V0IHdoZW4gdGhlIEMgbGlicmFyeSBwcm92aWRlcyByc2VxIHN1cHBv cnQKKysgKiAoX19yc2VxX3NpemUsIF9fcnNlcV9vZmZzZXQpLiAgZ2xpYmMgPj0gMi4zNSBkZWZp bmVzIFJTRVFfU0lHIGluCisrICogPHN5cy9yc2VxLmg+OyBtdXNsIGRvZXMgbm90LCBzbyB0aGUg dGVzdCBmYWxscyBiYWNrIHRvIGl0cyBvd24KKysgKiBkZWZpbml0aW9ucyBiZWxvdy4KKysgKi8K KysjaWYgZGVmaW5lZChSU0VRX1NJRykKKysjZGVmaW5lIEhBVkVfR0xJQkNfUlNFUSAxCisrI2Vu ZGlmCisrCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykKKyAKKy0jaWYgZGVmaW5lZChfX3g4Nl82 NF9fKSAmJiBkZWZpbmVkKFJTRVFfU0lHKQorKyNpZmRlZiBIQVZFX0dMSUJDX1JTRVEKKyBzdGF0 aWMgaW5saW5lIHZvaWQgKnRocmVhZF9wb2ludGVyKHZvaWQpCisgeworIAl2b2lkICpyZXN1bHQ7 CitAQCAtMzgsMTEgKzQ4LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX29sZF9y c2VxKHZvaWQpCisgCQlzaXplID0gMzI7CisgCXN5c2NhbGwoX19OUl9yc2VxLCAodm9pZCAqKSgo Y2hhciAqKXRocmVhZF9wb2ludGVyKCkgKyBfX3JzZXFfb2Zmc2V0KSwgc2l6ZSwgMSwgUlNFUV9T SUcpOworIH0KKy0jZWxzZQorKyNlbHNlIC8qICFIQVZFX0dMSUJDX1JTRVEgKi8KKyBzdGF0aWMg aW5saW5lIHZvaWQgdW5yZWdpc3Rlcl9vbGRfcnNlcSh2b2lkKQorIHsKKyB9CistI2VuZGlmCisr I2VuZGlmIC8qIEhBVkVfR0xJQkNfUlNFUSAqLworIAorIGNvbnN0IGNoYXIgKnRlc3RfZG9jID0g InJzZXEoKSB0cmFuc2l0aW9uIHRlc3QiOworIGNvbnN0IGNoYXIgKnRlc3RfYXV0aG9yID0gIkFs ZXhhbmRlciBNaWtoYWxpdHN5biA8YWxleGFuZGVyLm1pa2hhbGl0c3luQHZpcnR1b3p6by5jb20+ IjsKK0BAIC05NywxMSArMTA3LDI3IEBAIHN0YXRpYyBpbnQgc3lzX3JzZXEodm9sYXRpbGUgc3Ry dWN0IHJzZXEgKnJzZXFfYWJpLCB1aW50MzJfdCByc2VxX2xlbiwgaW50IGZsYWdzCisgCXJldHVy biBzeXNjYWxsKF9fTlJfcnNlcSwgcnNlcV9hYmksIHJzZXFfbGVuLCBmbGFncywgc2lnKTsKKyB9 CisgCisrLyoKKysgKiBSZXR1cm4gdGhlIHJzZXEgcmVnaXN0cmF0aW9uIHNpemUuICBTdGFydGlu ZyB3aXRoIExpbnV4IDcuMCwKKysgKiBBVF9SU0VRX0FMSUdOIGlzIDY0IGJ1dCB0aGUgZmVhdHVy ZSBzaXplIGlzIDMzLCBzbyBzaXplb2Yoc3RydWN0IHJzZXEpCisrICogKHBhZGRlZCB0byBhbGln bm1lbnQpIG5vIGxvbmdlciBtYXRjaGVzIHRoZSByZWdpc3RyYXRpb24gc2l6ZSB0aGUga2VybmVs CisrICogZXhwZWN0cy4gIFVzZSBfX3JzZXFfc2l6ZSB3aGVuIGF2YWlsYWJsZSwgY2xhbXBlZCB0 byBhIG1pbmltdW0gb2YgMzIKKysgKiBmb3Igb2xkZXIga2VybmVscyAobWlycm9yaW5nIGdsaWJj J3MgcnNlcS1pbnRlcm5hbC5oKS4KKysgKi8KKytzdGF0aWMgdWludDMyX3QgcnNlcV9yZWdfc2l6 ZSh2b2lkKQorK3sKKysjaWZkZWYgSEFWRV9HTElCQ19SU0VRCisrCWlmIChfX3JzZXFfc2l6ZSkK KysJCXJldHVybiAoX19yc2VxX3NpemUgPCAzMikgPyAzMiA6IF9fcnNlcV9zaXplOworKyNlbmRp ZgorKwlyZXR1cm4gc2l6ZW9mKHN0cnVjdCByc2VxKTsKKyt9CisrCisgc3RhdGljIHZvaWQgcmVn aXN0ZXJfdGhyZWFkKHZvaWQpCisgeworIAlpbnQgcmM7CisgCXVucmVnaXN0ZXJfb2xkX3JzZXEo KTsKKy0JcmMgPSBzeXNfcnNlcShyc2VxX3B0ciwgc2l6ZW9mKHN0cnVjdCByc2VxKSwgMCwgUlNF UV9TSUcpOworKwlyYyA9IHN5c19yc2VxKHJzZXFfcHRyLCByc2VxX3JlZ19zaXplKCksIDAsIFJT RVFfU0lHKTsKKyAJaWYgKHJjKSB7CisgCQlmYWlsKCJGYWlsZWQgdG8gcmVnaXN0ZXIgcnNlcSIp OworIAkJZXhpdCgxKTsKK0BAIC0xMTEsNyArMTM3LDcgQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJf dGhyZWFkKHZvaWQpCisgc3RhdGljIHZvaWQgY2hlY2tfdGhyZWFkKHZvaWQpCisgeworIAlpbnQg cmM7CistCXJjID0gc3lzX3JzZXEocnNlcV9wdHIsIHNpemVvZihzdHJ1Y3QgcnNlcSksIDAsIFJT RVFfU0lHKTsKKysJcmMgPSBzeXNfcnNlcShyc2VxX3B0ciwgcnNlcV9yZWdfc2l6ZSgpLCAwLCBS U0VRX1NJRyk7CisgCWlmICghKHJjICYmIGVycm5vID09IEVCVVNZKSkgeworIAkJZmFpbCgiRmFp bGVkIHRvIGNoZWNrIHJzZXEgJWQiLCByYyk7CisgCQlleGl0KDEpOworQEAgLTIwNiwxMiArMjMy LDI3IEBAIHN0YXRpYyBpbnRwdHJfdCAqY3B1X2RhdGE7CisgYm9vbCBpZ25vcmVfYWJvcnQgPSB0 cnVlOworIGludCB0aHJlYWRfcmV0OworIAorK3N0YXRpYyB2b2xhdGlsZSBzdHJ1Y3QgcnNlcSAq cnNlcV9hcmVhKHZvaWQpCisreworKyNpZmRlZiBIQVZFX0dMSUJDX1JTRVEKKysJLyoKKysJICog VXNlIHRoZSBnbGliYy1wcm92aWRlZCByc2VxIGFyZWEgd2hpY2ggaXMgYWxsb2NhdGVkIHdpdGgg dGhlCisrCSAqIGNvcnJlY3QgYWxpZ25tZW50IChBVF9SU0VRX0FMSUdOLCA2NCBvbiBrZXJuZWwg Pj0gNy4wKS4KKysJICogVGhlIHRlc3QtbG9jYWwgX19yc2VxX2FiaSBvbmx5IGhhcyB0aGUgdWFw aSBoZWFkZXIgYWxpZ25tZW50CisrCSAqICgzMiBieXRlcykgd2hpY2ggbWF5IG5vdCBzYXRpc2Z5 IHRoZSBrZXJuZWwncyByZXF1aXJlbWVudC4KKysJICovCisrCWlmIChfX3JzZXFfc2l6ZSkKKysJ CXJldHVybiAodm9sYXRpbGUgc3RydWN0IHJzZXEgKikoKGNoYXIgKil0aHJlYWRfcG9pbnRlcigp ICsgX19yc2VxX29mZnNldCk7CisrI2VuZGlmCisrCXJldHVybiAmX19yc2VxX2FiaTsKKyt9Cisr Cisgdm9pZCAqdGhyZWFkX3JvdXRpbmUodm9pZCAqYXJncykKKyB7CisgCWludCBjcHU7CisgCist CXJzZXFfcHRyID0gJl9fcnNlcV9hYmk7CistCW1lbXNldCgodm9pZCAqKXJzZXFfcHRyLCAwLCBz aXplb2Yoc3RydWN0IHJzZXEpKTsKKysJcnNlcV9wdHIgPSByc2VxX2FyZWEoKTsKKysJbWVtc2V0 KCh2b2lkICopcnNlcV9wdHIsIDAsIHJzZXFfcmVnX3NpemUoKSk7CisgCXJlZ2lzdGVyX3RocmVh ZCgpOworIAl0YXNrX3dhaXRlcl9jb21wbGV0ZSgmd2FpdGVyLCAxKTsKKyAJdGFza193YWl0ZXJf d2FpdDQoJndhaXRlciwgMik7CitAQCAtMjM1LDggKzI3Niw4IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCisgCWxvbmcgbnJfY3B1czsKKyAJcHRocmVhZF90IHRocmVhZDsKKyAK Ky0JcnNlcV9wdHIgPSAmX19yc2VxX2FiaTsKKy0JbWVtc2V0KCh2b2lkICopcnNlcV9wdHIsIDAs IHNpemVvZihzdHJ1Y3QgcnNlcSkpOworKwlyc2VxX3B0ciA9IHJzZXFfYXJlYSgpOworKwltZW1z ZXQoKHZvaWQgKilyc2VxX3B0ciwgMCwgcnNlcV9yZWdfc2l6ZSgpKTsKKyAKKyAJdGVzdF9pbml0 KGFyZ2MsIGFyZ3YpOworIAlucl9jcHVzID0gc3lzY29uZihfU0NfTlBST0NFU1NPUlNfT05MTik7 CgpkaWZmIC0tZ2l0IGEvMDAwNC1zb2NrZXRzLVRyZWF0LVVEUExJVEUtYXMtb3B0aW9uYWwtaW4t Y29sbGVjdF9lcnIucGF0Y2ggYi8wMDA0LXNvY2tldHMtVHJlYXQtVURQTElURS1hcy1vcHRpb25h bC1pbi1jb2xsZWN0X2Vyci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4xY2Q4ZjEyCi0tLSAvZGV2L251bGwKKysrIGIvMDAwNC1zb2NrZXRzLVRyZWF0LVVEUExJVEUt YXMtb3B0aW9uYWwtaW4tY29sbGVjdF9lcnIucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSAx Y2Y4ZDNiMjFjNjRmMGVmMzMxMDMwMTAxOTEzNjQzM2ZjOWY2MzkyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogQWRyaWFuIFJlYmVyIDxhcmViZXJAcmVkaGF0LmNvbT4KK0RhdGU6IE1v biwgMjAgQXByIDIwMjYgMTk6MTk6NDIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gc29ja2V0czog VHJlYXQgVURQTElURSBhcyBvcHRpb25hbCBpbiBjb2xsZWN0X2VycigpCisKK0tlcm5lbCA3LjEg cmVtb3ZlZCBJUFBST1RPX1VEUExJVEUgc3VwcG9ydC4gV2hlbiB0aGUgVURQTElURSBkaWFnCitt b2R1bGUgaXMgYWJzZW50LCB0aGUgbmV0bGluayByZXF1ZXN0IHJldHVybnMgLUVOT0VOVCwgd2hp Y2ggQ1JJVQord2FzIHRyZWF0aW5nIGFzIGEgZmF0YWwgZXJyb3IgY2F1c2luZyB0aGUgZW50aXJl IGR1bXAgdG8gZmFpbC4KKworQXBwbHkgdGhlIHNhbWUgdHJlYXRtZW50IGFzIElQUFJPVE9fUkFX OiByZXR1cm4gc3VjY2VzcyBmcm9tIHRoZQorZXJyb3IgY2FsbGJhY2sgc28gdGhlIGR1bXAgY2Fu IHByb2NlZWQuIElmIGEgVURQTElURSBzb2NrZXQgaXMKK2FjdHVhbGx5IGVuY291bnRlcmVkLCBp dCB3aWxsIGZhaWwgYXQgbG9va3VwIHRpbWUgd2l0aCBhIGNsZWFyCitlcnJvciByYXRoZXIgdGhh biBmYWlsaW5nIHRoZSBlbnRpcmUgZHVtcCBwcmVlbXB0aXZlbHkuCisKK0ZpeGVzOiBodHRwczov L2dpdGh1Yi5jb20vY2hlY2twb2ludC1yZXN0b3JlL2NyaXUvaXNzdWVzLzMwMDIKKworQXNzaXN0 ZWQtYnk6IENsYXVkZSBDb2RlIChjbGF1ZGUtb3B1cy00LTYpOmNsYXVkZS1vcHVzLTQtNkBkZWZh dWx0CitTaWduZWQtb2ZmLWJ5OiBBZHJpYW4gUmViZXIgPGFyZWJlckByZWRoYXQuY29tPgorLS0t CisgY3JpdS9zb2NrZXRzLmMgfCAxNCArKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA5 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jcml1L3NvY2tl dHMuYyBiL2NyaXUvc29ja2V0cy5jCitpbmRleCBlNGFkYWUwM2NkLi43Nzc4YjQ2ODgxIDEwMDY0 NAorLS0tIGEvY3JpdS9zb2NrZXRzLmMKKysrKyBiL2NyaXUvc29ja2V0cy5jCitAQCAtODI3LDE2 ICs4MjcsMjAgQEAgc3RhdGljIGludCBjb2xsZWN0X2VycihpbnQgZXJyLCBzdHJ1Y3QgbnNfaWQg Km5zLCB2b2lkICphcmcpCisgCWlmIChlcnIgPT0gLUVOT0VOVCkgeworIAkJcHJfZGVidWcoIiVz OiAlZFxuIiwgbXNnLCBlcnIpOworIAkJLyoKKy0JCSAqIFVubGlrZSBvdGhlciBtb2R1bGVzIFJB VyBzb2NrZXRzIGFyZQorLQkJICogYWx3YXlzIG9wdGlvbmFsIGFuZCBub3QgY29tbW9ubHkgdXNl ZC4KKysJCSAqIFVubGlrZSBvdGhlciBtb2R1bGVzIFJBVyBhbmQgVURQTElURSBzb2NrZXRzCisr CQkgKiBhcmUgYWx3YXlzIG9wdGlvbmFsIGFuZCBub3QgY29tbW9ubHkgdXNlZC4KKyAJCSAqIEN1 cnJlbnRseSB3ZSB3YXJuIHVzZXIgYWJvdXQgbGFjayBvZgorIAkJICogYSBwYXJ0aWN1bGFyIG1v ZHVsZSBzdXBwb3J0IGluICJjaGVjayIKKyAJCSAqIHByb2NlZHVyZS4gVGh1cyBkb24ndCBmYWls IG9uIGxhY2sgb2YKKy0JCSAqIFJBVyBkaWFncyBpbiBhIHJlZ3VsYXIgZHVtcC4gSWYgd2UgbWVl dAorLQkJICogYSByYXcgc29ja2V0IHdlIHdpbGwgc2ltcGx5IGZhaWwgb24gZHVtcAorKwkJICog dGhlc2UgZGlhZ3MgaW4gYSByZWd1bGFyIGR1bXAuIElmIHdlIG1lZXQKKysJCSAqIHN1Y2ggYSBz b2NrZXQgd2Ugd2lsbCBzaW1wbHkgZmFpbCBvbiBkdW1wCisgCQkgKiBwcm9jZWR1cmUgYmVjYXVz ZSBpdCB3b24ndCBiZSByZXNvbHZlZC4KKysJCSAqCisrCQkgKiBOb3RlOiBJUFBST1RPX1VEUExJ VEUgc3VwcG9ydCB3YXMgcmVtb3ZlZAorKwkJICogZnJvbSB0aGUga2VybmVsIHN0YXJ0aW5nIHdp dGggdjcuMS4KKyAJCSAqLworLQkJaWYgKGdyLT5wcm90b2NvbCA9PSBJUFBST1RPX1JBVykKKysJ CWlmIChnci0+cHJvdG9jb2wgPT0gSVBQUk9UT19SQVcgfHwKKysJCSAgICBnci0+cHJvdG9jb2wg PT0gSVBQUk9UT19VRFBMSVRFKQorIAkJCXJldHVybiAwOworIAkJcmV0dXJuIC1FTk9FTlQ7Cisg CX0KCmRpZmYgLS1naXQgYS8wMDA1LXpkdG0tU2tpcC1zb2NrZXRfdWRwbGl0ZS10ZXN0LXdoZW4t a2VybmVsLWxhY2tzLVVEUExJVEUucGF0Y2ggYi8wMDA1LXpkdG0tU2tpcC1zb2NrZXRfdWRwbGl0 ZS10ZXN0LXdoZW4ta2VybmVsLWxhY2tzLVVEUExJVEUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNWQ5ZDVkNQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDUtemR0bS1T a2lwLXNvY2tldF91ZHBsaXRlLXRlc3Qtd2hlbi1rZXJuZWwtbGFja3MtVURQTElURS5wYXRjaApA QCAtMCwwICsxLDM3IEBACitGcm9tIDIzOTA1YzI2Yjg2YWZkYzAxYmNmYTg1YWUwYTNhYWIwMTVm YzgxZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBZHJpYW4gUmViZXIgPGFyZWJl ckByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAyMSBBcHIgMjAyNiAwNzo1ODowMCArMDAwMAorU3Vi amVjdDogW1BBVENIXSB6ZHRtOiBTa2lwIHNvY2tldF91ZHBsaXRlIHRlc3Qgd2hlbiBrZXJuZWwg bGFja3MgVURQTElURQorCitLZXJuZWwgNy4xIHJlbW92ZWQgSVBQUk9UT19VRFBMSVRFIHN1cHBv cnQuIEFkZCBhIGNoZWNrc2tpcAorc2NyaXB0IHRoYXQgcHJvYmVzIGZvciBhIFVEUExJVEUgc29j a2V0IGFuZCBza2lwcyB0aGUgdGVzdAord2l0aCBFUFJPVE9OT1NVUFBPUlQgaW5zdGVhZCBvZiBm YWlsaW5nLgorCitBc3Npc3RlZC1ieTogQ2xhdWRlIENvZGUgKGNsYXVkZS1vcHVzLTQtNik6Y2xh dWRlLW9wdXMtNC02QGRlZmF1bHQKK1NpZ25lZC1vZmYtYnk6IEFkcmlhbiBSZWJlciA8YXJlYmVy QHJlZGhhdC5jb20+CistLS0KKyB0ZXN0L3pkdG0vc3RhdGljL3NvY2tldF91ZHBsaXRlLmNoZWNr c2tpcCB8IDE1ICsrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25z KCspCisgY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3QvemR0bS9zdGF0aWMvc29ja2V0X3VkcGxpdGUu Y2hlY2tza2lwCisKK2RpZmYgLS1naXQgYS90ZXN0L3pkdG0vc3RhdGljL3NvY2tldF91ZHBsaXRl LmNoZWNrc2tpcCBiL3Rlc3QvemR0bS9zdGF0aWMvc29ja2V0X3VkcGxpdGUuY2hlY2tza2lwCitu ZXcgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXggMDAwMDAwMDAwMC4uYTU2MjU1MDg0MworLS0tIC9k ZXYvbnVsbAorKysrIGIvdGVzdC96ZHRtL3N0YXRpYy9zb2NrZXRfdWRwbGl0ZS5jaGVja3NraXAK K0BAIC0wLDAgKzEsMTUgQEAKKysjIS91c3IvYmluL2VudiBweXRob24zCisrIyBJUFBST1RPX1VE UExJVEUgd2FzIHJlbW92ZWQgaW4ga2VybmVsIDcuMSwgc2tpcCB0aGUgdGVzdCBpZiB0aGUKKysj IHByb3RvY29sIGlzIG5vdCBhdmFpbGFibGUuCisraW1wb3J0IHNvY2tldAorK2ltcG9ydCBlcnJu bworKworK3RyeToKKysJc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tf REdSQU0sIHNvY2tldC5JUFBST1RPX1VEUExJVEUpLmNsb3NlKCkKKytleGNlcHQgT1NFcnJvciBh cyBlOgorKwlpZiBlLmVycm5vID09IGVycm5vLkVQUk9UT05PU1VQUE9SVDoKKysJCXByaW50KCJV RFBMSVRFIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwuIikKKysJCWV4aXQoMSkKKysJ cmFpc2UKKysKKytleGl0KDApCgpkaWZmIC0tZ2l0IGEvY3JpdS5zcGVjIGIvY3JpdS5zcGVjCmlu ZGV4IGFmMDgzYTIuLjM4MzIxM2EgMTAwNjQ0Ci0tLSBhL2NyaXUuc3BlYworKysgYi9jcml1LnNw ZWMKQEAgLTEzLDEzICsxMywxNyBAQAogCiBOYW1lOiBjcml1CiBWZXJzaW9uOiA0LjIKLVJlbGVh c2U6IDE3JXs/ZGlzdH0KK1JlbGVhc2U6IDE4JXs/ZGlzdH0KIFN1bW1hcnk6IFRvb2wgZm9yIENo ZWNrcG9pbnQvUmVzdG9yZSBpbiBVc2VyLXNwYWNlCiBMaWNlbnNlOiBHUEwtMi4wLW9ubHkgQU5E IExHUEwtMi4xLW9ubHkgQU5EIE1JVAogVVJMOiBodHRwOi8vY3JpdS5vcmcvCiBTb3VyY2UwOiBo dHRwczovL2dpdGh1Yi5jb20vY2hlY2twb2ludC1yZXN0b3JlL2NyaXUvYXJjaGl2ZS92JXt2ZXJz aW9ufS9jcml1LSV7dmVyc2lvbn0udGFyLmd6CiBQYXRjaDA6IDAwMDEtcnNlcS11c2Uta2VybmVs LXJzZXEuaC13aGVuLWdsaWJjLWRldGVjdHMtaXQucGF0Y2gKIFBhdGNoMTogMDAwMS10dHktZml4 LWNvbXBpbGVyLWVycm9yLnBhdGNoCitQYXRjaDI6IDAwMDItbmV0LVJvdXRlLXZldGgtcmVzdG9y ZS10aHJvdWdoLXVzZXJuc2QtZm9yLXVzZXJucy1tb2RlLnBhdGNoCitQYXRjaDM6IDAwMDMtemR0 bS1GaXgtcnNlcTAxLXRlc3QtZm9yLWtlcm5lbC03LjAtcnNlcS1jaGFuZ2VzLnBhdGNoCitQYXRj aDQ6IDAwMDQtc29ja2V0cy1UcmVhdC1VRFBMSVRFLWFzLW9wdGlvbmFsLWluLWNvbGxlY3RfZXJy LnBhdGNoCitQYXRjaDU6IDAwMDUtemR0bS1Ta2lwLXNvY2tldF91ZHBsaXRlLXRlc3Qtd2hlbi1r ZXJuZWwtbGFja3MtVURQTElURS5wYXRjaAogCiAjIEFkZCBwcm90b2J1Zi1jIGFzIGEgZGVwZW5k ZW5jeS4KICMgV2UgdXNlIHRoaXMgcGF0Y2ggYmVjYXVzZSB0aGUgcHJvdG9idWYtYyBwYWNrYWdl IG5hbWUKQEAgLTExOCw2ICsxMjIsMTAgQEAgVGhpcyBzY3JpcHQgY2FuIGhlbHAgdG8gd29ya2Fy b3VuZCB0aGUgc28gY2FsbGVkICJQSUQgbWlzbWF0Y2giIHByb2JsZW0uCiAlc2V0dXAgLXEKICVw YXRjaCAtUCAwIC1wMQogJXBhdGNoIC1QIDEgLXAxCislcGF0Y2ggLVAgMiAtcDEKKyVwYXRjaCAt UCAzIC1wMQorJXBhdGNoIC1QIDQgLXAxCislcGF0Y2ggLVAgNSAtcDEKICVwYXRjaCAtUCA5OSAt cDEKIAogJWJ1aWxkCkBAIC0yMDYsNiArMjE0LDExIEBAIHJtIC1mICRSUE1fQlVJTERfUk9PVCV7 X2xpYmRpcn0vbGliY3JpdS5hCiAldG1wZmlsZXNfY3JlYXRlICV7bmFtZX0uY29uZgogCiAlY2hh bmdlbG9nCisqIFdlZCBBcHIgMjIgMjAyNiBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4g LSA0LjItMTgKKy0gUm91dGUgdmV0aCByZXN0b3JlIHRocm91Z2ggdXNlcm5zZCBmb3IgdXNlcm5z IG1vZGUgKHVwc3RyZWFtIFBSIzMwMDYpCistIEZpeCByc2VxMDEgdGVzdCBmb3Iga2VybmVsIDcu MCByc2VxIGNoYW5nZXMgKHVwc3RyZWFtIFBSIzMwMDcpCistIEhhbmRsZSBVRFBMSVRFIHJlbW92 YWwgaW4ga2VybmVsIDcuMSAodXBzdHJlYW0gUFIjMzAwMykKKwogKiBUaHUgTWFyIDI2IDIwMjYg QWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gNC4yLTE3CiAtIEFsd2F5cyB1c2UgbmZ0 YWJsZXMgbmV0d29yayBsb2NraW5nIGJhY2tlbmQKIAo=