From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5045 invoked by alias); 12 Feb 2009 07:16:31 -0000 Received: (qmail 5001 invoked by uid 22791); 12 Feb 2009 07:16:14 -0000 X-SWARE-Spam-Status: No, hits=3.9 required=5.0 tests=AWL,BAYES_50,J_CHICKENPOX_13,J_CHICKENPOX_16,J_CHICKENPOX_23,J_CHICKENPOX_27,J_CHICKENPOX_32,J_CHICKENPOX_34,J_CHICKENPOX_36,J_CHICKENPOX_44,J_CHICKENPOX_47,J_CHICKENPOX_52,J_CHICKENPOX_84,LONGWORDS,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from ti-out-0910.google.com (HELO ti-out-0910.google.com) (209.85.142.190) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 12 Feb 2009 07:15:57 +0000 Received: by ti-out-0910.google.com with SMTP id y8so308954tia.12 for ; Wed, 11 Feb 2009 23:15:52 -0800 (PST) MIME-Version: 1.0 Received: by 10.110.14.12 with SMTP id 12mr682433tin.22.1234422952278; Wed, 11 Feb 2009 23:15:52 -0800 (PST) In-Reply-To: <1232929826.26873.21.camel@miki> References: <1232929826.26873.21.camel@miki> Date: Thu, 12 Feb 2009 07:16:00 -0000 Message-ID: Subject: Re: [PATCH 0/4] catch syscall -- try 4 -- Introduction From: teawater To: gdb-patches@sourceware.org, =?ISO-8859-1?Q?S=E9rgio_Durigan_J=FAnior?= Content-Type: multipart/mixed; boundary=0016e652ff9a92bd3e0462b37d2f X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-02/txt/msg00277.txt.bz2 --0016e652ff9a92bd3e0462b37d2f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1652 Hi, I got some error when I try to patch these patches to cvs-head. So I update them. They just for try. If you need official version, you still need mail to S=E9rgio. :) Thanks, Hui On Mon, Jan 26, 2009 at 08:30, S=E9rgio Durigan J=FAnior wrote: > Hello everybody, > > It's been a while since I don't post anything related to this patch, so > I apologize. I've been busy with some other activities, so I had to use > my spare time to work on this now. > > Here goes the fourth version of the catch syscall patch. For those of > you who have been following the improvements, there's not so much to see > in this version if you compare it to the previous one; even though, it's > worth taking a look at it because there are lots of bug fixes (the vast > majority were fixed by Jan K. , to whom I'd like to give my special > thanks). The basic functionality remains the same. > > Many thanks to Jan K., Phil Muldoon, Rick Moseley and Tom Tromey for > dedicating their time to this activity. Also, thanks to teawater and > Daniel Jacobowitz for bringing this patch back to discussion. > > The division of the patch is basically the same: the first part contains > architecture-independent code; the second contains > architecture-dependent; the third is for the XML support code; and the > fourth contains code for the build system, testacase and documentation. > Please, apply all four patches in order to have GDB compiled correctly. > > Please, comment, test and review. > > Regards, > > -- > S=E9rgio Durigan J=FAnior > Linux on Power Toolchain - Software Engineer > Linux Technology Center - LTC > IBM Brazil > > --0016e652ff9a92bd3e0462b37d2f Content-Type: text/x-patch; charset=US-ASCII; name="catch-syscall-arch-dep.patch" Content-Disposition: attachment; filename="catch-syscall-arch-dep.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fr33t0q10 Content-length: 24047 LS0tCiBnZGIvaTM4Ni1saW51eC1uYXQuYyAgfCAgICA4ICsrLQogZ2RiL2kz ODYtbGludXgtdGRlcC5jIHwgICAzMiArKysrKysrKysrKysKIGdkYi9saW51 eC1uYXQuYyAgICAgICB8ICAxMjkgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGdkYi9saW51eC1uYXQuaCAg ICAgICB8ICAgIDcgKysKIGdkYi9saW51eC10ZGVwLmMgICAgICB8ICAgOTUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBnZGIvbGlu dXgtdGRlcC5oICAgICAgfCAgICAyIAogZ2RiL3BwYy1saW51eC10ZGVwLmMg IHwgICA0OCArKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwg MzEyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgotLS0gYS9nZGIv aTM4Ni1saW51eC1uYXQuYworKysgYi9nZGIvaTM4Ni1saW51eC1uYXQuYwpA QCAtNzQ4LDcgKzc0OCwxMyBAQCBpMzg2X2xpbnV4X3Jlc3VtZSAocHRpZF90 IHB0aWQsIGludCBzdGVwCiB7CiAgIGludCBwaWQgPSBQSURHRVQgKHB0aWQp OwogCi0gIGludCByZXF1ZXN0ID0gUFRSQUNFX0NPTlQ7CisgIGludCByZXF1 ZXN0OworCisgIGlmICh0YXJnZXRfcGFzc2VkX2J5X2VudHJ5cG9pbnQgKCkg PiAwCisgICAgICAmJiBjYXRjaF9zeXNjYWxsX2VuYWJsZWQgKCkgPiAwKQor ICAgcmVxdWVzdCA9IFBUUkFDRV9TWVNDQUxMOworICBlbHNlCisgICAgcmVx dWVzdCA9IFBUUkFDRV9DT05UOwogCiAgIGlmIChzdGVwKQogICAgIHsKLS0t IGEvZ2RiL2kzODYtbGludXgtdGRlcC5jCisrKyBiL2dkYi9pMzg2LWxpbnV4 LXRkZXAuYwpAQCAtMzcsNiArMzcsMTAgQEAKICNpbmNsdWRlICJzeW10YWIu aCIKICNpbmNsdWRlICJhcmNoLXV0aWxzLmgiCiAjaW5jbHVkZSAicmVnc2V0 LmgiCisjaW5jbHVkZSAibGludXgtdGRlcC5oIgorCisvKiBUaGUgc3lzY2Fs bCdzIFhNTCBmaWxlbmFtZSBmb3IgaTM4Ni4gICovCisjZGVmaW5lIFhNTF9T WVNDQUxMX0ZJTEVOQU1FX0kzODYgInN5c2NhbGxzL2kzODYtbGludXgueG1s IgogCiAvKiBTdXBwb3J0ZWQgcmVnaXN0ZXIgbm90ZSBzZWN0aW9ucy4gICov CiBzdGF0aWMgc3RydWN0IGNvcmVfcmVnc2V0X3NlY3Rpb24gaTM4Nl9saW51 eF9yZWdzZXRfc2VjdGlvbnNbXSA9CkBAIC0zNDksNiArMzUzLDI2IEBAIGkz ODZfbGludXhfd3JpdGVfcGMgKHN0cnVjdCByZWdjYWNoZSAqcmUKIH0KIAwK IAorc3RhdGljIExPTkdFU1QKK2kzODZfbGludXhfZ2V0X3N5c2NhbGxfbnVt YmVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwdGlkX3QgcHRpZCkKK3sKKyAgc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSA9IGdldF90aHJlYWRfcmVnY2FjaGUgKHB0aWQp OworICAvKiBUaGUgY29udGVudCBvZiBhIHJlZ2lzdGVyLiAgKi8KKyAgZ2Ri X2J5dGUgYnVmWzRdOworICAvKiBUaGUgcmVzdWx0LiAgKi8KKyAgTE9OR0VT VCByZXQ7CisKKyAgLyogR2V0dGluZyB0aGUgc3lzdGVtIGNhbGwgbnVtYmVy IGZyb20gdGhlIHJlZ2lzdGVyLgorICAgICBXaGVuIGRlYWxpbmcgd2l0aCB4 ODYgYXJjaGl0ZWN0dXJlLCB0aGlzIGluZm9ybWF0aW9uCisgICAgIGlzIHN0 b3JlZCBhdCAlZWF4IHJlZ2lzdGVyLiAgKi8KKyAgcmVnY2FjaGVfY29va2Vk X3JlYWQgKHJlZ2NhY2hlLCBJMzg2X0xJTlVYX09SSUdfRUFYX1JFR05VTSwg YnVmKTsKKworICByZXQgPSBleHRyYWN0X3NpZ25lZF9pbnRlZ2VyIChidWYs IDQpOworCisgIHJldHVybiByZXQ7Cit9CisKIC8qIFRoZSByZWdpc3RlciBz ZXRzIHVzZWQgaW4gR05VL0xpbnV4IEVMRiBjb3JlLWR1bXBzIGFyZSBpZGVu dGljYWwgdG8KICAgIHRoZSByZWdpc3RlciBzZXRzIGluIGBzdHJ1Y3QgdXNl cicgdGhhdCBhcmUgdXNlZCBmb3IgYS5vdXQKICAgIGNvcmUtZHVtcHMuICBU aGVzZSBhcmUgYWxzbyB1c2VkIGJ5IHB0cmFjZSgyKS4gIFRoZSBjb3JyZXNw b25kaW5nCkBAIC00MTksNiArNDQzLDkgQEAgaTM4Nl9saW51eF9pbml0X2Fi aSAoc3RydWN0IGdkYmFyY2hfaW5mbwogewogICBzdHJ1Y3QgZ2RiYXJjaF90 ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKIAorICAvKiBJ bml0aWFsaXppbmcgY29tbW9uIGZ1bmN0aW9ucy4gICovCisgIGxpbnV4X3Rk ZXBfaW5pdCAoZ2RiYXJjaCk7CisKICAgLyogR05VL0xpbnV4IHVzZXMgRUxG LiAgKi8KICAgaTM4Nl9lbGZfaW5pdF9hYmkgKGluZm8sIGdkYmFyY2gpOwog CkBAIC00NzEsNiArNDk4LDExIEBAIGkzODZfbGludXhfaW5pdF9hYmkgKHN0 cnVjdCBnZGJhcmNoX2luZm8KICAgc2V0X2dkYmFyY2hfZGlzcGxhY2VkX3N0 ZXBfbG9jYXRpb24gKGdkYmFyY2gsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkaXNwbGFjZWRfc3RlcF9hdF9lbnRyeV9wb2lu dCk7CiAKKyAgLyogRnVuY3Rpb25zIGZvciAnY2F0Y2ggc3lzY2FsbCcuICAq LworICBzZXRfZ2RiYXJjaF94bWxfc3lzY2FsbF9maWxlbmFtZSAoZ2RiYXJj aCwgWE1MX1NZU0NBTExfRklMRU5BTUVfSTM4Nik7CisgIHNldF9nZGJhcmNo X2dldF9zeXNjYWxsX251bWJlciAoZ2RiYXJjaCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpMzg2X2xpbnV4X2dldF9zeXNjYWxsX251 bWJlcik7CisKICAgc2V0X2dkYmFyY2hfZ2V0X3NpZ2luZm9fdHlwZSAoZ2Ri YXJjaCwgbGludXhfZ2V0X3NpZ2luZm9fdHlwZSk7CiB9CiAKLS0tIGEvZ2Ri L2xpbnV4LW5hdC5jCisrKyBiL2dkYi9saW51eC1uYXQuYwpAQCAtNjEsNiAr NjEsMTAgQEAKICMgZW5kaWYKICNlbmRpZiAvKiBIQVZFX1BFUlNPTkFMSVRZ ICovCiAKKy8qIFRvIGJlIHVzZWQgd2hlbiBvbmUgbmVlZHMgdG8ga25vdyB3 ZXRoZXIgYQorICAgV1NUT1BTSUcgKHN0YXR1cykgaXMgYSBzeXNjYWxsICov CisjZGVmaW5lIFRSQVBfSVNfU1lTQ0FMTCAoU0lHVFJBUCB8IDB4ODApCisK IC8qIFRoaXMgY29tbWVudCBkb2N1bWVudHMgaGlnaC1sZXZlbCBsb2dpYyBv ZiB0aGlzIGZpbGUuIAogCiBXYWl0aW5nIGZvciBldmVudHMgaW4gc3luYyBt b2RlCkBAIC0yODEsMTcgKzI4NSwyOSBAQCBzdHJ1Y3Qgc2ltcGxlX3BpZF9s aXN0ICpzdG9wcGVkX3BpZHM7CiAKIHN0YXRpYyBpbnQgbGludXhfc3VwcG9y dHNfdHJhY2Vmb3JrX2ZsYWcgPSAtMTsKIAorLyogVGhpcyB2YXJpYWJsZSBp cyBhIHRyaS1zdGF0ZSBmbGFnOiAtMSBmb3IgdW5rbm93biwgMCBpZiBQVFJB Q0VfT19UUkFDRVNZU0dPT0QKKyAgIGNhbiBub3QgYmUgdXNlZCwgMSBpZiBp dCBjYW4uICAqLworCitzdGF0aWMgaW50IGxpbnV4X3N1cHBvcnRzX3RyYWNl c3lzZ29vZF9mbGFnID0gLTE7CisKIC8qIElmIHdlIGhhdmUgUFRSQUNFX09f VFJBQ0VGT1JLLCB0aGlzIGZsYWcgaW5kaWNhdGVzIHdoZXRoZXIgd2UgYWxz byBoYXZlCiAgICBQVFJBQ0VfT19UUkFDRVZGT1JLRE9ORS4gICovCiAKIHN0 YXRpYyBpbnQgbGludXhfc3VwcG9ydHNfdHJhY2V2Zm9ya2RvbmVfZmxhZyA9 IC0xOwogCisvKiBJZiB0aGUgaW5mZXJpb3IgaGF2ZSBwYXNzZWQgdGhyb3Vn aCBpdHMgZW50cnlwb2ludCAoQVRfRU5UUlkpLAorICAgdGhlbiB0aGlzIGZs YWcgaXMgc2V0IHRvIDEuICBPdGhlcndpc2UsIGl0cyB2YWx1ZSBpcyAwLiAg Ki8KK3N0YXRpYyBpbnQgbGludXhfcGFzc2VkX2J5X2VudHJ5cG9pbnRfZmxh ZyA9IDA7CisKIC8qIEFzeW5jIG1vZGUgc3VwcG9ydCAqLwogCiAvKiBaZXJv IGlmIHRoZSBhc3luYyBtb2RlLCBhbHRob3VnaCBlbmFibGVkLCBpcyBtYXNr ZWQsIHdoaWNoIG1lYW5zCiAgICBsaW51eF9uYXRfd2FpdCBzaG91bGQgYmVo YXZlIGFzIGlmIGFzeW5jIG1vZGUgd2FzIG9mZi4gICovCiBzdGF0aWMgaW50 IGxpbnV4X25hdF9hc3luY19tYXNrX3ZhbHVlID0gMTsKIAorLyogU3RvcmVz IHRoZSBjdXJyZW50IHVzZWQgcHRyYWNlKCkgb3B0aW9ucy4gICovCitzdGF0 aWMgaW50IGN1cnJlbnRfcHRyYWNlX29wdGlvbnMgPSAwOworCiAvKiBUaGUg cmVhZC93cml0ZSBlbmRzIG9mIHRoZSBwaXBlIHJlZ2lzdGVyZWQgYXMgd2Fp dGFibGUgZmlsZSBpbiB0aGUKICAgIGV2ZW50IGxvb3AuICAqLwogc3RhdGlj IGludCBsaW51eF9uYXRfZXZlbnRfcGlwZVsyXSA9IHsgLTEsIC0xIH07CkBA IC02MzYsNiArNjUyLDQxIEBAIGxpbnV4X3Rlc3RfZm9yX3RyYWNlZm9yayAo aW50IG9yaWdpbmFsX3AKICAgbGludXhfbmF0X2FzeW5jX2V2ZW50cyAoYXN5 bmNfZXZlbnRzX29yaWdpbmFsX3N0YXRlKTsKIH0KIAorLyogRGV0ZXJtaW5l IGlmIFBUUkFDRV9PX1RSQUNFU1lTR09PRCBjYW4gYmUgdXNlZCB0byBmb2xs b3cgc3lzY2FsbHMuCisKKyAgIFdlIHRyeSB0byBlbmFibGUgc3lzY2FsbCB0 cmFjaW5nIG9uIE9SSUdJTkFMX1BJRC4gIElmIHRoaXMgZmFpbHMsCisgICB3 ZSBrbm93IHRoYXQgdGhlIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZS4gIFRo aXMgbWF5IGNoYW5nZSB0aGUgdHJhY2luZworICAgb3B0aW9ucyBmb3IgT1JJ R0lOQUxfUElELCBidXQgd2UnbGwgYmUgc2V0dGluZyB0aGVtIHNob3J0bHkg YW55d2F5LiAgKi8KKworc3RhdGljIHZvaWQKK2xpbnV4X3Rlc3RfZm9yX3Ry YWNlc3lzZ29vZCAoaW50IG9yaWdpbmFsX3BpZCkKK3sKKyAgaW50IHJldDsK KyAgZW51bSBzaWdjaGxkX3N0YXRlIGFzeW5jX2V2ZW50c19vcmlnaW5hbF9z dGF0ZTsKKworICBhc3luY19ldmVudHNfb3JpZ2luYWxfc3RhdGUgPSBsaW51 eF9uYXRfYXN5bmNfZXZlbnRzIChzaWdjaGxkX3N5bmMpOworCisgIGxpbnV4 X3N1cHBvcnRzX3RyYWNlc3lzZ29vZF9mbGFnID0gMDsKKworICByZXQgPSBw dHJhY2UgKFBUUkFDRV9TRVRPUFRJT05TLCBvcmlnaW5hbF9waWQsIDAsIFBU UkFDRV9PX1RSQUNFU1lTR09PRCk7CisgIGlmIChyZXQgIT0gMCkKKyAgICBy ZXR1cm47CisKKyAgbGludXhfc3VwcG9ydHNfdHJhY2VzeXNnb29kX2ZsYWcg PSAxOworICBsaW51eF9uYXRfYXN5bmNfZXZlbnRzIChhc3luY19ldmVudHNf b3JpZ2luYWxfc3RhdGUpOworfQorCisvKiBEZXRlcm1pbmUgd2V0aGVyIHdl IHN1cHBvcnQgUFRSQUNFX09fVFJBQ0VTWVNHT09EIG9wdGlvbiBhdmFpbGFi bGUuCisgICBUaGlzIGZ1bmN0aW9uIGFsc28gc2V0cyBsaW51eF9zdXBwb3J0 c190cmFjZXN5c2dvb2RfZmxhZy4gICovCisKK3N0YXRpYyBpbnQKK2xpbnV4 X3N1cHBvcnRzX3RyYWNlc3lzZ29vZCAoaW50IHBpZCkKK3sKKyAgaWYgKGxp bnV4X3N1cHBvcnRzX3RyYWNlc3lzZ29vZF9mbGFnID09IC0xKQorICAgIGxp bnV4X3Rlc3RfZm9yX3RyYWNlc3lzZ29vZCAocGlkKTsKKyAgcmV0dXJuIGxp bnV4X3N1cHBvcnRzX3RyYWNlc3lzZ29vZF9mbGFnOworfQorCiAvKiBSZXR1 cm4gbm9uLXplcm8gaWZmIHdlIGhhdmUgdHJhY2Vmb3JrIGZ1bmN0aW9uYWxp dHkgYXZhaWxhYmxlLgogICAgVGhpcyBmdW5jdGlvbiBhbHNvIHNldHMgbGlu dXhfc3VwcG9ydHNfdHJhY2Vmb3JrX2ZsYWcuICAqLwogCkBAIC02NTUsMTIg KzcwNiwzNCBAQCBsaW51eF9zdXBwb3J0c190cmFjZXZmb3JrZG9uZSAoaW50 IHBpZCkKICAgcmV0dXJuIGxpbnV4X3N1cHBvcnRzX3RyYWNldmZvcmtkb25l X2ZsYWc7CiB9CiAKK3N0YXRpYyB2b2lkCitsaW51eF9lbmFibGVfdHJhY2Vz eXNnb29kIChwdGlkX3QgcHRpZCkKK3sKKyAgaW50IHBpZCA9IHB0aWRfZ2V0 X2x3cCAocHRpZCk7CisKKyAgaWYgKHBpZCA9PSAwKQorICAgIHBpZCA9IHB0 aWRfZ2V0X3BpZCAocHRpZCk7CisKKyAgaWYgKGxpbnV4X3N1cHBvcnRzX3Ry YWNlc3lzZ29vZCAocGlkKSA9PSAwKQorICAgIHJldHVybjsKKworICBjdXJy ZW50X3B0cmFjZV9vcHRpb25zIHw9IFBUUkFDRV9PX1RSQUNFU1lTR09PRDsK KyAgbGludXhfcGFzc2VkX2J5X2VudHJ5cG9pbnRfZmxhZyA9IDE7CisKKyAg cHRyYWNlIChQVFJBQ0VfU0VUT1BUSU9OUywgcGlkLCAwLCBjdXJyZW50X3B0 cmFjZV9vcHRpb25zKTsKK30KKworc3RhdGljIGludAorbGludXhfcGFzc2Vk X2J5X2VudHJ5cG9pbnQgKHZvaWQpCit7CisgIHJldHVybiBsaW51eF9wYXNz ZWRfYnlfZW50cnlwb2ludF9mbGFnOworfQorCiAMCiB2b2lkCiBsaW51eF9l bmFibGVfZXZlbnRfcmVwb3J0aW5nIChwdGlkX3QgcHRpZCkKIHsKICAgaW50 IHBpZCA9IHB0aWRfZ2V0X2x3cCAocHRpZCk7Ci0gIGludCBvcHRpb25zOwog CiAgIGlmIChwaWQgPT0gMCkKICAgICBwaWQgPSBwdGlkX2dldF9waWQgKHB0 aWQpOwpAQCAtNjY4LDE1ICs3NDEsMTYgQEAgbGludXhfZW5hYmxlX2V2ZW50 X3JlcG9ydGluZyAocHRpZF90IHB0aQogICBpZiAoISBsaW51eF9zdXBwb3J0 c190cmFjZWZvcmsgKHBpZCkpCiAgICAgcmV0dXJuOwogCi0gIG9wdGlvbnMg PSBQVFJBQ0VfT19UUkFDRUZPUksgfCBQVFJBQ0VfT19UUkFDRVZGT1JLIHwg UFRSQUNFX09fVFJBQ0VFWEVDCi0gICAgfCBQVFJBQ0VfT19UUkFDRUNMT05F OworICBjdXJyZW50X3B0cmFjZV9vcHRpb25zIHw9IFBUUkFDRV9PX1RSQUNF Rk9SSyB8IFBUUkFDRV9PX1RSQUNFVkZPUksKKyAgICB8IFBUUkFDRV9PX1RS QUNFRVhFQyB8IFBUUkFDRV9PX1RSQUNFQ0xPTkU7CisKICAgaWYgKGxpbnV4 X3N1cHBvcnRzX3RyYWNldmZvcmtkb25lIChwaWQpKQotICAgIG9wdGlvbnMg fD0gUFRSQUNFX09fVFJBQ0VWRk9SS0RPTkU7CisgICAgY3VycmVudF9wdHJh Y2Vfb3B0aW9ucyB8PSBQVFJBQ0VfT19UUkFDRVZGT1JLRE9ORTsKIAogICAv KiBEbyBub3QgZW5hYmxlIFBUUkFDRV9PX1RSQUNFRVhJVCB1bnRpbCBHREIg aXMgbW9yZSBwcmVwYXJlZCB0byBzdXBwb3J0CiAgICAgIHJlYWQtb25seSBw cm9jZXNzIHN0YXRlLiAgKi8KIAotICBwdHJhY2UgKFBUUkFDRV9TRVRPUFRJ T05TLCBwaWQsIDAsIG9wdGlvbnMpOworICBwdHJhY2UgKFBUUkFDRV9TRVRP UFRJT05TLCBwaWQsIDAsIGN1cnJlbnRfcHRyYWNlX29wdGlvbnMpOwogfQog CiBzdGF0aWMgdm9pZApAQCAtOTMzLDYgKzEwMDcsMTYgQEAgbGludXhfY2hp bGRfaW5zZXJ0X2V4ZWNfY2F0Y2hwb2ludCAoaW50IAogICAgIGVycm9yIChf KCJZb3VyIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IGV4ZWMgY2F0Y2hwb2lu dHMuIikpOwogfQogCitzdGF0aWMgaW50CitsaW51eF9jaGlsZF9zZXRfc3lz Y2FsbF9jYXRjaHBvaW50IChpbnQgcGlkLCBpbnQgbmVlZGVkLCBpbnQgYW55 X2NvdW50LAorCQkJCSAgICBpbnQgdGFibGVfc2l6ZSwgaW50ICp0YWJsZSkK K3sKKyAgaWYgKCEgbGludXhfc3VwcG9ydHNfdHJhY2VzeXNnb29kIChwaWQp KQorICAgIGVycm9yIChfKCJZb3VyIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0 IHN5c2NhbGwgY2F0Y2hwb2ludHMuIikpOworICAvKiBXZSBpZ25vcmUgdGhl IGFyZ3VtZW50cy4gICovCisgIHJldHVybiAwOworfQorCiAvKiBPbiBHTlUv TGludXggdGhlcmUgYXJlIG5vIHJlYWwgTFdQJ3MuICBUaGUgY2xvc2VzdCB0 aGluZyB0byBMV1AncwogICAgYXJlIHByb2Nlc3NlcyBzaGFyaW5nIHRoZSBz YW1lIFZNIHNwYWNlLiAgQSBtdWx0aS10aHJlYWRlZCBwcm9jZXNzCiAgICBp cyBiYXNpY2FsbHkgYSBncm91cCBvZiBzdWNoIHByb2Nlc3Nlcy4gIEhvd2V2 ZXIsIHN1Y2ggYSBncm91cGluZwpAQCAtMTM1NCw2ICsxNDM4LDkgQEAgbGlu dXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldAogICBpbnQg cGVyc29uYWxpdHlfb3JpZyA9IDAsIHBlcnNvbmFsaXR5X3NldCA9IDA7CiAj ZW5kaWYgLyogSEFWRV9QRVJTT05BTElUWSAqLwogCisgIC8qIFdlIGFyZSBz YXJ0aW5nLCBzbyB3ZSBzdGlsbCBoYXZlIG5vdCBwYXNzZWQgdGhyb3VnaCBv dXIgZW50cnlwb2ludC4gICovCisgIGxpbnV4X3Bhc3NlZF9ieV9lbnRyeXBv aW50X2ZsYWcgPSAwOworCiAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlz bSBpcyBzeW5jaHJvbm91cyBhbmQgY2FsbHMgdGFyZ2V0X3dhaXQsIHNvCiAg ICAgIHdlIGhhdmUgdG8gbWFzayB0aGUgYXN5bmMgbW9kZS4gICovCiAKQEAg LTE5OTYsNiArMjA4MywyNiBAQCBsaW51eF9oYW5kbGVfZXh0ZW5kZWRfd2Fp dCAoc3RydWN0IGx3cF9pCiAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAg LyogVXNlZCBmb3IgJ2NhdGNoIHN5c2NhbGwnIGZlYXR1cmUuICAqLworICBp ZiAoV1NUT1BTSUcgKHN0YXR1cykgPT0gVFJBUF9JU19TWVNDQUxMKQorICAg IHsKKyAgICAgIGlmIChjYXRjaF9zeXNjYWxsX2VuYWJsZWQgKCkgPT0gMCkK KyAgICAgICAgICBvdXJzdGF0dXMtPmtpbmQgPSBUQVJHRVRfV0FJVEtJTkRf SUdOT1JFOworICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSA9IGdldF90aHJlYWRfcmVnY2FjaGUg KGxwLT5wdGlkKTsKKyAgICAgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7CisKKyAgICAgICAg ICBvdXJzdGF0dXMtPmtpbmQgPQorICAgICAgICAgICAgKGxwLT5zeXNjYWxs X3N0YXRlID09IFRBUkdFVF9XQUlUS0lORF9TWVNDQUxMX0VOVFJZKSA/Cisg ICAgICAgICAgICBUQVJHRVRfV0FJVEtJTkRfU1lTQ0FMTF9SRVRVUk4gOiBU QVJHRVRfV0FJVEtJTkRfU1lTQ0FMTF9FTlRSWTsKKyAgICAgICAgICBscC0+ c3lzY2FsbF9zdGF0ZSA9IG91cnN0YXR1cy0+a2luZDsKKyAgICAgICAgICBv dXJzdGF0dXMtPnZhbHVlLnN5c2NhbGxfbnVtYmVyID0KKyAgICAgICAgICAg IChpbnQpIGdkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyIChnZGJhcmNoLCBs cC0+cHRpZCk7CisgICAgICAgIH0KKyAgICAgIHJldHVybiAwOworICAgIH0K KwogICBpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAogCQkg IF8oInVua25vd24gcHRyYWNlIGV2ZW50ICVkIiksIGV2ZW50KTsKIH0KQEAg LTI2MDYsMTEgKzI3MTMsMTYgQEAgbGludXhfbmF0X2ZpbHRlcl9ldmVudCAo aW50IGx3cGlkLCBpbnQgcwogICAgIH0KIAogICAvKiBTYXZlIHRoZSB0cmFw J3Mgc2lnaW5mbyBpbiBjYXNlIHdlIG5lZWQgaXQgbGF0ZXIuICAqLwotICBp ZiAoV0lGU1RPUFBFRCAoc3RhdHVzKSAmJiBXU1RPUFNJRyAoc3RhdHVzKSA9 PSBTSUdUUkFQKQorICBpZiAoV0lGU1RPUFBFRCAoc3RhdHVzKQorICAgICAg JiYgKFdTVE9QU0lHIChzdGF0dXMpID09IFNJR1RSQVAgfHwgV1NUT1BTSUcg KHN0YXR1cykgPT0gVFJBUF9JU19TWVNDQUxMKSkKICAgICBzYXZlX3NpZ2lu Zm8gKGxwKTsKIAotICAvKiBIYW5kbGUgR05VL0xpbnV4J3MgZXh0ZW5kZWQg d2FpdHN0YXR1cyBmb3IgdHJhY2UgZXZlbnRzLiAgKi8KLSAgaWYgKFdJRlNU T1BQRUQgKHN0YXR1cykgJiYgV1NUT1BTSUcgKHN0YXR1cykgPT0gU0lHVFJB UCAmJiBzdGF0dXMgPj4gMTYgIT0gMCkKKyAgLyogSGFuZGxlIEdOVS9MaW51 eCdzIGV4dGVuZGVkIHdhaXRzdGF0dXMgZm9yIHRyYWNlIGV2ZW50cy4KKyAg ICAgSXQgaXMgbmVjZXNzYXJ5IHRvIGNoZWNrIGlmIFdTVE9QU0lHIGlzIHNp Z25hbGluZyBhIHRoYXQKKyAgICAgdGhlIGluZmVyaW9yIGlzIGVudGVyaW5n L2V4aXRpbmcgYSBzeXN0ZW0gY2FsbC4gICovCisgIGlmIChXSUZTVE9QUEVE IChzdGF0dXMpCisgICAgICAmJiAoKFdTVE9QU0lHIChzdGF0dXMpID09IFRS QVBfSVNfU1lTQ0FMTCkKKyAgICAgICAgICB8fCAoV1NUT1BTSUcgKHN0YXR1 cykgPT0gU0lHVFJBUCAmJiBzdGF0dXMgPj4gMTYgIT0gMCkpKQogICAgIHsK ICAgICAgIGlmIChkZWJ1Z19saW51eF9uYXQpCiAJZnByaW50Zl91bmZpbHRl cmVkIChnZGJfc3RkbG9nLApAQCAtNDI1Niw2ICs0MzY4LDcgQEAgbGludXhf dGFyZ2V0X2luc3RhbGxfb3BzIChzdHJ1Y3QgdGFyZ2V0XwogICB0LT50b19p bnNlcnRfZm9ya19jYXRjaHBvaW50ID0gbGludXhfY2hpbGRfaW5zZXJ0X2Zv cmtfY2F0Y2hwb2ludDsKICAgdC0+dG9faW5zZXJ0X3Zmb3JrX2NhdGNocG9p bnQgPSBsaW51eF9jaGlsZF9pbnNlcnRfdmZvcmtfY2F0Y2hwb2ludDsKICAg dC0+dG9faW5zZXJ0X2V4ZWNfY2F0Y2hwb2ludCA9IGxpbnV4X2NoaWxkX2lu c2VydF9leGVjX2NhdGNocG9pbnQ7CisgIHQtPnRvX3NldF9zeXNjYWxsX2Nh dGNocG9pbnQgPSBsaW51eF9jaGlsZF9zZXRfc3lzY2FsbF9jYXRjaHBvaW50 OwogICB0LT50b19waWRfdG9fZXhlY19maWxlID0gbGludXhfY2hpbGRfcGlk X3RvX2V4ZWNfZmlsZTsKICAgdC0+dG9fcG9zdF9zdGFydHVwX2luZmVyaW9y ID0gbGludXhfY2hpbGRfcG9zdF9zdGFydHVwX2luZmVyaW9yOwogICB0LT50 b19wb3N0X2F0dGFjaCA9IGxpbnV4X2NoaWxkX3Bvc3RfYXR0YWNoOwotLS0g YS9nZGIvbGludXgtbmF0LmgKKysrIGIvZ2RiL2xpbnV4LW5hdC5oCkBAIC03 MCw2ICs3MCwxMyBAQCBzdHJ1Y3QgbHdwX2luZm8KICAgICAgb3IgdG8gYSBs b2NhbCB2YXJpYWJsZSBpbiBsaW5fbHdwX3dhaXQuICAqLwogICBzdHJ1Y3Qg dGFyZ2V0X3dhaXRzdGF0dXMgd2FpdHN0YXR1czsKIAorICAvKiBTaWduYWwg d2V0aGVyIHdlIGFyZSBpbiBhIFNZU0NBTExfRU5UUlkgb3IKKyAgICAgaW4g YSBTWVNDQUxMX1JFVFVSTiBldmVudC4KKyAgICAgVmFsdWVzOgorICAgICAt IFRBUkdFVF9XQUlUS0lORF9TWVNDQUxMX0VOVFJZCisgICAgIC0gVEFSR0VU X1dBSVRLSU5EX1NZU0NBTExfUkVUVVJOICovCisgIGludCBzeXNjYWxsX3N0 YXRlOworCiAgIC8qIE5leHQgTFdQIGluIGxpc3QuICAqLwogICBzdHJ1Y3Qg bHdwX2luZm8gKm5leHQ7CiB9OwotLS0gYS9nZGIvbGludXgtdGRlcC5jCisr KyBiL2dkYi9saW51eC10ZGVwLmMKQEAgLTE5LDYgKzE5LDIzIEBACiAKICNp bmNsdWRlICJkZWZzLmgiCiAjaW5jbHVkZSAiZ2RidHlwZXMuaCIKKyNpbmNs dWRlICJmcmFtZS5oIgorI2luY2x1ZGUgImluZmVyaW9yLmgiCisjaW5jbHVk ZSAic3ltdGFiLmgiCisjaW5jbHVkZSAidGFyZ2V0LmgiCisjaW5jbHVkZSAi Z2RiY29yZS5oIgorI2luY2x1ZGUgImdkYmNtZC5oIgorI2luY2x1ZGUgInN5 bWZpbGUuaCIKKyNpbmNsdWRlICJvYmpmaWxlcy5oIgorI2luY2x1ZGUgInJl Z2NhY2hlLmgiCisjaW5jbHVkZSAidmFsdWUuaCIKKyNpbmNsdWRlICJvc2Fi aS5oIgorI2luY2x1ZGUgInJlZ3NldC5oIgorI2luY2x1ZGUgInNvbGliLXN2 cjQuaCIKKyNpbmNsdWRlICJ0cmFkLWZyYW1lLmgiCisjaW5jbHVkZSAiZnJh bWUtdW53aW5kLmgiCisjaW5jbHVkZSAidHJhbXAtZnJhbWUuaCIKKyNpbmNs dWRlICJ4bWwtc3lzY2FsbC5oIgogCiAvKiBUaGlzIGZ1bmN0aW9uIGlzIHN1 aXRhYmxlIGZvciBhcmNoaXRlY3R1cmVzIHRoYXQgZG9uJ3QKICAgIGV4dGVu ZC9vdmVycmlkZSB0aGUgc3RhbmRhcmQgc2lnaW5mbyBzdHJ1Y3R1cmUuICAq LwpAQCAtMTM2LDMgKzE1Myw4MSBAQCBsaW51eF9nZXRfc2lnaW5mb190eXBl IChzdHJ1Y3QgZ2RiYXJjaCAqCiAKICAgcmV0dXJuIHNpZ2luZm9fdHlwZTsK IH0KKworLyogU3RydWN0dXJlIHVzZWQgdG8gc3RvcmUgaW5mb3JtYXRpb24g YWJvdXQgdGhlIGF2YWlsYWJsZSBzeXNjYWxscyBpbgorICAgdGhlIHN5c3Rl bS4gICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHN5c2NhbGxzX2luZm8gKnN5 c2luZm8gPSBOVUxMOworCisvKiBBIGZsYWcgdG8gdGVsbCBpZiB3ZSBhbHJl YWR5IGluaXRpYWxpemVkIHRoZSBzdHJ1Y3R1cmUgYWJvdmUuICAqLworc3Rh dGljIGludCBoYXZlX2luaXRpYWxpemVkX3N5c2luZm8gPSAwOworCisvKiBU aGUgZmlsZW5hbWUgb2YgdGhlIHN5c2NhbGwncyBYTUwuICAqLworc3RhdGlj IGNvbnN0IGNoYXIgKnhtbF9zeXNjYWxsX2ZpbGUgPSBOVUxMOworCisvKiBJ bml0aWFsaXplcyB0aGUgc3lzY2FsbHNfaW5mbyBzdHJ1Y3R1cmUgYWNjb3Jk aW5nIHRvIHRoZQorICAgYXJjaGl0ZWN0dXJlLiAgKi8KK3N0YXRpYyB2b2lk Citpbml0X3N5c2luZm8gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQorewor ICAvKiBEaWQgd2UgYWxyZWFkeSB0cnkgdG8gaW5pdGlhbGl6ZSB0aGUgc3Ry dWN0dXJlPyAgKi8KKyAgaWYgKGhhdmVfaW5pdGlhbGl6ZWRfc3lzaW5mbykK KyAgICByZXR1cm47CisKKyAgaWYgKHhtbF9zeXNjYWxsX2ZpbGUgPT0gTlVM TCkKKyAgICB4bWxfc3lzY2FsbF9maWxlID0gZ2RiYXJjaF94bWxfc3lzY2Fs bF9maWxlbmFtZSAoZ2RiYXJjaCk7CisKKyAgc3lzaW5mbyA9IHhtbF9pbml0 X3N5c2NhbGxzX2luZm8gKHhtbF9zeXNjYWxsX2ZpbGUpOworCisgIGhhdmVf aW5pdGlhbGl6ZWRfc3lzaW5mbyA9IDE7CisKKyAgaWYgKHN5c2luZm8gPT0g TlVMTCkKKyAgICB7CisgICAgICBpZiAoeG1sX3N5c2NhbGxfZmlsZSkKKyAg ICAgICAgLyogVGhlIGluaXRpYWxpemF0aW9uIGZhaWxlZC4gIExldCdzIHNo b3cgYSB3YXJuaW5nCisgICAgICAgICAgIG1lc3NhZ2UgdG8gdGhlIHVzZXIg KGp1c3QgdGhpcyB0aW1lKSBhbmQgbGVhdmUuICAqLworICAgICAgICB3YXJu aW5nIChfKCJDb3VsZCBub3QgbG9hZCB0aGUgc3lzY2FsbCBYTUwgZmlsZSAn JXMnLlxuXAorR0RCIHdpbGwgbm90IGJlIGFibGUgdG8gZGlzcGxheSBzeXNj YWxsIG5hbWVzLiIpLCB4bWxfc3lzY2FsbF9maWxlKTsKKyAgICAgIGVsc2UK KyAgICAgICAgLyogVGhlcmUncyBubyBmaWxlIHRvIG9wZW4uIExldCdzIHdh cm4gdGhlIHVzZXIuICAqLworICAgICAgICB3YXJuaW5nIChfKCJUaGVyZSBp cyBubyBYTUwgZmlsZSB0byBvcGVuLlxuXAorR0RCIHdpbGwgbm90IGJlIGFi bGUgdG8gZGlzcGxheSBzeXNjYWxsIG5hbWVzLiIpKTsKKyAgICB9Cit9CisK K3N0YXRpYyB2b2lkCitsaW51eF9nZXRfc3lzY2FsbF9ieV9udW1iZXIgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgc3lzY2FsbF9udW1iZXIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBzeXNjYWxsICpzKQoreworICBpbml0X3N5 c2luZm8gKGdkYmFyY2gpOworCisgIHMtPm51bWJlciA9IHN5c2NhbGxfbnVt YmVyOworICBzLT5uYW1lID0geG1sX2dldF9zeXNjYWxsX25hbWUgKHN5c2lu Zm8sIHN5c2NhbGxfbnVtYmVyKTsKK30KKworc3RhdGljIHZvaWQKK2xpbnV4 X2dldF9zeXNjYWxsX2J5X25hbWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3lz Y2FsbF9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHN5c2NhbGwgKnMpCit7CisgIGluaXRfc3lzaW5mbyAoZ2RiYXJjaCk7CisK KyAgcy0+bnVtYmVyID0geG1sX2dldF9zeXNjYWxsX251bWJlciAoc3lzaW5m bywgc3lzY2FsbF9uYW1lKTsKKyAgcy0+bmFtZSA9IHN5c2NhbGxfbmFtZTsK K30KKworc3RhdGljIGNvbnN0IGNoYXIgKioKK2xpbnV4X2dldF9zeXNjYWxs X25hbWVzIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKK3sKKyAgaW5pdF9z eXNpbmZvIChnZGJhcmNoKTsKKworICByZXR1cm4geG1sX2xpc3Rfb2Zfc3lz Y2FsbHMgKHN5c2luZm8pOworfQorCit2b2lkCitsaW51eF90ZGVwX2luaXQg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQoreworICBzZXRfZ2RiYXJjaF9n ZXRfc3lzY2FsbF9ieV9udW1iZXIgKGdkYmFyY2gsIGxpbnV4X2dldF9zeXNj YWxsX2J5X251bWJlcik7CisgIHNldF9nZGJhcmNoX2dldF9zeXNjYWxsX2J5 X25hbWUgKGdkYmFyY2gsIGxpbnV4X2dldF9zeXNjYWxsX2J5X25hbWUpOwor ICBzZXRfZ2RiYXJjaF9nZXRfc3lzY2FsbF9uYW1lcyAoZ2RiYXJjaCwgbGlu dXhfZ2V0X3N5c2NhbGxfbmFtZXMpOworfQotLS0gYS9nZGIvbGludXgtdGRl cC5oCisrKyBiL2dkYi9saW51eC10ZGVwLmgKQEAgLTIyLDQgKzIyLDYgQEAK IAogc3RydWN0IHR5cGUgKmxpbnV4X2dldF9zaWdpbmZvX3R5cGUgKHN0cnVj dCBnZGJhcmNoICopOwogCitleHRlcm4gdm9pZCBsaW51eF90ZGVwX2luaXQg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKTsKKwogI2VuZGlmIC8qIGxpbnV4 LXRkZXAuaCAqLwotLS0gYS9nZGIvcHBjLWxpbnV4LXRkZXAuYworKysgYi9n ZGIvcHBjLWxpbnV4LXRkZXAuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1 ZGUgInRyYWQtZnJhbWUuaCIKICNpbmNsdWRlICJmcmFtZS11bndpbmQuaCIK ICNpbmNsdWRlICJ0cmFtcC1mcmFtZS5oIgorI2luY2x1ZGUgImxpbnV4LXRk ZXAuaCIKIAogI2luY2x1ZGUgImZlYXR1cmVzL3JzNjAwMC9wb3dlcnBjLTMy bC5jIgogI2luY2x1ZGUgImZlYXR1cmVzL3JzNjAwMC9wb3dlcnBjLWFsdGl2 ZWMzMmwuYyIKQEAgLTUzLDYgKzU0LDkgQEAKICNpbmNsdWRlICJmZWF0dXJl cy9yczYwMDAvcG93ZXJwYy1pc2EyMDUtdnN4NjRsLmMiCiAjaW5jbHVkZSAi ZmVhdHVyZXMvcnM2MDAwL3Bvd2VycGMtZTUwMGwuYyIKIAorLyogVGhlIHN5 c2NhbGwncyBYTUwgZmlsZW5hbWUgZm9yIFBQQyBhbmQgUFBDNjQuICAqLwor I2RlZmluZSBYTUxfU1lTQ0FMTF9GSUxFTkFNRV9QUEMgInN5c2NhbGxzL3Bw Yy1saW51eC54bWwiCisjZGVmaW5lIFhNTF9TWVNDQUxMX0ZJTEVOQU1FX1BQ QzY0ICJzeXNjYWxscy9wcGM2NC1saW51eC54bWwiCiAKIC8qIHBwY19saW51 eF9tZW1vcnlfcmVtb3ZlX2JyZWFrcG9pbnRzIGF0dGVtcHRzIHRvIHJlbW92 ZSBhIGJyZWFrcG9pbnQKICAgIGluIG11Y2ggdGhlIHNhbWUgZmFzaGlvbiBh cyBtZW1vcnlfcmVtb3ZlX2JyZWFrcG9pbnQgaW4gbWVtLWJyZWFrLmMsCkBA IC0xMDA5LDYgKzEwMTMsMzggQEAgcHBjX2xpbnV4X3RyYXBfcmVnX3AgKHN0 cnVjdCBnZGJhcmNoICpnZAogICAgICAgICAgJiYgcmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgUFBDX1RSQVBfUkVHTlVNKSA+IDA7CiB9CiAKKy8qIFJldHVy biB0aGUgY3VycmVudCBzeXN0ZW0gY2FsbCdzIG51bWJlciBwcmVzZW50IGlu IHRoZQorICAgcjAgcmVnaXN0ZXIuICBXaGVuIHRoZSBmdW5jdGlvbiBmYWls cywgaXQgcmV0dXJucyAtMS4gICovCitzdGF0aWMgTE9OR0VTVAorcHBjX2xp bnV4X2dldF9zeXNjYWxsX251bWJlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdGlkX3QgcHRp ZCkKK3sKKyAgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSA9IGdldF90aHJl YWRfcmVnY2FjaGUgKHB0aWQpOworICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0 ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKKyAgc3RydWN0IGNsZWFu dXAgKmNsZWFuYnVmOworICAvKiBUaGUgY29udGVudCBvZiBhIHJlZ2lzdGVy ICovCisgIGdkYl9ieXRlICpidWY7CisgIC8qIFRoZSByZXN1bHQgKi8KKyAg TE9OR0VTVCByZXQ7CisKKyAgLyogTWFrZSBzdXJlIHdlJ3JlIGluIGEgMzIt IG9yIDY0LWJpdCBtYWNoaW5lICovCisgIGdkYl9hc3NlcnQgKHRkZXAtPndv cmRzaXplID09IDQgfHwgdGRlcC0+d29yZHNpemUgPT0gOCk7CisKKyAgYnVm ID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKHRkZXAtPndvcmRzaXplICogc2l6 ZW9mIChnZGJfYnl0ZSkpOworCisgIGNsZWFuYnVmID0gbWFrZV9jbGVhbnVw ICh4ZnJlZSwgYnVmKTsKKworICAvKiBHZXR0aW5nIHRoZSBzeXN0ZW0gY2Fs bCBudW1iZXIgZnJvbSB0aGUgcmVnaXN0ZXIuCisgICAgIFdoZW4gZGVhbGlu ZyB3aXRoIFBvd2VyUEMgYXJjaGl0ZWN0dXJlLCB0aGlzIGluZm9ybWF0aW9u CisgICAgIGlzIHN0b3JlZCBhdCAwdGggcmVnaXN0ZXIuICAqLworICByZWdj YWNoZV9jb29rZWRfcmVhZCAocmVnY2FjaGUsIHRkZXAtPnBwY19ncDBfcmVn bnVtLCBidWYpOworCisgIHJldCA9IGV4dHJhY3Rfc2lnbmVkX2ludGVnZXIg KGJ1ZiwgdGRlcC0+d29yZHNpemUpOworICBkb19jbGVhbnVwcyAoY2xlYW5i dWYpOworCisgIHJldHVybiByZXQ7Cit9CisKIHN0YXRpYyB2b2lkCiBwcGNf bGludXhfd3JpdGVfcGMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIENP UkVfQUREUiBwYykKIHsKQEAgLTEwNjksNiArMTEwNSw5IEBAIHBwY19saW51 eF9pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5mbyAKICAgc3RydWN0IGdk YmFyY2hfdGRlcCAqdGRlcCA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCk7CiAg IHN0cnVjdCB0ZGVzY19hcmNoX2RhdGEgKnRkZXNjX2RhdGEgPSAodm9pZCAq KSBpbmZvLnRkZXBfaW5mbzsKIAorICAvKiBJbml0aWFsaXppbmcgY29tbW9u IG1ldGhvZHMuICAqLworICBsaW51eF90ZGVwX2luaXQgKGdkYmFyY2gpOwor CiAgIC8qIFBQQyBHTlUvTGludXggdXNlcyBlaXRoZXIgNjQtYml0IG9yIDEy OC1iaXQgbG9uZyBkb3VibGVzOyB3aGVyZQogICAgICAxMjgtYml0LCB0aGV5 IGFyZSBJQk0gbG9uZyBkb3VibGUsIG5vdCBJRUVFIHF1YWQgbG9uZyBkb3Vi bGUgYXMKICAgICAgaW4gdGhlIFN5c3RlbSBWIEFCSSBQb3dlclBDIFByb2Nl c3NvciBTdXBwbGVtZW50LiAgV2UgY2FuIHNhZmVseQpAQCAtMTA4MCw2ICsx MTE5LDkgQEAgcHBjX2xpbnV4X2luaXRfYWJpIChzdHJ1Y3QgZ2RiYXJjaF9p bmZvIAogICAvKiBIYW5kbGUgaW5mZXJpb3IgY2FsbHMgZHVyaW5nIGludGVy cnVwdGVkIHN5c3RlbSBjYWxscy4gICovCiAgIHNldF9nZGJhcmNoX3dyaXRl X3BjIChnZGJhcmNoLCBwcGNfbGludXhfd3JpdGVfcGMpOwogCisgIC8qIEdl dCB0aGUgc3lzY2FsbCBudW1iZXIgZnJvbSB0aGUgYXJjaCdzIHJlZ2lzdGVy LiAgKi8KKyAgc2V0X2dkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyIChnZGJh cmNoLCBwcGNfbGludXhfZ2V0X3N5c2NhbGxfbnVtYmVyKTsKKwogICBpZiAo dGRlcC0+d29yZHNpemUgPT0gNCkKICAgICB7CiAgICAgICAvKiBVbnRpbCBO b3ZlbWJlciAyMDAxLCBnY2MgZGlkIG5vdCBjb21wbHkgd2l0aCB0aGUgMzIg Yml0IFN5c1YKQEAgLTEwOTksNiArMTE0MSw5IEBAIHBwY19saW51eF9pbml0 X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5mbyAKICAgICAgIHNldF9zb2xpYl9z dnI0X2ZldGNoX2xpbmtfbWFwX29mZnNldHMKICAgICAgICAgKGdkYmFyY2gs IHN2cjRfaWxwMzJfZmV0Y2hfbGlua19tYXBfb2Zmc2V0cyk7CiAKKyAgICAg IC8qIFNldHRpbmcgdGhlIGNvcnJlY3QgWE1MIHN5c2NhbGwgZmlsZW5hbWUu ICAqLworICAgICAgc2V0X2dkYmFyY2hfeG1sX3N5c2NhbGxfZmlsZW5hbWUg KGdkYmFyY2gsIFhNTF9TWVNDQUxMX0ZJTEVOQU1FX1BQQyk7CisKICAgICAg IC8qIFRyYW1wb2xpbmVzLiAgKi8KICAgICAgIHRyYW1wX2ZyYW1lX3ByZXBl bmRfdW53aW5kZXIgKGdkYmFyY2gsICZwcGMzMl9saW51eF9zaWdhY3Rpb25f dHJhbXBfZnJhbWUpOwogICAgICAgdHJhbXBfZnJhbWVfcHJlcGVuZF91bndp bmRlciAoZ2RiYXJjaCwgJnBwYzMyX2xpbnV4X3NpZ2hhbmRsZXJfdHJhbXBf ZnJhbWUpOwpAQCAtMTExNiw2ICsxMTYxLDkgQEAgcHBjX2xpbnV4X2luaXRf YWJpIChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIAogICAgICAgc2V0X3NvbGliX3N2 cjRfZmV0Y2hfbGlua19tYXBfb2Zmc2V0cwogICAgICAgICAoZ2RiYXJjaCwg c3ZyNF9scDY0X2ZldGNoX2xpbmtfbWFwX29mZnNldHMpOwogCisgICAgICAv KiBTZXR0aW5nIHRoZSBjb3JyZWN0IFhNTCBzeXNjYWxsIGZpbGVuYW1lLiAg Ki8KKyAgICAgIHNldF9nZGJhcmNoX3htbF9zeXNjYWxsX2ZpbGVuYW1lIChn ZGJhcmNoLCBYTUxfU1lTQ0FMTF9GSUxFTkFNRV9QUEM2NCk7CisKICAgICAg IC8qIFRyYW1wb2xpbmVzLiAgKi8KICAgICAgIHRyYW1wX2ZyYW1lX3ByZXBl bmRfdW53aW5kZXIgKGdkYmFyY2gsICZwcGM2NF9saW51eF9zaWdhY3Rpb25f dHJhbXBfZnJhbWUpOwogICAgICAgdHJhbXBfZnJhbWVfcHJlcGVuZF91bndp bmRlciAoZ2RiYXJjaCwgJnBwYzY0X2xpbnV4X3NpZ2hhbmRsZXJfdHJhbXBf ZnJhbWUpOwo= --0016e652ff9a92bd3e0462b37d2f Content-Type: text/x-patch; charset=US-ASCII; name="catch-syscall-arch-indep.patch" Content-Disposition: attachment; filename="catch-syscall-arch-indep.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fr33t9tt1 Content-length: 63567 LS0tCiBnZGIvYnJlYWtwb2ludC5jIHwgIDQ3NiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBnZGIv YnJlYWtwb2ludC5oIHwgICAzOSArKysrCiBnZGIvZGVmcy5oICAgICAgIHwg ICAgMyAKIGdkYi9nZGJhcmNoLmMgICAgfCAgMTU1ICsrKysrKysrKysrKysr KysrCiBnZGIvZ2RiYXJjaC5oICAgIHwgICA0NSArKysrKwogZ2RiL2dkYmFy Y2guc2ggICB8ICAgMjQgKysKIGdkYi9pbmYtY2hpbGQuYyAgfCAgIDEwICsK IGdkYi9pbmYtcHRyYWNlLmMgfCAgICA4IAogZ2RiL2luZmNtZC5jICAgICB8 ICAgIDUgCiBnZGIvaW5mcnVuLmMgICAgIHwgICA4NyArKysrKysrKystCiBn ZGIvbGludXgtbmF0LmMgIHwgICAgMyAKIGdkYi9tYWluLmMgICAgICAgfCAg IDM3ICsrKysKIGdkYi9tYWludC5jICAgICAgfCAgICA4IAogZ2RiL3Rhcmdl dC5jICAgICB8ICAgIDggCiBnZGIvdGFyZ2V0LmggICAgIHwgICAzOCArKysr CiAxNSBmaWxlcyBjaGFuZ2VkLCA5MjkgaW5zZXJ0aW9ucygrKSwgMTcgZGVs ZXRpb25zKC0pCgotLS0gYS9nZGIvYnJlYWtwb2ludC5jCisrKyBiL2dkYi9i cmVha3BvaW50LmMKQEAgLTE5MSw2ICsxOTEsOCBAQCBzdGF0aWMgaW50IGlz X2hhcmR3YXJlX3dhdGNocG9pbnQgKHN0cnVjCiAKIHN0YXRpYyB2b2lkIGlu c2VydF9icmVha3BvaW50X2xvY2F0aW9ucyAodm9pZCk7CiAKK3N0YXRpYyBp bnQgc3lzY2FsbF9jYXRjaHBvaW50X3AgKHN0cnVjdCBicmVha3BvaW50ICpi KTsKKwogc3RhdGljIGNvbnN0IGNoYXIgKgogYnBkaXNwX3RleHQgKGVudW0g YnBkaXNwIGRpc3ApCiB7CkBAIC0zNDEsNiArMzQzLDE4IEBAIHNldF9icmVh a3BvaW50X2NvdW50IChpbnQgbnVtKQogCQkgICB2YWx1ZV9mcm9tX2xvbmdl c3QgKGJ1aWx0aW5fdHlwZV9pbnQzMiwgKExPTkdFU1QpIG51bSkpOwogfQog CisvKiBVc2VkIGluIHJ1bl9jb21tYW5kIHRvIHJlc2V0IHN5c2NhbGwgY2F0 Y2hwb2ludHMgZmllbGRzLiAgKi8KKwordm9pZAorY2xlYXJfc3lzY2FsbF9j YXRjaHBvaW50c19pbmZvICh2b2lkKQoreworICBzdHJ1Y3QgYnJlYWtwb2lu dCAqYjsKKworICBBTExfQlJFQUtQT0lOVFMgKGIpCisgICAgaWYgKHN5c2Nh bGxfY2F0Y2hwb2ludF9wIChiKSkKKyAgICAgIGItPnN5c2NhbGxfbnVtYmVy ID0gVU5LTk9XTl9TWVNDQUxMOworfQorCiAvKiBVc2VkIGluIHJ1bl9jb21t YW5kIHRvIHplcm8gdGhlIGhpdCBjb3VudCB3aGVuIGEgbmV3IHJ1biBzdGFy dHMuICovCiAKIHZvaWQKQEAgLTQxMzQsNiArNDE0OCw4IEBAIHNldF9yYXdf YnJlYWtwb2ludF93aXRob3V0X2xvY2F0aW9uIChlbnUKICAgYi0+ZnJhbWVf aWQgPSBudWxsX2ZyYW1lX2lkOwogICBiLT5mb3JrZWRfaW5mZXJpb3JfcGlk ID0gbnVsbF9wdGlkOwogICBiLT5leGVjX3BhdGhuYW1lID0gTlVMTDsKKyAg Yi0+c3lzY2FsbHNfdG9fYmVfY2F1Z2h0ID0gTlVMTDsKKyAgYi0+c3lzY2Fs bF9udW1iZXIgPSBVTktOT1dOX1NZU0NBTEw7CiAgIGItPm9wcyA9IE5VTEw7 CiAgIGItPmNvbmRpdGlvbl9ub3RfcGFyc2VkID0gMDsKIApAQCAtNDY1Myw3 ICs0NjY5LDIzOCBAQCBzdGF0aWMgc3RydWN0IGJyZWFrcG9pbnRfb3BzIGNh dGNoX3Zmb3JrCiAgIHByaW50X21lbnRpb25fY2F0Y2hfdmZvcmsKIH07CiAK LS8qIENyZWF0ZSBhIG5ldyBicmVha3BvaW50IG9mIHRoZSBicF9jYXRjaHBv aW50IGtpbmQgYW5kIHJldHVybiBpdC4KKy8qIFdlIGtlZXAgYSBjb3VudCBv ZiB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSB1c2VyIGhhcyByZXF1ZXN0ZWQg YQorICAgcGFydGljdWxhciBzeXNjYWxsIHRvIGJlIHRyYWNrZWQsIGFuZCBw YXNzIHRoaXMgaW5mb3JtYXRpb24gdG8gdGhlCisgICB0YXJnZXQuICBUaGlz IGxldHMgY2FwYWJsZSB0YXJnZXRzIGltcGxlbWVudCBmaWx0ZXJpbmcgZGly ZWN0bHkuICAqLworCisvKiBOdW1iZXIgb2YgdGltZXMgdGhhdCAiYW55IiBz eXNjYWxsIGlzIHJlcXVlc3RlZC4gICovCitzdGF0aWMgaW50IGFueV9zeXNj YWxsX2NvdW50OworCisvKiBDb3VudCBvZiBlYWNoIHN5c3RlbSBjYWxsLiAg Ki8KK3N0YXRpYyBpbnQgKnN5c2NhbGxzX2NvdW50czsKKworLyogTnVtYmVy IG9mIHN5c3RlbSBlbnRyaWVzIGluIFNZU0NBTExTX0NPVU5UUy4gICovCitz dGF0aWMgaW50IHN5c2NhbGxzX3NpemU7CisKKy8qIFRoaXMgY291bnRzIGFs bCBzeXNjYWxsIGNhdGNoIHJlcXVlc3RzLCBzbyB3ZSBjYW4gcmVhZGlseSBk ZXRlcm1pbmUKKyAgIGlmIGFueSBjYXRjaGluZyBpcyBuZWNlc3NhcnkuICAq Lworc3RhdGljIGludCB0b3RhbF9zeXNjYWxsc19jb3VudDsKKworLyogSW1w bGVtZW50IHRoZSAiaW5zZXJ0IiBicmVha3BvaW50X29wcyBtZXRob2QgZm9y IHN5c2NhbGwKKyAgIGNhdGNocG9pbnRzLiAgKi8KKworc3RhdGljIHZvaWQK K2luc2VydF9jYXRjaF9zeXNjYWxsIChzdHJ1Y3QgYnJlYWtwb2ludCAqYikK K3sKKyAgKyt0b3RhbF9zeXNjYWxsc19jb3VudDsKKyAgaWYgKCFiLT5zeXNj YWxsc190b19iZV9jYXVnaHQpCisgICAgKythbnlfc3lzY2FsbF9jb3VudDsK KyAgZWxzZQorICAgIHsKKyAgICAgIHN0cnVjdCBzeXNjYWxsX2ZpbHRlciAq aXRlcjsKKyAgICAgIGZvciAoaXRlciA9IGItPnN5c2NhbGxzX3RvX2JlX2Nh dWdodDsgaXRlcjsgaXRlciA9IGl0ZXItPm5leHQpCisJeworCSAgaWYgKGl0 ZXItPnN5c2NhbGwgPj0gc3lzY2FsbHNfc2l6ZSkKKwkgICAgeworCSAgICAg IHN5c2NhbGxzX2NvdW50cyA9IHhyZWFsbG9jIChzeXNjYWxsc19jb3VudHMs CisJCQkJCSAgKGl0ZXItPnN5c2NhbGwgKyAxKSAqIHNpemVvZiAoaW50KSk7 CisJICAgICAgbWVtc2V0ICgmc3lzY2FsbHNfY291bnRzW3N5c2NhbGxzX3Np emVdLCAwLAorCQkgICAgICAoaXRlci0+c3lzY2FsbCArIDEgLSBzeXNjYWxs c19zaXplKSAqIHNpemVvZiAoaW50KSk7CisJICAgIH0KKwkgICsrc3lzY2Fs bHNfY291bnRzW2l0ZXItPnN5c2NhbGxdOworCX0KKyAgICB9CisKKyAgdGFy Z2V0X3NldF9zeXNjYWxsX2NhdGNocG9pbnQgKFBJREdFVCAoaW5mZXJpb3Jf cHRpZCksCisJCQkJIHRvdGFsX3N5c2NhbGxzX2NvdW50ICE9IDAsCisJCQkJ IGFueV9zeXNjYWxsX2NvdW50LAorCQkJCSBzeXNjYWxsc19zaXplLAorCQkJ CSBzeXNjYWxsc19jb3VudHMpOworfQorCisvKiBJbXBsZW1lbnQgdGhlICJy ZW1vdmUiIGJyZWFrcG9pbnRfb3BzIG1ldGhvZCBmb3Igc3lzY2FsbAorICAg Y2F0Y2hwb2ludHMuICAqLworCitzdGF0aWMgaW50CityZW1vdmVfY2F0Y2hf c3lzY2FsbCAoc3RydWN0IGJyZWFrcG9pbnQgKmIpCit7CisgIC0tdG90YWxf c3lzY2FsbHNfY291bnQ7CisgIGlmICghYi0+c3lzY2FsbHNfdG9fYmVfY2F1 Z2h0KQorICAgIC0tYW55X3N5c2NhbGxfY291bnQ7CisgIGVsc2UKKyAgICB7 CisgICAgICBzdHJ1Y3Qgc3lzY2FsbF9maWx0ZXIgKml0ZXI7CisgICAgICBm b3IgKGl0ZXIgPSBiLT5zeXNjYWxsc190b19iZV9jYXVnaHQ7IGl0ZXI7IGl0 ZXIgPSBpdGVyLT5uZXh0KQorCXsKKwkgIGlmIChpdGVyLT5zeXNjYWxsID49 IHN5c2NhbGxzX3NpemUpCisJICAgIHsKKwkgICAgICAvKiBTaG91bGRuJ3Qg aGFwcGVuLiAgKi8KKwkgICAgICBjb250aW51ZTsKKwkgICAgfQorCSAgLS1z eXNjYWxsc19jb3VudHNbaXRlci0+c3lzY2FsbF07CisJfQorICAgIH0KKwor ICByZXR1cm4gdGFyZ2V0X3NldF9zeXNjYWxsX2NhdGNocG9pbnQgKFBJREdF VCAoaW5mZXJpb3JfcHRpZCksCisJCQkJCXRvdGFsX3N5c2NhbGxzX2NvdW50 ICE9IDAsCisJCQkJCWFueV9zeXNjYWxsX2NvdW50LAorCQkJCQlzeXNjYWxs c19zaXplLAorCQkJCQlzeXNjYWxsc19jb3VudHMpOworfQorCisvKiBJbXBs ZW1lbnQgdGhlICJicmVha3BvaW50X2hpdCIgYnJlYWtwb2ludF9vcHMgbWV0 aG9kIGZvciBzeXNjYWxsCisgICBjYXRjaHBvaW50cy4gICovCisKK3N0YXRp YyBpbnQKK2JyZWFrcG9pbnRfaGl0X2NhdGNoX3N5c2NhbGwgKHN0cnVjdCBi cmVha3BvaW50ICpiKQoreworICAvKiBXZSBtdXN0IGNoZWNrIGlmIHdlIGFy ZSBjYXRjaGluZyBzcGVjaWZpYyBzeXNjYWxscyBpbiB0aGlzIGJyZWFrcG9p bnQuCisgICAgIElmIHdlIGFyZSwgdGhlbiB3ZSBtdXN0IGd1YXJhbnRlZSB0 aGF0IHRoZSBjYWxsZWQgc3lzY2FsbCBpcyB0aGUgc2FtZQorICAgICBzeXNj YWxsIHdlIGFyZSBjYXRjaGluZy4gICovCisgIGludCBzeXNjYWxsX251bWJl ciA9IDA7CisKKyAgaWYgKCFpbmZlcmlvcl9oYXNfY2FsbGVkX3N5c2NhbGwg KGluZmVyaW9yX3B0aWQsICZzeXNjYWxsX251bWJlcikpCisgICAgcmV0dXJu IDA7CisKKyAgLyogTm93LCBjaGVja2luZyBpZiB0aGUgc3lzY2FsbCBpcyB0 aGUgc2FtZS4gICovCisgIGlmIChiLT5zeXNjYWxsc190b19iZV9jYXVnaHQp CisgICAgeworICAgICAgc3RydWN0IHN5c2NhbGxfZmlsdGVyICppdGVyOwor ICAgICAgZm9yIChpdGVyID0gYi0+c3lzY2FsbHNfdG9fYmVfY2F1Z2h0OyBp dGVyOyBpdGVyID0gaXRlci0+bmV4dCkKKwlpZiAoc3lzY2FsbF9udW1iZXIg PT0gaXRlci0+c3lzY2FsbCkKKwkgIGJyZWFrOworICAgICAgLyogTm90IHRo ZSBzYW1lLiAgKi8KKyAgICAgIGlmICghaXRlcikKKwlyZXR1cm4gMDsKKyAg ICB9CisKKyAgLyogSXQncyB0aGUgc2FtZSBzeXNjYWxsLiAgV2UgY2FuIHVw ZGF0ZSB0aGUgYnJlYWtwb2ludCBzdHJ1Y3QKKyAgICAgd2l0aCB0aGUgY29y cmVjdCBpbmZvcm1hdGlvbi4gICovCisgIGItPnN5c2NhbGxfbnVtYmVyID0g c3lzY2FsbF9udW1iZXI7CisKKyAgcmV0dXJuIDE7Cit9CisKKy8qIEltcGxl bWVudCB0aGUgInByaW50X2l0IiBicmVha3BvaW50X29wcyBtZXRob2QgZm9y IHN5c2NhbGwKKyAgIGNhdGNocG9pbnRzLiAgKi8KKworc3RhdGljIGVudW0g cHJpbnRfc3RvcF9hY3Rpb24KK3ByaW50X2l0X2NhdGNoX3N5c2NhbGwgKHN0 cnVjdCBicmVha3BvaW50ICpiKQoreworICAvKiBUaGVzZSBhcmUgbmVlZGVk IGJlY2F1c2Ugd2Ugd2FudCB0byBrbm93IGluIHdoaWNoIHN0YXRlIGEKKyAg ICAgc3lzY2FsbCBpcy4gIEl0IGNhbiBiZSBpbiB0aGUgVEFSR0VUX1dBSVRL SU5EX1NZU0NBTExfRU5UUlkKKyAgICAgb3IgVEFSR0VUX1dBSVRLSU5EX1NZ U0NBTExfUkVUVVJOLCBhbmQgZGVwZW5kaW5nIG9uIGl0IHdlCisgICAgIG11 c3QgcHJpbnQgImNhbGxlZCBzeXNjYWxsIiBvciAicmV0dXJuZWQgZnJvbSBz eXNjYWxsIi4gICovCisgIHB0aWRfdCBwdGlkOworICBzdHJ1Y3QgdGFyZ2V0 X3dhaXRzdGF0dXMgbGFzdDsKKyAgc3RydWN0IHN5c2NhbGwgczsKKworICBn ZGJhcmNoX2dldF9zeXNjYWxsX2J5X251bWJlciAoY3VycmVudF9nZGJhcmNo LCBiLT5zeXNjYWxsX251bWJlciwgJnMpOworCisgIGdldF9sYXN0X3Rhcmdl dF9zdGF0dXMgKCZwdGlkLCAmbGFzdCk7CisKKyAgYW5ub3RhdGVfY2F0Y2hw b2ludCAoYi0+bnVtYmVyKTsKKyAgcHJpbnRmX2ZpbHRlcmVkIChfKCJcbkNh dGNocG9pbnQgJWQgKCIpLCBiLT5udW1iZXIpOworCisgIGlmIChsYXN0Lmtp bmQgPT0gVEFSR0VUX1dBSVRLSU5EX1NZU0NBTExfRU5UUlkpCisgICAgcHJp bnRmX2ZpbHRlcmVkIChfKCJjYWxsIHRvICIpKTsKKyAgZWxzZQorICAgIHBy aW50Zl9maWx0ZXJlZCAoXygicmV0dXJuZWQgZnJvbSAiKSk7CisKKyAgcHJp bnRmX2ZpbHRlcmVkIChfKCJzeXNjYWxsICIpKTsKKworICBpZiAocy5uYW1l ID09IE5VTEwpCisgICAgcHJpbnRmX2ZpbHRlcmVkIChfKCIlZCIpLCBiLT5z eXNjYWxsX251bWJlcik7CisgIGVsc2UKKyAgICBwcmludGZfZmlsdGVyZWQg KF8oIiclcyciKSwgcy5uYW1lKTsKKworICBwcmludGZfZmlsdGVyZWQgKF8o IiksICIpKTsKKworICByZXR1cm4gUFJJTlRfU1JDX0FORF9MT0M7Cit9CisK Ky8qIEltcGxlbWVudCB0aGUgInByaW50X29uZSIgYnJlYWtwb2ludF9vcHMg bWV0aG9kIGZvciBzeXNjYWxsCisgICBjYXRjaHBvaW50cy4gICovCisKK3N0 YXRpYyB2b2lkCitwcmludF9vbmVfY2F0Y2hfc3lzY2FsbCAoc3RydWN0IGJy ZWFrcG9pbnQgKmIsIENPUkVfQUREUiAqbGFzdF9hZGRyKQoreworICBzdHJ1 Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyBvcHRzOworICBzdHJ1Y3Qgc3lzY2Fs bCBzOworCisgIGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbnVtYmVyIChjdXJy ZW50X2dkYmFyY2gsIGItPnN5c2NhbGxfbnVtYmVyLCAmcyk7CisKKyAgZ2V0 X3VzZXJfcHJpbnRfb3B0aW9ucyAoJm9wdHMpOworICAvKiBGaWVsZCA0LCB0 aGUgYWRkcmVzcywgaXMgb21pdHRlZCAod2hpY2ggbWFrZXMgdGhlIGNvbHVt bnMKKyAgICAgbm90IGxpbmUgdXAgdG9vIG5pY2VseSB3aXRoIHRoZSBoZWFk ZXJzLCBidXQgdGhlIGVmZmVjdAorICAgICBpcyByZWxhdGl2ZWx5IHJlYWRh YmxlKS4gICovCisgIGlmIChvcHRzLmFkZHJlc3NwcmludCkKKyAgICB1aV9v dXRfZmllbGRfc2tpcCAodWlvdXQsICJhZGRyIik7CisgIGFubm90YXRlX2Zp ZWxkICg1KTsKKyAgdWlfb3V0X3RleHQgKHVpb3V0LCAic3lzY2FsbCBcIiIp OworICBpZiAoYi0+c3lzY2FsbF9udW1iZXIgIT0gVU5LTk9XTl9TWVNDQUxM KQorICAgIHsKKyAgICAgIGlmIChzLm5hbWUpCisgICAgICAgIHVpX291dF9m aWVsZF9zdHJpbmcgKHVpb3V0LCAid2hhdCIsIHMubmFtZSk7CisgICAgICBl bHNlCisgICAgICAgIHVpX291dF9maWVsZF9pbnQgKHVpb3V0LCAid2hhdCIs IGItPnN5c2NhbGxfbnVtYmVyKTsKKyAgICB9CisgIGVsc2UKKyAgICB1aV9v dXRfZmllbGRfc3RyaW5nICh1aW91dCwgIndoYXQiLCAiPGFueSBzeXNjYWxs PiIpOworICB1aV9vdXRfdGV4dCAodWlvdXQsICJcIiAiKTsKK30KKworLyog SW1wbGVtZW50IHRoZSAicHJpbnRfbWVudGlvbiIgYnJlYWtwb2ludF9vcHMg bWV0aG9kIGZvciBzeXNjYWxsCisgICBjYXRjaHBvaW50cy4gICovCisKK3N0 YXRpYyB2b2lkCitwcmludF9tZW50aW9uX2NhdGNoX3N5c2NhbGwgKHN0cnVj dCBicmVha3BvaW50ICpiKQoreworICBpZiAoYi0+c3lzY2FsbHNfdG9fYmVf Y2F1Z2h0KQorICAgIHsKKyAgICAgIHN0cnVjdCBzeXNjYWxsX2ZpbHRlciAq aXRlcjsKKyAgICAgIHByaW50Zl9maWx0ZXJlZCAoXygiQ2F0Y2hwb2ludCAl ZCAoc3lzY2FsbChzKSIpLCBiLT5udW1iZXIpOworICAgICAgZm9yIChpdGVy ID0gYi0+c3lzY2FsbHNfdG9fYmVfY2F1Z2h0OyBpdGVyOyBpdGVyID0gaXRl ci0+bmV4dCkKKyAgICAgICAgeworICAgICAgICAgIHN0cnVjdCBzeXNjYWxs IHM7CisgICAgICAgICAgZ2RiYXJjaF9nZXRfc3lzY2FsbF9ieV9udW1iZXIg KGN1cnJlbnRfZ2RiYXJjaCwgaXRlci0+c3lzY2FsbCwgJnMpOworCisgICAg ICAgICAgaWYgKHMubmFtZSkKKyAgICAgICAgICAgIHByaW50Zl9maWx0ZXJl ZCAoIiAnJXMnIiwgcy5uYW1lKTsKKyAgICAgICAgICBlbHNlCisgICAgICAg ICAgICBwcmludGZfZmlsdGVyZWQgKCIgJWQiLCBpdGVyLT5zeXNjYWxsKTsK KyAgICAgICAgfQorICAgICAgcHJpbnRmX2ZpbHRlcmVkICgiKSIpOworICAg IH0KKyAgZWxzZQorICAgIHByaW50Zl9maWx0ZXJlZCAoXygiQ2F0Y2hwb2lu dCAlZCAoYW55IHN5c2NhbGwpIiksCisgICAgICAgICAgICAgICAgICAgICBi LT5udW1iZXIpOworfQorCisvKiBUaGUgYnJlYWtwb2ludF9vcHMgc3RydWN0 dXJlIHRvIGJlIHVzZWQgaW4gc3lzY2FsbCBjYXRjaHBvaW50cy4gICovCisK K3N0YXRpYyBzdHJ1Y3QgYnJlYWtwb2ludF9vcHMgY2F0Y2hfc3lzY2FsbF9i cmVha3BvaW50X29wcyA9Cit7CisgIGluc2VydF9jYXRjaF9zeXNjYWxsLAor ICByZW1vdmVfY2F0Y2hfc3lzY2FsbCwKKyAgYnJlYWtwb2ludF9oaXRfY2F0 Y2hfc3lzY2FsbCwKKyAgcHJpbnRfaXRfY2F0Y2hfc3lzY2FsbCwKKyAgcHJp bnRfb25lX2NhdGNoX3N5c2NhbGwsCisgIHByaW50X21lbnRpb25fY2F0Y2hf c3lzY2FsbAorfTsKKworLyogUmV0dXJucyBub24temVybyBpZiAnYicgaXMg YSBzeXNjYWxsIGNhdGNocG9pbnQuICAqLworCitzdGF0aWMgaW50CitzeXNj YWxsX2NhdGNocG9pbnRfcCAoc3RydWN0IGJyZWFrcG9pbnQgKmIpCit7Cisg IHJldHVybiAoYi0+b3BzID09ICZjYXRjaF9zeXNjYWxsX2JyZWFrcG9pbnRf b3BzKTsKK30KKworLyogQ3JlYXRlIGEgbmV3IGJyZWFrcG9pbnQgb2YgdGhl IGJwX2NhdGNocG9pbnQga2luZCBhbmQgcmV0dXJuIGl0LAorICAgYnV0IGRv ZXMgTk9UIG1lbnRpb24gaXQgbm9yIHVwZGF0ZSB0aGUgZ2xvYmFsIGxvY2F0 aW9uIGxpc3QuCisgICBUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgbmVlZCB0byBm aWxsIG1vcmUgZmllbGRzIGluIHRoZQorICAgc3RydWN0IGJyZWFrcG9pbnQg YmVmb3JlIGNhbGxpbmcgbWVudGlvbi4KICAKICAgIElmIFRFTVBGTEFHIGlz IG5vbi16ZXJvLCB0aGVuIG1ha2UgdGhlIGJyZWFrcG9pbnQgdGVtcG9yYXJ5 LgogICAgSWYgQ09ORF9TVFJJTkcgaXMgbm90IE5VTEwsIHRoZW4gc3RvcmUg aXQgaW4gdGhlIGJyZWFrcG9pbnQuCkBAIC00NjYxLDE2ICs0OTA4LDEzIEBA IHN0YXRpYyBzdHJ1Y3QgYnJlYWtwb2ludF9vcHMgY2F0Y2hfdmZvcmsKICAg IHRvIHRoZSBjYXRjaHBvaW50LiAgKi8KIAogc3RhdGljIHN0cnVjdCBicmVh a3BvaW50ICoKLWNyZWF0ZV9jYXRjaHBvaW50IChpbnQgdGVtcGZsYWcsIGNo YXIgKmNvbmRfc3RyaW5nLAotICAgICAgICAgICAgICAgICAgIHN0cnVjdCBi cmVha3BvaW50X29wcyAqb3BzKQorY3JlYXRlX2NhdGNocG9pbnRfd2l0aG91 dF9tZW50aW9uIChpbnQgdGVtcGZsYWcsIGNoYXIgKmNvbmRfc3RyaW5nLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYnJl YWtwb2ludF9vcHMgKm9wcykKIHsKICAgc3RydWN0IHN5bXRhYl9hbmRfbGlu ZSBzYWw7CiAgIHN0cnVjdCBicmVha3BvaW50ICpiOwogCiAgIGluaXRfc2Fs ICgmc2FsKTsKLSAgc2FsLnBjID0gMDsKLSAgc2FsLnN5bXRhYiA9IE5VTEw7 Ci0gIHNhbC5saW5lID0gMDsKIAogICBiID0gc2V0X3Jhd19icmVha3BvaW50 IChzYWwsIGJwX2NhdGNocG9pbnQpOwogICBzZXRfYnJlYWtwb2ludF9jb3Vu dCAoYnJlYWtwb2ludF9jb3VudCArIDEpOwpAQCAtNDY4NCw2ICs0OTI4LDIz IEBAIGNyZWF0ZV9jYXRjaHBvaW50IChpbnQgdGVtcGZsYWcsIGNoYXIgKmMK ICAgYi0+ZGlzcG9zaXRpb24gPSB0ZW1wZmxhZyA/IGRpc3BfZGVsIDogZGlz cF9kb250dG91Y2g7CiAgIGItPm9wcyA9IG9wczsKIAorICByZXR1cm4gYjsK K30KKworLyogQ3JlYXRlIGEgbmV3IGJyZWFrcG9pbnQgb2YgdGhlIGJwX2Nh dGNocG9pbnQga2luZCBhbmQgcmV0dXJuIGl0LgorCisgICBJZiBURU1QRkxB RyBpcyBub24temVybywgdGhlbiBtYWtlIHRoZSBicmVha3BvaW50IHRlbXBv cmFyeS4KKyAgIElmIENPTkRfU1RSSU5HIGlzIG5vdCBOVUxMLCB0aGVuIHN0 b3JlIGl0IGluIHRoZSBicmVha3BvaW50LgorICAgT1BTLCBpZiBub3QgTlVM TCwgaXMgdGhlIGJyZWFrcG9pbnRfb3BzIHN0cnVjdHVyZSBhc3NvY2lhdGVk CisgICB0byB0aGUgY2F0Y2hwb2ludC4gICovCisKK3N0YXRpYyBzdHJ1Y3Qg YnJlYWtwb2ludCAqCitjcmVhdGVfY2F0Y2hwb2ludCAoaW50IHRlbXBmbGFn LCBjaGFyICpjb25kX3N0cmluZywKKyAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgYnJlYWtwb2ludF9vcHMgKm9wcykKK3sKKyAgc3RydWN0IGJyZWFrcG9p bnQgKmIgPQorICAgIGNyZWF0ZV9jYXRjaHBvaW50X3dpdGhvdXRfbWVudGlv biAodGVtcGZsYWcsIGNvbmRfc3RyaW5nLCBvcHMpOworCiAgIG1lbnRpb24g KGIpOwogICB1cGRhdGVfZ2xvYmFsX2xvY2F0aW9uX2xpc3QgKDEpOwogCkBA IC00NzY4LDYgKzUwMjksMjMgQEAgc3RhdGljIHN0cnVjdCBicmVha3BvaW50 X29wcyBjYXRjaF9leGVjXwogICBwcmludF9tZW50aW9uX2NhdGNoX2V4ZWMK IH07CiAKK3N0YXRpYyB2b2lkCitjcmVhdGVfc3lzY2FsbF9ldmVudF9jYXRj aHBvaW50IChpbnQgdGVtcGZsYWcsIHN0cnVjdCBzeXNjYWxsX2ZpbHRlciAq ZmlsdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGJyZWFrcG9pbnRfb3BzICpvcHMpCit7CisgIHN0cnVjdCBicmVha3Bv aW50ICpiID0KKyAgICBjcmVhdGVfY2F0Y2hwb2ludF93aXRob3V0X21lbnRp b24gKHRlbXBmbGFnLCBOVUxMLCBvcHMpOworCisgIGItPnN5c2NhbGxzX3Rv X2JlX2NhdWdodCA9IGZpbHRlcjsKKyAgLyogV2Ugc3RpbGwgZG9uJ3Qga25v dyB0aGUgc3lzY2FsbCB0aGF0IHdpbGwgYmUgY2F1Z2h0IDotKS4gICovCisg IGItPnN5c2NhbGxfbnVtYmVyID0gVU5LTk9XTl9TWVNDQUxMOworCisgIC8q IE5vdywgd2UgaGF2ZSB0byBtZW50aW9uIHRoZSBicmVha3BvaW50IGFuZCB1 cGRhdGUgdGhlIGdsb2JhbAorICAgICBsb2NhdGlvbiBsaXN0LiAgKi8KKyAg bWVudGlvbiAoYik7CisgIHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlzdCAo MSk7Cit9CisKIHN0YXRpYyBpbnQKIGh3X2JyZWFrcG9pbnRfdXNlZF9jb3Vu dCAodm9pZCkKIHsKQEAgLTY2NjAsNiArNjkzOCwxMjIgQEAgY2F0Y2hfYWRh X2V4Y2VwdGlvbl9jb21tYW5kIChjaGFyICphcmcsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmcm9tX3R0eSk7CiB9CiAKKy8qIENs ZWFudXAgZnVuY3Rpb24gZm9yIGEgc3lzY2FsbCBmaWx0ZXIgbGlzdC4gICov CitzdGF0aWMgdm9pZAorY2xlYW5fdXBfZmlsdGVycyAodm9pZCAqYXJnKQor eworICBzdHJ1Y3Qgc3lzY2FsbF9maWx0ZXIgKml0ZXIgPSAqKHN0cnVjdCBz eXNjYWxsX2ZpbHRlciAqKikgYXJnOworICB3aGlsZSAoaXRlcikKKyAgICB7 CisgICAgICBzdHJ1Y3Qgc3lzY2FsbF9maWx0ZXIgKm5leHQgPSBpdGVyLT5u ZXh0OworICAgICAgeGZyZWUgKGl0ZXIpOworICAgICAgaXRlciA9IG5leHQ7 CisgICAgfQorfQorCisvKiBTcGxpdHMgdGhlIGFyZ3VtZW50IHVzaW5nIHNw YWNlIGFzIGRlbGltaXRlci4gIFJldHVybnMgYW4geG1hbGxvYydkCisgICBm aWx0ZXIgbGlzdCwgb3IgTlVMTCBpZiBubyBmaWx0ZXJpbmcgaXMgcmVxdWly ZWQuICAqLworc3RhdGljIHN0cnVjdCBzeXNjYWxsX2ZpbHRlciAqCitjYXRj aF9zeXNjYWxsX3NwbGl0X2FyZ3MgKGNoYXIgKmFyZykKK3sKKyAgc3RydWN0 IHN5c2NhbGxfZmlsdGVyICpyZXN1bHQgPSBOVUxMOworICBzdHJ1Y3QgY2xl YW51cCAqY2xlYW51cCA9IG1ha2VfY2xlYW51cCAoY2xlYW5fdXBfZmlsdGVy cywgJnJlc3VsdCk7CisKKyAgd2hpbGUgKCphcmcgIT0gJ1wwJykKKyAgICB7 CisgICAgICBpbnQgaSwgc3lzY2FsbF9udW1iZXI7CisgICAgICBjaGFyICpl bmRwdHI7CisgICAgICBjaGFyIGN1cl9uYW1lWzEyOF07CisgICAgICBzdHJ1 Y3Qgc3lzY2FsbF9maWx0ZXIgKm5ld19maWx0ZXI7CisgICAgICBzdHJ1Y3Qg c3lzY2FsbCBzOworCisgICAgICAvKiBTa2lwIHdoaXRlc3BhY2UuICAqLwor ICAgICAgd2hpbGUgKGlzc3BhY2UgKCphcmcpKQorICAgICAgICBhcmcrKzsK KworICAgICAgZm9yIChpID0gMDsgYXJnW2ldICYmICFpc3NwYWNlIChhcmdb aV0pOyArK2kpCisJY3VyX25hbWVbaV0gPSBhcmdbaV07CisgICAgICBjdXJf bmFtZVtpXSA9ICdcMCc7CisgICAgICBhcmcgKz0gaTsKKworICAgICAgLyog Q2hlY2sgaWYgdGhlIHVzZXIgcHJvdmlkZWQgYSBzeXNjYWxsIG5hbWUgb3Ig YSBudW1iZXIuICAqLworICAgICAgc3lzY2FsbF9udW1iZXIgPSAoaW50KSBz dHJ0b2wgKGN1cl9uYW1lLCAmZW5kcHRyLCAxMCk7CisgICAgICBpZiAoKmVu ZHB0ciA9PSAnXDAnKQorICAgICAgICB7CisgICAgICAgICAgZ2RiYXJjaF9n ZXRfc3lzY2FsbF9ieV9udW1iZXIgKGN1cnJlbnRfZ2RiYXJjaCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY2FsbF9u dW1iZXIsICZzKTsKKworICAgICAgICAgIGlmIChzLm5hbWUgPT0gTlVMTCkK KyAgICAgICAgICAgIC8qIFdlIGNhbiBpc3N1ZSBqdXN0IGEgd2FybmluZywg YnV0IHN0aWxsIGNyZWF0ZSB0aGUgY2F0Y2hwb2ludC4KKyAgICAgICAgICAg ICAgIFRoaXMgaXMgYmVjYXVzZSwgZXZlbiBub3Qga25vd2luZyB0aGUgc3lz Y2FsbCBuYW1lIHRoYXQKKyAgICAgICAgICAgICAgIHRoaXMgbnVtYmVyIHJl cHJlc2VudHMsIHdlIGNhbiBzdGlsbCB0cnkgdG8gY2F0Y2ggdGhlIHN5c2Nh bGwKKyAgICAgICAgICAgICAgIG51bWJlci4gICovCisgICAgICAgICAgICB3 YXJuaW5nIChfKCJUaGUgbnVtYmVyICclZCcgZG9lcyBub3QgcmVwcmVzZW50 IGEga25vd24gc3lzY2FsbC4iKSwKKyAgICAgICAgICAgICAgICAgICAgIHN5 c2NhbGxfbnVtYmVyKTsKKyAgICAgICAgfQorICAgICAgZWxzZQorICAgICAg ICB7CisgICAgICAgICAgLyogV2UgaGF2ZSBhIG5hbWUuICBMZXQncyBjaGVj ayBpZiBpdCdzIHZhbGlkIGFuZCBjb252ZXJ0IGl0CisgICAgICAgICAgICAg dG8gYSBudW1iZXIuICAqLworICAgICAgICAgIGdkYmFyY2hfZ2V0X3N5c2Nh bGxfYnlfbmFtZSAoY3VycmVudF9nZGJhcmNoLCBjdXJfbmFtZSwgJnMpOwor CisgICAgICAgICAgaWYgKHMubnVtYmVyID09IFVOS05PV05fU1lTQ0FMTCkK KyAgICAgICAgICAgIC8qIEhlcmUgd2UgaGF2ZSB0byBpc3N1ZSBhbiBlcnJv ciBpbnN0ZWFkIG9mIGEgd2FybmluZywgYmVjYXVzZQorICAgICAgICAgICAg ICAgR0RCIGNhbm5vdCBkbyBhbnl0aGluZyB1c2VmdWwgaWYgdGhlcmUncyBu byBzeXNjYWxsIG51bWJlciB0bworICAgICAgICAgICAgICAgYmUgY2F1Z2h0 LiAgKi8KKyAgICAgICAgICAgIGVycm9yIChfKCJVbmtub3duIHN5c2NhbGwg bmFtZSAnJXMnLiIpLCBjdXJfbmFtZSk7CisgICAgICAgIH0KKworICAgICAg LyogT2ssIGl0J3MgdmFsaWQuICAqLworICAgICAgbmV3X2ZpbHRlciA9IFhO RVcgKHN0cnVjdCBzeXNjYWxsX2ZpbHRlcik7CisgICAgICBuZXdfZmlsdGVy LT5zeXNjYWxsID0gcy5udW1iZXI7CisgICAgICBuZXdfZmlsdGVyLT5uZXh0 ID0gcmVzdWx0OworICAgICAgcmVzdWx0ID0gbmV3X2ZpbHRlcjsKKyAgICB9 CisKKyAgZGlzY2FyZF9jbGVhbnVwcyAoY2xlYW51cCk7CisgIHJldHVybiBy ZXN1bHQ7Cit9CisKKy8qIEltcGxlbWVudCB0aGUgImNhdGNoIHN5c2NhbGwi IGNvbW1hbmQuICAqLworCitzdGF0aWMgdm9pZAorY2F0Y2hfc3lzY2FsbF9j b21tYW5kXzEgKGNoYXIgKmFyZywgaW50IGZyb21fdHR5LCBzdHJ1Y3QgY21k X2xpc3RfZWxlbWVudCAqY29tbWFuZCkKK3sKKyAgaW50IHRlbXBmbGFnOwor ICBzdHJ1Y3Qgc3lzY2FsbF9maWx0ZXIgKmZpbHRlcjsKKyAgc3RydWN0IHN5 c2NhbGwgczsKKworICAvKiBDaGVja2luZyBpZiB0aGUgZmVhdHVyZSBpZiBz dXBwb3J0ZWQuICAqLworICBpZiAoZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1i ZXJfcCAoY3VycmVudF9nZGJhcmNoKSA9PSAwKQorICAgIGVycm9yIChfKCJU aGUgZmVhdHVyZSAnY2F0Y2ggc3lzY2FsbCcgaXMgbm90IHN1cHBvcnRlZCBv biBcCit0aGlzIGFyY2hpdGV0dXJlIHlldC4iKSk7CisKKyAgdGVtcGZsYWcg PSBnZXRfY21kX2NvbnRleHQgKGNvbW1hbmQpID09IENBVENIX1RFTVBPUkFS WTsKKworICBlcF9za2lwX2xlYWRpbmdfd2hpdGVzcGFjZSAoJmFyZyk7CisK KyAgLyogV2UgbmVlZCB0byBkbyB0aGlzIGZpcnN0ICJkdW1teSIgdHJhbnNs YXRpb24gaW4gb3JkZXIKKyAgICAgdG8gZ2V0IHRoZSBzeXNjYWxsIFhNTCBm aWxlIGxvYWRlZCBvciwgbW9zdCBpbXBvcnRhbnQsCisgICAgIHRvIGRpc3Bs YXkgYSB3YXJuaW5nIHRvIHRoZSB1c2VyIGlmIHRoZXJlJ3Mgbm8gWE1MIGZp bGUKKyAgICAgZm9yIGhpcy9oZXIgYXJjaGl0ZWN0dXJlLiAgKi8KKyAgZ2Ri YXJjaF9nZXRfc3lzY2FsbF9ieV9udW1iZXIgKGN1cnJlbnRfZ2RiYXJjaCwg MCwgJnMpOworCisgIC8qIFRoZSBhbGxvd2VkIHN5bnRheCBpczoKKyAgICAg Y2F0Y2ggc3lzY2FsbAorICAgICBjYXRjaCBzeXNjYWxsIDxuYW1lIHwgbnVt YmVyPiBbPG5hbWUgfCBudW1iZXI+IC4uLiA8bmFtZSB8IG51bWJlcj5dCisK KyAgICAgTGV0J3MgY2hlY2sgaWYgdGhlcmUncyBhIHN5c2NhbGwgbmFtZS4g ICovCisKKyAgaWYgKGFyZyAhPSBOVUxMKQorICAgIGZpbHRlciA9IGNhdGNo X3N5c2NhbGxfc3BsaXRfYXJncyAoYXJnKTsKKyAgZWxzZQorICAgIGZpbHRl ciA9IE5VTEw7CisKKyAgY3JlYXRlX3N5c2NhbGxfZXZlbnRfY2F0Y2hwb2lu dCAodGVtcGZsYWcsIGZpbHRlciwKKwkJCQkgICAmY2F0Y2hfc3lzY2FsbF9i cmVha3BvaW50X29wcyk7Cit9CisKIC8qIEltcGxlbWVudCB0aGUgImNhdGNo IGFzc2VydCIgY29tbWFuZC4gICovCiAKIHN0YXRpYyB2b2lkCkBAIC03MTI2 LDYgKzc1MjAsNyBAQCBkZWxldGVfYnJlYWtwb2ludCAoc3RydWN0IGJyZWFr cG9pbnQgKmJwCiAgICAgeGZyZWUgKGJwdC0+c291cmNlX2ZpbGUpOwogICBp ZiAoYnB0LT5leGVjX3BhdGhuYW1lICE9IE5VTEwpCiAgICAgeGZyZWUgKGJw dC0+ZXhlY19wYXRobmFtZSk7CisgIGNsZWFuX3VwX2ZpbHRlcnMgKCZicHQt PnN5c2NhbGxzX3RvX2JlX2NhdWdodCk7CiAKICAgLyogQmUgc3VyZSBubyBi cHN0YXQncyBhcmUgcG9pbnRpbmcgYXQgaXQgYWZ0ZXIgaXQncyBiZWVuIGZy ZWVkLiAgKi8KICAgLyogRklYTUUsIGhvdyBjYW4gd2UgZmluZCBhbGwgYnBz dGF0J3M/CkBAIC04MDMzLDYgKzg0MjgsNTcgQEAgc2luZ2xlX3N0ZXBfYnJl YWtwb2ludF9pbnNlcnRlZF9oZXJlX3AgKAogICByZXR1cm4gMDsKIH0KIAor LyogUmV0dXJucyAwIGlmICdicCcgaXMgTk9UIGEgc3lzY2FsbCBjYXRjaHBv aW50LAorICAgbm9uLXplcm8gb3RoZXJ3aXNlLiAgKi8KK3N0YXRpYyBpbnQK K2lzX3N5c2NhbGxfY2F0Y2hwb2ludF9lbmFibGVkIChzdHJ1Y3QgYnJlYWtw b2ludCAqYnApCit7CisgIGlmIChzeXNjYWxsX2NhdGNocG9pbnRfcCAoYnAp CisgICAgICAmJiBicC0+ZW5hYmxlX3N0YXRlICE9IGJwX2Rpc2FibGVkCisg ICAgICAmJiBicC0+ZW5hYmxlX3N0YXRlICE9IGJwX2NhbGxfZGlzYWJsZWQp CisgICAgcmV0dXJuIDE7CisgIGVsc2UKKyAgICByZXR1cm4gMDsKK30KKwor aW50CitjYXRjaF9zeXNjYWxsX2VuYWJsZWQgKHZvaWQpCit7CisgIHJldHVy biB0b3RhbF9zeXNjYWxsc19jb3VudCAhPSAwOworfQorCitpbnQKK2NhdGNo aW5nX3N5c2NhbGxfbnVtYmVyIChpbnQgc3lzY2FsbF9udW1iZXIpCit7Cisg IHN0cnVjdCBicmVha3BvaW50ICpicDsKKworICBBTExfQlJFQUtQT0lOVFMg KGJwKQorICAgIGlmIChpc19zeXNjYWxsX2NhdGNocG9pbnRfZW5hYmxlZCAo YnApKQorICAgICAgeworCWlmIChicC0+c3lzY2FsbHNfdG9fYmVfY2F1Z2h0 KQorCSAgeworCSAgICBzdHJ1Y3Qgc3lzY2FsbF9maWx0ZXIgKml0ZXI7CisJ ICAgIGZvciAoaXRlciA9IGJwLT5zeXNjYWxsc190b19iZV9jYXVnaHQ7IGl0 ZXI7IGl0ZXIgPSBpdGVyLT5uZXh0KQorCSAgICAgIGlmIChzeXNjYWxsX251 bWJlciA9PSBpdGVyLT5zeXNjYWxsKQorCQlyZXR1cm4gMTsKKwkgIH0KKwll bHNlCisJICByZXR1cm4gMTsKKyAgICAgIH0KKworICByZXR1cm4gMDsKK30K KworLyogQ29tcGxldGUgc3lzY2FsbCBuYW1lcy4gIFVzZWQgYnkgImNhdGNo IHN5c2NhbGwiLiAgKi8KK3N0YXRpYyBjaGFyICoqCitjYXRjaF9zeXNjYWxs X2NvbXBsZXRlciAoc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKnNlbGYsCisJ CQkgY2hhciAqdGV4dCwgY2hhciAqd29yZCkKK3sKKyAgY29uc3QgY2hhciAq Kmxpc3QgPQorICAgIGdkYmFyY2hfZ2V0X3N5c2NhbGxfbmFtZXMgKGN1cnJl bnRfZ2RiYXJjaCk7CisgIHJldHVybiAobGlzdCA9PSBOVUxMKSA/IE5VTEwg OiBjb21wbGV0ZV9vbl9lbnVtIChsaXN0LCB0ZXh0LCB3b3JkKTsKK30KKwog DAogLyogVGhpcyBoZWxwIHN0cmluZyBpcyB1c2VkIGZvciB0aGUgYnJlYWss IGhicmVhaywgdGJyZWFrIGFuZCB0aGJyZWFrIGNvbW1hbmRzLgogICAgSXQg aXMgZGVmaW5lZCBhcyBhIG1hY3JvIHRvIHByZXZlbnQgZHVwbGljYXRpb24u CkBAIC04MDY1LDYgKzg1MTEsOCBAQCBzdGF0aWMgdm9pZAogYWRkX2NhdGNo X2NvbW1hbmQgKGNoYXIgKm5hbWUsIGNoYXIgKmRvY3N0cmluZywKIAkJICAg dm9pZCAoKnNmdW5jKSAoY2hhciAqYXJncywgaW50IGZyb21fdHR5LAogCQkJ CSAgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmNvbW1hbmQpLAorICAgICAg ICAgICAgICAgICAgIGNoYXIgKiogKCpjb21wbGV0aW9uX2Z1bmN0aW9uKSAo c3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKnNlbGYsCisJCQkgICAgIAkJCSAg IGNoYXIgKnRleHQsIGNoYXIgKndvcmQpLAogCQkgICB2b2lkICp1c2VyX2Rh dGFfY2F0Y2gsCiAJCSAgIHZvaWQgKnVzZXJfZGF0YV90Y2F0Y2gpCiB7CkBA IC04MDc0LDExICs4NTIyLDEzIEBAIGFkZF9jYXRjaF9jb21tYW5kIChjaGFy ICpuYW1lLCBjaGFyICpkb2MKIAkJICAgICAmY2F0Y2hfY21kbGlzdCk7CiAg IHNldF9jbWRfc2Z1bmMgKGNvbW1hbmQsIHNmdW5jKTsKICAgc2V0X2NtZF9j b250ZXh0IChjb21tYW5kLCB1c2VyX2RhdGFfY2F0Y2gpOworICBzZXRfY21k X2NvbXBsZXRlciAoY29tbWFuZCwgY29tcGxldGlvbl9mdW5jdGlvbik7CiAK ICAgY29tbWFuZCA9IGFkZF9jbWQgKG5hbWUsIGNsYXNzX2JyZWFrcG9pbnQs IE5VTEwsIGRvY3N0cmluZywKIAkJICAgICAmdGNhdGNoX2NtZGxpc3QpOwog ICBzZXRfY21kX3NmdW5jIChjb21tYW5kLCBzZnVuYyk7CiAgIHNldF9jbWRf Y29udGV4dCAoY29tbWFuZCwgdXNlcl9kYXRhX3RjYXRjaCk7CisgIHNldF9j bWRfY29tcGxldGVyIChjb21tYW5kLCBjb21wbGV0aW9uX2Z1bmN0aW9uKTsK IH0KIAogdm9pZApAQCAtODM1MywzNiArODgwMyw1MCBAQCBTZXQgdGVtcG9y YXJ5IGNhdGNocG9pbnRzIHRvIGNhdGNoIGV2ZW50CiBDYXRjaCBhbiBleGNl cHRpb24sIHdoZW4gY2F1Z2h0LlxuXAogV2l0aCBhbiBhcmd1bWVudCwgY2F0 Y2ggb25seSBleGNlcHRpb25zIHdpdGggdGhlIGdpdmVuIG5hbWUuIiksCiAJ CSAgICAgY2F0Y2hfY2F0Y2hfY29tbWFuZCwKKyAgICAgICAgICAgICAgICAg ICAgIE5VTEwsCiAJCSAgICAgQ0FUQ0hfUEVSTUFORU5ULAogCQkgICAgIENB VENIX1RFTVBPUkFSWSk7CiAgIGFkZF9jYXRjaF9jb21tYW5kICgidGhyb3ci LCBfKCJcCiBDYXRjaCBhbiBleGNlcHRpb24sIHdoZW4gdGhyb3duLlxuXAog V2l0aCBhbiBhcmd1bWVudCwgY2F0Y2ggb25seSBleGNlcHRpb25zIHdpdGgg dGhlIGdpdmVuIG5hbWUuIiksCiAJCSAgICAgY2F0Y2hfdGhyb3dfY29tbWFu ZCwKKyAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAJCSAgICAgQ0FUQ0hf UEVSTUFORU5ULAogCQkgICAgIENBVENIX1RFTVBPUkFSWSk7CiAgIGFkZF9j YXRjaF9jb21tYW5kICgiZm9yayIsIF8oIkNhdGNoIGNhbGxzIHRvIGZvcmsu IiksCiAJCSAgICAgY2F0Y2hfZm9ya19jb21tYW5kXzEsCisgICAgICAgICAg ICAgICAgICAgICBOVUxMLAogCQkgICAgICh2b2lkICopICh1aW50cHRyX3Qp IGNhdGNoX2ZvcmtfcGVybWFuZW50LAogCQkgICAgICh2b2lkICopICh1aW50 cHRyX3QpIGNhdGNoX2ZvcmtfdGVtcG9yYXJ5KTsKICAgYWRkX2NhdGNoX2Nv bW1hbmQgKCJ2Zm9yayIsIF8oIkNhdGNoIGNhbGxzIHRvIHZmb3JrLiIpLAog CQkgICAgIGNhdGNoX2ZvcmtfY29tbWFuZF8xLAorICAgICAgICAgICAgICAg ICAgICAgTlVMTCwKIAkJICAgICAodm9pZCAqKSAodWludHB0cl90KSBjYXRj aF92Zm9ya19wZXJtYW5lbnQsCiAJCSAgICAgKHZvaWQgKikgKHVpbnRwdHJf dCkgY2F0Y2hfdmZvcmtfdGVtcG9yYXJ5KTsKICAgYWRkX2NhdGNoX2NvbW1h bmQgKCJleGVjIiwgXygiQ2F0Y2ggY2FsbHMgdG8gZXhlYy4iKSwKIAkJICAg ICBjYXRjaF9leGVjX2NvbW1hbmRfMSwKKyAgICAgICAgICAgICAgICAgICAg IE5VTEwsCiAJCSAgICAgQ0FUQ0hfUEVSTUFORU5ULAogCQkgICAgIENBVENI X1RFTVBPUkFSWSk7CisgIGFkZF9jYXRjaF9jb21tYW5kICgic3lzY2FsbCIs IF8oIlwKK0NhdGNoIHN5c3RlbSBjYWxscy5cblwKK1dpdGggYW4gYXJndW1l bnQsIGNhdGNoIG9ubHkgdGhhdCBzeXNjYWxsLiIpLAorICAgICAgICAgICAg ICAgICAgICAgICAgIGNhdGNoX3N5c2NhbGxfY29tbWFuZF8xLAorICAgICAg ICAgICAgICAgICAgICAgICAgIGNhdGNoX3N5c2NhbGxfY29tcGxldGVyLAor ICAgICAgICAgICAgICAgICAgICAgICAgIENBVENIX1BFUk1BTkVOVCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBDQVRDSF9URU1QT1JBUlkpOwogICBh ZGRfY2F0Y2hfY29tbWFuZCAoImV4Y2VwdGlvbiIsIF8oIlwKIENhdGNoIEFk YSBleGNlcHRpb25zLCB3aGVuIHJhaXNlZC5cblwKIFdpdGggYW4gYXJndW1l bnQsIGNhdGNoIG9ubHkgZXhjZXB0aW9ucyB3aXRoIHRoZSBnaXZlbiBuYW1l LiIpLAogCQkgICAgIGNhdGNoX2FkYV9leGNlcHRpb25fY29tbWFuZCwKKyAg ICAgICAgICAgICAgICAgICAgIE5VTEwsCiAJCSAgICAgQ0FUQ0hfUEVSTUFO RU5ULAogCQkgICAgIENBVENIX1RFTVBPUkFSWSk7CiAgIGFkZF9jYXRjaF9j b21tYW5kICgiYXNzZXJ0IiwgXygiXAogQ2F0Y2ggZmFpbGVkIEFkYSBhc3Nl cnRpb25zLCB3aGVuIHJhaXNlZC5cblwKIFdpdGggYW4gYXJndW1lbnQsIGNh dGNoIG9ubHkgZXhjZXB0aW9ucyB3aXRoIHRoZSBnaXZlbiBuYW1lLiIpLAog CQkgICAgIGNhdGNoX2Fzc2VydF9jb21tYW5kLAorICAgICAgICAgICAgICAg ICAgICAgTlVMTCwKIAkJICAgICBDQVRDSF9QRVJNQU5FTlQsCiAJCSAgICAg Q0FUQ0hfVEVNUE9SQVJZKTsKIAotLS0gYS9nZGIvYnJlYWtwb2ludC5oCisr KyBiL2dkYi9icmVha3BvaW50LmgKQEAgLTMzLDcgKzMzLDggQEAgc3RydWN0 IGJsb2NrOwogCiAjZGVmaW5lCUJSRUFLUE9JTlRfTUFYCTE2CiAMCi0vKiBU eXBlIG9mIGJyZWFrcG9pbnQuICovCisKKy8qIFR5cGUgb2YgYnJlYWtwb2lu dC4gICovCiAvKiBGSVhNRSBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgZm9s ZCBhbGwgb3RoZXIgYnJlYWtwb2ludC1saWtlIHRoaW5ncyBpbnRvCiAgICBo ZXJlLiAgVGhpcyBpbmNsdWRlczoKIApAQCAtMzM3LDYgKzMzOCwxNyBAQCBl bnVtIHdhdGNocG9pbnRfdHJpZ2dlcmVkCiAgIHdhdGNoX3RyaWdnZXJlZF95 ZXMgIAogfTsKIAorLyogQSBzeXNjYWxsIGZpbHRlciBpcyByZXByZXNlbnRl ZCBhcyBhIGxpbmtlZCBsaXN0IG9mIHN5c2NhbGwKKyAgIG51bWJlcnMuICAq Lworc3RydWN0IHN5c2NhbGxfZmlsdGVyCit7CisgIC8qIFRoZSBzeXN0ZW0g Y2FsbCB0byBhY2NlcHQuICAqLworICBpbnQgc3lzY2FsbDsKKworICAvKiBU aGUgbmV4dCBmaWx0ZXIuICAqLworICBzdHJ1Y3Qgc3lzY2FsbF9maWx0ZXIg Km5leHQ7Cit9OworCiB0eXBlZGVmIHN0cnVjdCBicF9sb2NhdGlvbiAqYnBf bG9jYXRpb25fcDsKIERFRl9WRUNfUChicF9sb2NhdGlvbl9wKTsKIApAQCAt NDQyLDYgKzQ1NCwyMCBAQCBzdHJ1Y3QgYnJlYWtwb2ludAogICAgICAgIHRy aWdnZXJlZC4gICovCiAgICAgY2hhciAqZXhlY19wYXRobmFtZTsKIAorICAg IC8qIFN5c2NhbGwgbnVtYmVyIHVzZWQgZm9yIHRoZSAnY2F0Y2ggc3lzY2Fs bCcgZmVhdHVyZS4KKyAgICAgICBJZiBubyBzeXNjYWxsIGhhcyBiZWVuIGNh bGxlZCwgaXRzIHZhbHVlIGlzIFVOS05PV05fU1lTQ0FMTC4KKyAgICAgICBP dGhlcndpc2UsIGl0IGhvbGRzIHRoZSBzeXN0ZW0gY2FsbCBudW1iZXIgaW4g dGhlIHRhcmdldC4KKworICAgICAgIFRoaXMgZmllbGQgaXMgb25seSB2YWxp ZCBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGNhdGNocG9pbnQgaGFzCisgICAg ICAgdHJpZ2dlcmVkLiAgKi8KKyAgICBpbnQgc3lzY2FsbF9udW1iZXI7CisK KyAgICAvKiBTeXNjYWxsIG51bWJlcnMgdXNlZCBmb3IgdGhlICdjYXRjaCBz eXNjYWxsJyBmZWF0dXJlLgorICAgICAgIElmIG5vIHN5c2NhbGwgaGFzIGJl ZW4gc3BlY2lmaWVkIGZvciBmaWx0ZXJpbmcsIGl0cyB2YWx1ZSBpcyBOVUxM LgorICAgICAgIE90aGVyd2lzZSwgaXQgaG9sZHMgYSBsaXN0IG9mIGFsbCBz eXNjYWxscyB0byBiZSBjYXVnaHQuCisgICAgICAgVGhlIGxpc3QgZWxlbWVu dHMgYXJlIGFsbG9jYXRlZCB3aXRoIHhtYWxsb2MuICAqLworICAgIHN0cnVj dCBzeXNjYWxsX2ZpbHRlciAqc3lzY2FsbHNfdG9fYmVfY2F1Z2h0OworCiAg ICAgLyogTWV0aG9kcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBicmVha3BvaW50 LiAgKi8KICAgICBzdHJ1Y3QgYnJlYWtwb2ludF9vcHMgKm9wczsKIApAQCAt NzgzLDYgKzgwOSw4IEBAIGV4dGVybiB2b2lkIGVuYWJsZV93YXRjaHBvaW50 c19hZnRlcl9pbnQKIGV4dGVybiBlbnVtIGNvbW1hbmRfY29udHJvbF90eXBl IGNvbW1hbmRzX2Zyb21fY29udHJvbF9jb21tYW5kCiAgIChjaGFyICphcmcs IHN0cnVjdCBjb21tYW5kX2xpbmUgKmNtZCk7CiAKK2V4dGVybiB2b2lkIGNs ZWFyX3N5c2NhbGxfY2F0Y2hwb2ludHNfaW5mbyAodm9pZCk7CisKIGV4dGVy biB2b2lkIGNsZWFyX2JyZWFrcG9pbnRfaGl0X2NvdW50cyAodm9pZCk7CiAK IGV4dGVybiBpbnQgZ2V0X251bWJlciAoY2hhciAqKik7CkBAIC04NTcsNiAr ODg1LDE1IEBAIGV4dGVybiBpbnQgYnJlYWtwb2ludHNfYWx3YXlzX2luc2Vy dGVkX20KICAgIGluIG91ciBvcGluaW9uIHdvbid0IGV2ZXIgdHJpZ2dlci4g ICovCiBleHRlcm4gdm9pZCBicmVha3BvaW50X3JldGlyZV9tb3JpYnVuZCAo dm9pZCk7CiAKKy8qIENoZWNrcyBpZiB3ZSBhcmUgY2F0Y2hpbmcgc3lzY2Fs bHMgb3Igbm90LgorICAgUmV0dXJucyAwIGlmIG5vdCwgZ3JlYXRlciB0aGFu IDAgaWYgd2UgYXJlLiAgKi8KK2V4dGVybiBpbnQgY2F0Y2hfc3lzY2FsbF9l bmFibGVkICh2b2lkKTsKKworLyogQ2hlY2tzIGlmIHdlIGFyZSBjYXRjaGlu ZyBzeXNjYWxscyB3aXRoIHRoZSBzcGVjaWZpYworICAgc3lzY2FsbF9udW1i ZXIuICBVc2VkIGZvciAiZmlsdGVyaW5nIiB0aGUgY2F0Y2hwb2ludHMuCisg ICBSZXR1cm5zIDAgaWYgbm90LCBncmVhdGVyIHRoYW4gMCBpZiB3ZSBhcmUu ICAqLworZXh0ZXJuIGludCBjYXRjaGluZ19zeXNjYWxsX251bWJlciAoaW50 IHN5c2NhbGxfbnVtYmVyKTsKKwogLyogVGVsbCBhIGJyZWFrcG9pbnQgdG8g YmUgcXVpZXQuICAqLwogZXh0ZXJuIHZvaWQgbWFrZV9icmVha3BvaW50X3Np bGVudCAoc3RydWN0IGJyZWFrcG9pbnQgKik7CiAKLS0tIGEvZ2RiL2RlZnMu aAorKysgYi9nZGIvZGVmcy5oCkBAIC0xNTEsNiArMTUxLDkgQEAgZXh0ZXJu IGludCBkYnhfY29tbWFuZHM7CiAvKiBTeXN0ZW0gcm9vdCBwYXRoLCB1c2Vk IHRvIGZpbmQgbGlicmFyaWVzIGV0Yy4gICovCiBleHRlcm4gY2hhciAqZ2Ri X3N5c3Jvb3Q7CiAKKy8qIEdEQiBkYXRhZGlyLCB1c2VkIHRvIHN0b3JlIGRh dGEgZmlsZXMuICAqLworZXh0ZXJuIGNoYXIgKmdkYl9kYXRhZGlyOworCiAv KiBTZWFyY2ggcGF0aCBmb3Igc2VwYXJhdGUgZGVidWcgZmlsZXMuICAqLwog ZXh0ZXJuIGNoYXIgKmRlYnVnX2ZpbGVfZGlyZWN0b3J5OwogCi0tLSBhL2dk Yi9nZGJhcmNoLmMKKysrIGIvZ2RiL2dkYmFyY2guYwpAQCAtMjQxLDYgKzI0 MSwxMSBAQCBzdHJ1Y3QgZ2RiYXJjaAogICBnZGJhcmNoX3RhcmdldF9zaWdu YWxfdG9faG9zdF9mdHlwZSAqdGFyZ2V0X3NpZ25hbF90b19ob3N0OwogICBn ZGJhcmNoX2dldF9zaWdpbmZvX3R5cGVfZnR5cGUgKmdldF9zaWdpbmZvX3R5 cGU7CiAgIGdkYmFyY2hfcmVjb3JkX3NwZWNpYWxfc3ltYm9sX2Z0eXBlICpy ZWNvcmRfc3BlY2lhbF9zeW1ib2w7CisgIGdkYmFyY2hfZ2V0X3N5c2NhbGxf bnVtYmVyX2Z0eXBlICpnZXRfc3lzY2FsbF9udW1iZXI7CisgIGdkYmFyY2hf Z2V0X3N5c2NhbGxfYnlfbnVtYmVyX2Z0eXBlICpnZXRfc3lzY2FsbF9ieV9u dW1iZXI7CisgIGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbmFtZV9mdHlwZSAq Z2V0X3N5c2NhbGxfYnlfbmFtZTsKKyAgZ2RiYXJjaF9nZXRfc3lzY2FsbF9u YW1lc19mdHlwZSAqZ2V0X3N5c2NhbGxfbmFtZXM7CisgIGNvbnN0IGNoYXIg KiB4bWxfc3lzY2FsbF9maWxlbmFtZTsKICAgaW50IGhhc19nbG9iYWxfc29s aXN0OwogfTsKIApAQCAtMzc0LDYgKzM3OSwxMSBAQCBzdHJ1Y3QgZ2RiYXJj aCBzdGFydHVwX2dkYmFyY2ggPQogICBkZWZhdWx0X3RhcmdldF9zaWduYWxf dG9faG9zdCwgIC8qIHRhcmdldF9zaWduYWxfdG9faG9zdCAqLwogICAwLCAg LyogZ2V0X3NpZ2luZm9fdHlwZSAqLwogICAwLCAgLyogcmVjb3JkX3NwZWNp YWxfc3ltYm9sICovCisgIDAsICAvKiBnZXRfc3lzY2FsbF9udW1iZXIgKi8K KyAgMCwgIC8qIGdldF9zeXNjYWxsX2J5X251bWJlciAqLworICAwLCAgLyog Z2V0X3N5c2NhbGxfYnlfbmFtZSAqLworICAwLCAgLyogZ2V0X3N5c2NhbGxf bmFtZXMgKi8KKyAgMCwgIC8qIHhtbF9zeXNjYWxsX2ZpbGVuYW1lICovCiAg IDAsICAvKiBoYXNfZ2xvYmFsX3NvbGlzdCAqLwogICAvKiBzdGFydHVwX2dk YmFyY2goKSAqLwogfTsKQEAgLTYyOCw2ICs2MzgsMTEgQEAgdmVyaWZ5X2dk YmFyY2ggKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogICAvKiBTa2lwIHZl cmlmeSBvZiB0YXJnZXRfc2lnbmFsX3RvX2hvc3QsIGludmFsaWRfcCA9PSAw ICovCiAgIC8qIFNraXAgdmVyaWZ5IG9mIGdldF9zaWdpbmZvX3R5cGUsIGhh cyBwcmVkaWNhdGUgKi8KICAgLyogU2tpcCB2ZXJpZnkgb2YgcmVjb3JkX3Nw ZWNpYWxfc3ltYm9sLCBoYXMgcHJlZGljYXRlICovCisgIC8qIFNraXAgdmVy aWZ5IG9mIGdldF9zeXNjYWxsX251bWJlciwgaGFzIHByZWRpY2F0ZSAqLwor ICAvKiBTa2lwIHZlcmlmeSBvZiBnZXRfc3lzY2FsbF9ieV9udW1iZXIsIGhh cyBwcmVkaWNhdGUgKi8KKyAgLyogU2tpcCB2ZXJpZnkgb2YgZ2V0X3N5c2Nh bGxfYnlfbmFtZSwgaGFzIHByZWRpY2F0ZSAqLworICAvKiBTa2lwIHZlcmlm eSBvZiBnZXRfc3lzY2FsbF9uYW1lcywgaGFzIHByZWRpY2F0ZSAqLworICAv KiBTa2lwIHZlcmlmeSBvZiB4bWxfc3lzY2FsbF9maWxlbmFtZSwgaW52YWxp ZF9wID09IDAgKi8KICAgLyogU2tpcCB2ZXJpZnkgb2YgaGFzX2dsb2JhbF9z b2xpc3QsIGludmFsaWRfcCA9PSAwICovCiAgIGJ1ZiA9IHVpX2ZpbGVfeHN0 cmR1cCAobG9nLCAmZHVtbXkpOwogICBtYWtlX2NsZWFudXAgKHhmcmVlLCBi dWYpOwpAQCAtODQ0LDYgKzg1OSwzMCBAQCBnZGJhcmNoX2R1bXAgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzCiAgICAgICAgICAgICAgICAgICAgICAg ImdkYmFyY2hfZHVtcDogZ2V0X3NpZ2luZm9fdHlwZSA9IDwweCVseD5cbiIs CiAgICAgICAgICAgICAgICAgICAgICAgKGxvbmcpIGdkYmFyY2gtPmdldF9z aWdpbmZvX3R5cGUpOwogICBmcHJpbnRmX3VuZmlsdGVyZWQgKGZpbGUsCisg ICAgICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogZ2RiYXJjaF9n ZXRfc3lzY2FsbF9ieV9uYW1lX3AoKSA9ICVkXG4iLAorICAgICAgICAgICAg ICAgICAgICAgIGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbmFtZV9wIChnZGJh cmNoKSk7CisgIGZwcmludGZfdW5maWx0ZXJlZCAoZmlsZSwKKyAgICAgICAg ICAgICAgICAgICAgICAiZ2RiYXJjaF9kdW1wOiBnZXRfc3lzY2FsbF9ieV9u YW1lID0gPDB4JWx4PlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAobG9u ZykgZ2RiYXJjaC0+Z2V0X3N5c2NhbGxfYnlfbmFtZSk7CisgIGZwcmludGZf dW5maWx0ZXJlZCAoZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAiZ2Ri YXJjaF9kdW1wOiBnZGJhcmNoX2dldF9zeXNjYWxsX2J5X251bWJlcl9wKCkg PSAlZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICBnZGJhcmNoX2dldF9z eXNjYWxsX2J5X251bWJlcl9wIChnZGJhcmNoKSk7CisgIGZwcmludGZfdW5m aWx0ZXJlZCAoZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAiZ2RiYXJj aF9kdW1wOiBnZXRfc3lzY2FsbF9ieV9udW1iZXIgPSA8MHglbHg+XG4iLAor ICAgICAgICAgICAgICAgICAgICAgIChsb25nKSBnZGJhcmNoLT5nZXRfc3lz Y2FsbF9ieV9udW1iZXIpOworICBmcHJpbnRmX3VuZmlsdGVyZWQgKGZpbGUs CisgICAgICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogZ2RiYXJj aF9nZXRfc3lzY2FsbF9uYW1lc19wKCkgPSAlZFxuIiwKKyAgICAgICAgICAg ICAgICAgICAgICBnZGJhcmNoX2dldF9zeXNjYWxsX25hbWVzX3AgKGdkYmFy Y2gpKTsKKyAgZnByaW50Zl91bmZpbHRlcmVkIChmaWxlLAorICAgICAgICAg ICAgICAgICAgICAgICJnZGJhcmNoX2R1bXA6IGdldF9zeXNjYWxsX25hbWVz ID0gPDB4JWx4PlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAobG9uZykg Z2RiYXJjaC0+Z2V0X3N5c2NhbGxfbmFtZXMpOworICBmcHJpbnRmX3VuZmls dGVyZWQgKGZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgImdkYmFyY2hf ZHVtcDogZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXJfcCgpID0gJWRcbiIs CisgICAgICAgICAgICAgICAgICAgICAgZ2RiYXJjaF9nZXRfc3lzY2FsbF9u dW1iZXJfcCAoZ2RiYXJjaCkpOworICBmcHJpbnRmX3VuZmlsdGVyZWQgKGZp bGUsCisgICAgICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogZ2V0 X3N5c2NhbGxfbnVtYmVyID0gPDB4JWx4PlxuIiwKKyAgICAgICAgICAgICAg ICAgICAgICAobG9uZykgZ2RiYXJjaC0+Z2V0X3N5c2NhbGxfbnVtYmVyKTsK KyAgZnByaW50Zl91bmZpbHRlcmVkIChmaWxlLAogICAgICAgICAgICAgICAg ICAgICAgICJnZGJhcmNoX2R1bXA6IGhhc19nbG9iYWxfc29saXN0ID0gJXNc biIsCiAgICAgICAgICAgICAgICAgICAgICAgcGxvbmdlc3QgKGdkYmFyY2gt Pmhhc19nbG9iYWxfc29saXN0KSk7CiAgIGZwcmludGZfdW5maWx0ZXJlZCAo ZmlsZSwKQEAgLTExMDcsNiArMTE0Niw5IEBAIGdkYmFyY2hfZHVtcCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHMKICAgZnByaW50Zl91bmZpbHRlcmVk IChmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICJnZGJhcmNoX2R1bXA6 IHdyaXRlX3BjID0gPCVzPlxuIiwKICAgICAgICAgICAgICAgICAgICAgICBo b3N0X2FkZHJlc3NfdG9fc3RyaW5nIChnZGJhcmNoLT53cml0ZV9wYykpOwor ICBmcHJpbnRmX3VuZmlsdGVyZWQgKGZpbGUsCisgICAgICAgICAgICAgICAg ICAgICAgImdkYmFyY2hfZHVtcDogeG1sX3N5c2NhbGxfZmlsZW5hbWUgPSAl c1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICBnZGJhcmNoLT54bWxfc3lz Y2FsbF9maWxlbmFtZSk7CiAgIGlmIChnZGJhcmNoLT5kdW1wX3RkZXAgIT0g TlVMTCkKICAgICBnZGJhcmNoLT5kdW1wX3RkZXAgKGdkYmFyY2gsIGZpbGUp OwogfQpAQCAtMzI3Nyw2ICszMzE5LDExOSBAQCBzZXRfZ2RiYXJjaF9yZWNv cmRfc3BlY2lhbF9zeW1ib2wgKHN0cnVjCiB9CiAKIGludAorZ2RiYXJjaF9n ZXRfc3lzY2FsbF9udW1iZXJfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gp Cit7CisgIGdkYl9hc3NlcnQgKGdkYmFyY2ggIT0gTlVMTCk7CisgIHJldHVy biBnZGJhcmNoLT5nZXRfc3lzY2FsbF9udW1iZXIgIT0gTlVMTDsKK30KKwor TE9OR0VTVAorZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXIgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBwdGlkX3QgcHRpZCkKK3sKKyAgZ2RiX2Fzc2Vy dCAoZ2RiYXJjaCAhPSBOVUxMKTsKKyAgZ2RiX2Fzc2VydCAoZ2RiYXJjaC0+ Z2V0X3N5c2NhbGxfbnVtYmVyICE9IE5VTEwpOworICBpZiAoZ2RiYXJjaF9k ZWJ1ZyA+PSAyKQorICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxv ZywgImdkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyIGNhbGxlZFxuIik7Cisg IHJldHVybiBnZGJhcmNoLT5nZXRfc3lzY2FsbF9udW1iZXIgKGdkYmFyY2gs IHB0aWQpOworfQorCit2b2lkCitzZXRfZ2RiYXJjaF9nZXRfc3lzY2FsbF9u dW1iZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnZGJhcmNoX2dldF9zeXNjYWxsX251bWJl cl9mdHlwZSBnZXRfc3lzY2FsbF9udW1iZXIpCit7CisgIGdkYmFyY2gtPmdl dF9zeXNjYWxsX251bWJlciA9IGdldF9zeXNjYWxsX251bWJlcjsKK30KKwor aW50CitnZGJhcmNoX2dldF9zeXNjYWxsX2J5X251bWJlcl9wIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCkKK3sKKyAgZ2RiX2Fzc2VydCAoZ2RiYXJjaCAh PSBOVUxMKTsKKyAgcmV0dXJuIGdkYmFyY2gtPmdldF9zeXNjYWxsX2J5X251 bWJlciAhPSBOVUxMOworfQorCit2b2lkCitnZGJhcmNoX2dldF9zeXNjYWxs X2J5X251bWJlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGludCBzeXNj YWxsX251bWJlciwgc3RydWN0IHN5c2NhbGwgKnMpCit7CisgIGdkYl9hc3Nl cnQgKGdkYmFyY2ggIT0gTlVMTCk7CisgIGdkYl9hc3NlcnQgKGdkYmFyY2gt PmdldF9zeXNjYWxsX2J5X251bWJlciAhPSBOVUxMKTsKKyAgaWYgKGdkYmFy Y2hfZGVidWcgPj0gMikKKyAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9z dGRsb2csICJnZGJhcmNoX2dldF9zeXNjYWxsX2J5X251bWJlciBjYWxsZWRc biIpOworICBnZGJhcmNoLT5nZXRfc3lzY2FsbF9ieV9udW1iZXIgKGdkYmFy Y2gsIHN5c2NhbGxfbnVtYmVyLCBzKTsKK30KKwordm9pZAorc2V0X2dkYmFy Y2hfZ2V0X3N5c2NhbGxfYnlfbnVtYmVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Ri YXJjaF9nZXRfc3lzY2FsbF9ieV9udW1iZXJfZnR5cGUgZ2V0X3N5c2NhbGxf YnlfbnVtYmVyKQoreworICBnZGJhcmNoLT5nZXRfc3lzY2FsbF9ieV9udW1i ZXIgPSBnZXRfc3lzY2FsbF9ieV9udW1iZXI7Cit9CisKK2ludAorZ2RiYXJj aF9nZXRfc3lzY2FsbF9ieV9uYW1lX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoKQoreworICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9IE5VTEwpOworICBy ZXR1cm4gZ2RiYXJjaC0+Z2V0X3N5c2NhbGxfYnlfbmFtZSAhPSBOVUxMOwor fQorCit2b2lkCitnZGJhcmNoX2dldF9zeXNjYWxsX2J5X25hbWUgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpzeXNjYWxsX25hbWUs IHN0cnVjdCBzeXNjYWxsICpzKQoreworICBnZGJfYXNzZXJ0IChnZGJhcmNo ICE9IE5VTEwpOworICBnZGJfYXNzZXJ0IChnZGJhcmNoLT5nZXRfc3lzY2Fs bF9ieV9uYW1lICE9IE5VTEwpOworICBpZiAoZ2RiYXJjaF9kZWJ1ZyA+PSAy KQorICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgImdkYmFy Y2hfZ2V0X3N5c2NhbGxfYnlfbmFtZSBjYWxsZWRcbiIpOworICBnZGJhcmNo LT5nZXRfc3lzY2FsbF9ieV9uYW1lIChnZGJhcmNoLCBzeXNjYWxsX25hbWUs IHMpOworfQorCit2b2lkCitzZXRfZ2RiYXJjaF9nZXRfc3lzY2FsbF9ieV9u YW1lIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbmFt ZV9mdHlwZSBnZXRfc3lzY2FsbF9ieV9uYW1lKQoreworICBnZGJhcmNoLT5n ZXRfc3lzY2FsbF9ieV9uYW1lID0gZ2V0X3N5c2NhbGxfYnlfbmFtZTsKK30K KworaW50CitnZGJhcmNoX2dldF9zeXNjYWxsX25hbWVzX3AgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoKQoreworICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9 IE5VTEwpOworICByZXR1cm4gZ2RiYXJjaC0+Z2V0X3N5c2NhbGxfbmFtZXMg IT0gTlVMTDsKK30KKworY29uc3QgY2hhciAqKgorZ2RiYXJjaF9nZXRfc3lz Y2FsbF9uYW1lcyAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCit7CisgIGdk Yl9hc3NlcnQgKGdkYmFyY2ggIT0gTlVMTCk7CisgIGdkYl9hc3NlcnQgKGdk YmFyY2gtPmdldF9zeXNjYWxsX25hbWVzICE9IE5VTEwpOworICBpZiAoZ2Ri YXJjaF9kZWJ1ZyA+PSAyKQorICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2Ri X3N0ZGxvZywgImdkYmFyY2hfZ2V0X3N5c2NhbGxfbmFtZXMgY2FsbGVkXG4i KTsKKyAgcmV0dXJuIGdkYmFyY2gtPmdldF9zeXNjYWxsX25hbWVzIChnZGJh cmNoKTsKK30KKwordm9pZAorc2V0X2dkYmFyY2hfZ2V0X3N5c2NhbGxfbmFt ZXMgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdkYmFyY2hfZ2V0X3N5c2NhbGxfbmFtZXNfZnR5 cGUgZ2V0X3N5c2NhbGxfbmFtZXMpCit7CisgIGdkYmFyY2gtPmdldF9zeXNj YWxsX25hbWVzID0gZ2V0X3N5c2NhbGxfbmFtZXM7Cit9CisKK2NvbnN0IGNo YXIgKgorZ2RiYXJjaF94bWxfc3lzY2FsbF9maWxlbmFtZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gpCit7CisgIGdkYl9hc3NlcnQgKGdkYmFyY2ggIT0g TlVMTCk7CisgIC8qIFNraXAgdmVyaWZ5IG9mIHhtbF9zeXNjYWxsX2ZpbGVu YW1lLCBpbnZhbGlkX3AgPT0gMCAqLworICBpZiAoZ2RiYXJjaF9kZWJ1ZyA+ PSAyKQorICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgImdk YmFyY2hfeG1sX3N5c2NhbGxfZmlsZW5hbWUgY2FsbGVkXG4iKTsKKyAgcmV0 dXJuIGdkYmFyY2gtPnhtbF9zeXNjYWxsX2ZpbGVuYW1lOworfQorCit2b2lk CitzZXRfZ2RiYXJjaF94bWxfc3lzY2FsbF9maWxlbmFtZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgY2hhciAqIHhtbF9zeXNjYWxsX2ZpbGVuYW1lKQorewor ICBnZGJhcmNoLT54bWxfc3lzY2FsbF9maWxlbmFtZSA9IHhtbF9zeXNjYWxs X2ZpbGVuYW1lOworfQorCitpbnQKIGdkYmFyY2hfaGFzX2dsb2JhbF9zb2xp c3QgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogewogICBnZGJfYXNzZXJ0 IChnZGJhcmNoICE9IE5VTEwpOwotLS0gYS9nZGIvZ2RiYXJjaC5oCisrKyBi L2dkYi9nZGJhcmNoLmgKQEAgLTUyLDYgKzUyLDcgQEAgc3RydWN0IGJwX3Rh cmdldF9pbmZvOwogc3RydWN0IHRhcmdldF9kZXNjOwogc3RydWN0IGRpc3Bs YWNlZF9zdGVwX2Nsb3N1cmU7CiBzdHJ1Y3QgY29yZV9yZWdzZXRfc2VjdGlv bjsKK3N0cnVjdCBzeXNjYWxsOwogCiBleHRlcm4gc3RydWN0IGdkYmFyY2gg KmN1cnJlbnRfZ2RiYXJjaDsKIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqdGFy Z2V0X2dkYmFyY2g7CkBAIC04MjEsNiArODIyLDQ3IEBAIHR5cGVkZWYgdm9p ZCAoZ2RiYXJjaF9yZWNvcmRfc3BlY2lhbF9zeW0KIGV4dGVybiB2b2lkIGdk YmFyY2hfcmVjb3JkX3NwZWNpYWxfc3ltYm9sIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGFzeW1ib2wgKnN5 bSk7CiBleHRlcm4gdm9pZCBzZXRfZ2RiYXJjaF9yZWNvcmRfc3BlY2lhbF9z eW1ib2wgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBnZGJhcmNoX3JlY29y ZF9zcGVjaWFsX3N5bWJvbF9mdHlwZSAqcmVjb3JkX3NwZWNpYWxfc3ltYm9s KTsKIAorLyogRnVuY3Rpb25zIGZvciB0aGUgJ2NhdGNoIHN5c2NhbGwnIGZl YXR1cmUuCisgICBHZXQgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIHN5c3RlbSBj YWxscyBpbmZvcm1hdGlvbiBmcm9tIHJlZ2lzdGVycy4gKi8KKworZXh0ZXJu IGludCBnZGJhcmNoX2dldF9zeXNjYWxsX251bWJlcl9wIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCk7CisKK3R5cGVkZWYgTE9OR0VTVCAoZ2RiYXJjaF9n ZXRfc3lzY2FsbF9udW1iZXJfZnR5cGUpIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgcHRpZF90IHB0aWQpOworZXh0ZXJuIExPTkdFU1QgZ2RiYXJjaF9n ZXRfc3lzY2FsbF9udW1iZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBw dGlkX3QgcHRpZCk7CitleHRlcm4gdm9pZCBzZXRfZ2RiYXJjaF9nZXRfc3lz Y2FsbF9udW1iZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBnZGJhcmNo X2dldF9zeXNjYWxsX251bWJlcl9mdHlwZSAqZ2V0X3N5c2NhbGxfbnVtYmVy KTsKKworLyogRmlsbHMgdGhlIHN0cnVjdCBzeXNjYWxsIChwYXNzZWQgYXMg YXJndW1lbnQpIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKKyAgIHN5c3RlbSBj YWxsIHJlcHJlc2VudGVkIGJ5IHN5c2NhbGxfbnVtYmVyLiAqLworCitleHRl cm4gaW50IGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbnVtYmVyX3AgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoKTsKKwordHlwZWRlZiB2b2lkIChnZGJhcmNo X2dldF9zeXNjYWxsX2J5X251bWJlcl9mdHlwZSkgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBpbnQgc3lzY2FsbF9udW1iZXIsIHN0cnVjdCBzeXNjYWxs ICpzKTsKK2V4dGVybiB2b2lkIGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbnVt YmVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHN5c2NhbGxfbnVt YmVyLCBzdHJ1Y3Qgc3lzY2FsbCAqcyk7CitleHRlcm4gdm9pZCBzZXRfZ2Ri YXJjaF9nZXRfc3lzY2FsbF9ieV9udW1iZXIgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBnZGJhcmNoX2dldF9zeXNjYWxsX2J5X251bWJlcl9mdHlwZSAq Z2V0X3N5c2NhbGxfYnlfbnVtYmVyKTsKKworLyogRmlsbHMgdGhlIHN0cnVj dCBzeXNjYWxsIChwYXNzZWQgYXMgYXJndW1lbnQpIHdpdGggdGhlIGNvcnJl c3BvbmRpbmcKKyAgIHN5c3RlbSBjYWxsIHJlcHJlc2VudGVkIGJ5IHN5c2Nh bGxfbmFtZS4gKi8KKworZXh0ZXJuIGludCBnZGJhcmNoX2dldF9zeXNjYWxs X2J5X25hbWVfcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpOworCit0eXBl ZGVmIHZvaWQgKGdkYmFyY2hfZ2V0X3N5c2NhbGxfYnlfbmFtZV9mdHlwZSkg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpzeXNjYWxs X25hbWUsIHN0cnVjdCBzeXNjYWxsICpzKTsKK2V4dGVybiB2b2lkIGdkYmFy Y2hfZ2V0X3N5c2NhbGxfYnlfbmFtZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIGNvbnN0IGNoYXIgKnN5c2NhbGxfbmFtZSwgc3RydWN0IHN5c2NhbGwg KnMpOworZXh0ZXJuIHZvaWQgc2V0X2dkYmFyY2hfZ2V0X3N5c2NhbGxfYnlf bmFtZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGdkYmFyY2hfZ2V0X3N5 c2NhbGxfYnlfbmFtZV9mdHlwZSAqZ2V0X3N5c2NhbGxfYnlfbmFtZSk7CisK Ky8qIFJldHVybnMgdGhlIGFycmF5IGNvbnRhaW5pbmcgdGhlIHN5c2NhbGwg bmFtZXMgZm9yIHRoZSBhcmNoaXRlY3R1cmUuICovCisKK2V4dGVybiBpbnQg Z2RiYXJjaF9nZXRfc3lzY2FsbF9uYW1lc19wIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCk7CisKK3R5cGVkZWYgY29uc3QgY2hhciAqKiAoZ2RiYXJjaF9n ZXRfc3lzY2FsbF9uYW1lc19mdHlwZSkgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoKTsKK2V4dGVybiBjb25zdCBjaGFyICoqIGdkYmFyY2hfZ2V0X3N5c2Nh bGxfbmFtZXMgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKTsKK2V4dGVybiB2 b2lkIHNldF9nZGJhcmNoX2dldF9zeXNjYWxsX25hbWVzIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgZ2RiYXJjaF9nZXRfc3lzY2FsbF9uYW1lc19mdHlw ZSAqZ2V0X3N5c2NhbGxfbmFtZXMpOworCisvKiBTdG9yZXMgdGhlIG5hbWUg b2Ygc3lzY2FsbCdzIFhNTCBmaWxlLiBDb250YWlucyBOVUxMIGlmIHRoZSBm aWxlCisgICB3YXMgbm90IHNldC4gKi8KKworZXh0ZXJuIGNvbnN0IGNoYXIg KiBnZGJhcmNoX3htbF9zeXNjYWxsX2ZpbGVuYW1lIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCk7CitleHRlcm4gdm9pZCBzZXRfZ2RiYXJjaF94bWxfc3lz Y2FsbF9maWxlbmFtZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0 IGNoYXIgKiB4bWxfc3lzY2FsbF9maWxlbmFtZSk7CisKIC8qIFRydWUgaWYg dGhlIGxpc3Qgb2Ygc2hhcmVkIGxpYnJhcmllcyBpcyBvbmUgYW5kIG9ubHkg Zm9yIGFsbAogICAgcHJvY2Vzc2VzLCBhcyBvcHBvc2VkIHRvIGEgbGlzdCBv ZiBzaGFyZWQgbGlicmFyaWVzIHBlciBpbmZlcmlvci4KICAgIFdoZW4gdGhp cyBwcm9wZXJ0eSBpcyB0cnVlLCBHREIgYXNzdW1lcyB0aGF0IHNpbmNlIHNo YXJlZCBsaWJyYXJpZXMKQEAgLTgzMCw2ICs4NzIsOSBAQCBleHRlcm4gdm9p ZCBzZXRfZ2RiYXJjaF9yZWNvcmRfc3BlY2lhbF9zCiBleHRlcm4gaW50IGdk YmFyY2hfaGFzX2dsb2JhbF9zb2xpc3QgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoKTsKIGV4dGVybiB2b2lkIHNldF9nZGJhcmNoX2hhc19nbG9iYWxfc29s aXN0IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IGhhc19nbG9iYWxf c29saXN0KTsKIAorLyogRGVmaW5pdGlvbiBmb3IgYW4gdW5rbm93biBzeXNj YWxsLCB1c2VkIGJhc2ljYWxseSBpbiBlcnJvci1jYXNlcy4gKi8KKyNkZWZp bmUgVU5LTk9XTl9TWVNDQUxMICgtMSkKKwogZXh0ZXJuIHN0cnVjdCBnZGJh cmNoX3RkZXAgKmdkYmFyY2hfdGRlcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gpOwogCiAKLS0tIGEvZ2RiL2dkYmFyY2guc2gKKysrIGIvZ2RiL2dkYmFy Y2guc2gKQEAgLTcxMyw2ICs3MTMsMjYgQEAgTTpzdHJ1Y3QgdHlwZSAqOmdl dF9zaWdpbmZvX3R5cGU6dm9pZDoKICMgUmVjb3JkIGFyY2hpdGVjdHVyZS1z cGVjaWZpYyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBzeW1ib2wgdGFibGUuCiBN OnZvaWQ6cmVjb3JkX3NwZWNpYWxfc3ltYm9sOnN0cnVjdCBvYmpmaWxlICpv YmpmaWxlLCBhc3ltYm9sICpzeW06b2JqZmlsZSwgc3ltCiAKKyMgRnVuY3Rp b25zIGZvciB0aGUgJ2NhdGNoIHN5c2NhbGwnIGZlYXR1cmUuCisKKyMgR2V0 IGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBzeXN0ZW0gY2FsbHMgaW5mb3JtYXRp b24gZnJvbSByZWdpc3RlcnMuCitNOkxPTkdFU1Q6Z2V0X3N5c2NhbGxfbnVt YmVyOnB0aWRfdCBwdGlkOnB0aWQKKworIyBGaWxscyB0aGUgc3RydWN0IHN5 c2NhbGwgKHBhc3NlZCBhcyBhcmd1bWVudCkgd2l0aCB0aGUgY29ycmVzcG9u ZGluZworIyBzeXN0ZW0gY2FsbCByZXByZXNlbnRlZCBieSBzeXNjYWxsX251 bWJlci4KK006dm9pZDpnZXRfc3lzY2FsbF9ieV9udW1iZXI6aW50IHN5c2Nh bGxfbnVtYmVyLCBzdHJ1Y3Qgc3lzY2FsbCAqczpzeXNjYWxsX251bWJlciwg cworCisjIEZpbGxzIHRoZSBzdHJ1Y3Qgc3lzY2FsbCAocGFzc2VkIGFzIGFy Z3VtZW50KSB3aXRoIHRoZSBjb3JyZXNwb25kaW5nCisjIHN5c3RlbSBjYWxs IHJlcHJlc2VudGVkIGJ5IHN5c2NhbGxfbmFtZS4KK006dm9pZDpnZXRfc3lz Y2FsbF9ieV9uYW1lOmNvbnN0IGNoYXIgKnN5c2NhbGxfbmFtZSwgc3RydWN0 IHN5c2NhbGwgKnM6c3lzY2FsbF9uYW1lLCBzCisKKyMgUmV0dXJucyB0aGUg YXJyYXkgY29udGFpbmluZyB0aGUgc3lzY2FsbCBuYW1lcyBmb3IgdGhlIGFy Y2hpdGVjdHVyZS4KK006Y29uc3QgY2hhciAqKjpnZXRfc3lzY2FsbF9uYW1l czp2b2lkOgorCisjIFN0b3JlcyB0aGUgbmFtZSBvZiBzeXNjYWxsJ3MgWE1M IGZpbGUuIENvbnRhaW5zIE5VTEwgaWYgdGhlIGZpbGUKKyMgd2FzIG5vdCBz ZXQuCit2OmNvbnN0IGNoYXIgKjp4bWxfc3lzY2FsbF9maWxlbmFtZTo6OjA6 MDo6MDpnZGJhcmNoLT54bWxfc3lzY2FsbF9maWxlbmFtZQorCiAjIFRydWUg aWYgdGhlIGxpc3Qgb2Ygc2hhcmVkIGxpYnJhcmllcyBpcyBvbmUgYW5kIG9u bHkgZm9yIGFsbAogIyBwcm9jZXNzZXMsIGFzIG9wcG9zZWQgdG8gYSBsaXN0 IG9mIHNoYXJlZCBsaWJyYXJpZXMgcGVyIGluZmVyaW9yLgogIyBXaGVuIHRo aXMgcHJvcGVydHkgaXMgdHJ1ZSwgR0RCIGFzc3VtZXMgdGhhdCBzaW5jZSBz aGFyZWQgbGlicmFyaWVzCkBAIC04MzEsNiArODUxLDcgQEAgc3RydWN0IGJw X3RhcmdldF9pbmZvOwogc3RydWN0IHRhcmdldF9kZXNjOwogc3RydWN0IGRp c3BsYWNlZF9zdGVwX2Nsb3N1cmU7CiBzdHJ1Y3QgY29yZV9yZWdzZXRfc2Vj dGlvbjsKK3N0cnVjdCBzeXNjYWxsOwogCiBleHRlcm4gc3RydWN0IGdkYmFy Y2ggKmN1cnJlbnRfZ2RiYXJjaDsKIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAq dGFyZ2V0X2dkYmFyY2g7CkBAIC05MDAsNiArOTIxLDkgQEAgZG9uZQogIyBj bG9zZSBpdCBvZmYKIGNhdCA8PEVPRgogCisvKiBEZWZpbml0aW9uIGZvciBh biB1bmtub3duIHN5c2NhbGwsIHVzZWQgYmFzaWNhbGx5IGluIGVycm9yLWNh c2VzLiAqLworI2RlZmluZSBVTktOT1dOX1NZU0NBTEwgKC0xKQorCiBleHRl cm4gc3RydWN0IGdkYmFyY2hfdGRlcCAqZ2RiYXJjaF90ZGVwIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCk7CiAKIAotLS0gYS9nZGIvaW5mLWNoaWxkLmMK KysrIGIvZ2RiL2luZi1jaGlsZC5jCkBAIC0xNDUsNiArMTQ1LDE1IEBAIGlu Zl9jaGlsZF9yZW1vdmVfZXhlY19jYXRjaHBvaW50IChpbnQgcGkKIH0KIAog c3RhdGljIGludAoraW5mX2NoaWxkX3NldF9zeXNjYWxsX2NhdGNocG9pbnQg KGludCBwaWQsIGludCBuZWVkZWQsIGludCBhbnlfY291bnQsCisJCQkJICBp bnQgdGFibGVfc2l6ZSwgaW50ICp0YWJsZSkKK3sKKyAgLyogVGhpcyB2ZXJz aW9uIG9mIFVuaXggZG9lc24ndCBzdXBwb3J0IG5vdGlmaWNhdGlvbiBvZiBz eXNjYWxsCisgICAgIGV2ZW50cy4gICovCisgIHJldHVybiAwOworfQorCitz dGF0aWMgaW50CiBpbmZfY2hpbGRfY2FuX3J1biAodm9pZCkKIHsKICAgcmV0 dXJuIDE7CkBAIC0xODcsNiArMTk2LDcgQEAgaW5mX2NoaWxkX3RhcmdldCAo dm9pZCkKICAgdC0+dG9fZm9sbG93X2ZvcmsgPSBpbmZfY2hpbGRfZm9sbG93 X2Zvcms7CiAgIHQtPnRvX2luc2VydF9leGVjX2NhdGNocG9pbnQgPSBpbmZf Y2hpbGRfaW5zZXJ0X2V4ZWNfY2F0Y2hwb2ludDsKICAgdC0+dG9fcmVtb3Zl X2V4ZWNfY2F0Y2hwb2ludCA9IGluZl9jaGlsZF9yZW1vdmVfZXhlY19jYXRj aHBvaW50OworICB0LT50b19zZXRfc3lzY2FsbF9jYXRjaHBvaW50ID0gaW5m X2NoaWxkX3NldF9zeXNjYWxsX2NhdGNocG9pbnQ7CiAgIHQtPnRvX2Nhbl9y dW4gPSBpbmZfY2hpbGRfY2FuX3J1bjsKICAgdC0+dG9fcGlkX3RvX2V4ZWNf ZmlsZSA9IGluZl9jaGlsZF9waWRfdG9fZXhlY19maWxlOwogICB0LT50b19z dHJhdHVtID0gcHJvY2Vzc19zdHJhdHVtOwotLS0gYS9nZGIvaW5mLXB0cmFj ZS5jCisrKyBiL2dkYi9pbmYtcHRyYWNlLmMKQEAgLTM1NCwxMyArMzU0LDE5 IEBAIHN0YXRpYyB2b2lkCiBpbmZfcHRyYWNlX3Jlc3VtZSAocHRpZF90IHB0 aWQsIGludCBzdGVwLCBlbnVtIHRhcmdldF9zaWduYWwgc2lnbmFsKQogewog ICBwaWRfdCBwaWQgPSBwdGlkX2dldF9waWQgKHB0aWQpOwotICBpbnQgcmVx dWVzdCA9IFBUX0NPTlRJTlVFOworICBpbnQgcmVxdWVzdDsKIAogICBpZiAo cGlkID09IC0xKQogICAgIC8qIFJlc3VtZSBhbGwgdGhyZWFkcy4gIFRyYWRp dGlvbmFsbHkgcHRyYWNlKCkgb25seSBzdXBwb3J0cwogICAgICAgIHNpbmds ZS10aHJlYWRlZCBwcm9jZXNzZXMsIHNvIHNpbXBseSByZXN1bWUgdGhlIGlu ZmVyaW9yLiAgKi8KICAgICBwaWQgPSBwdGlkX2dldF9waWQgKGluZmVyaW9y X3B0aWQpOwogCisgIGlmICh0YXJnZXRfcGFzc2VkX2J5X2VudHJ5cG9pbnQg KCkgPiAwCisgICAgICAmJiBjYXRjaF9zeXNjYWxsX2VuYWJsZWQgKCkgPiAw KQorICAgIHJlcXVlc3QgPSBQVF9TWVNDQUxMOworICBlbHNlCisgICAgcmVx dWVzdCA9IFBUX0NPTlRJTlVFOworCiAgIGlmIChzdGVwKQogICAgIHsKICAg ICAgIC8qIElmIHRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgUFRfU1RF UCwgYSBoaWdoZXIgbGV2ZWwKLS0tIGEvZ2RiL2luZmNtZC5jCisrKyBiL2dk Yi9pbmZjbWQuYwpAQCAtNDY2LDYgKzQ2NiwxMSBAQCBydW5fY29tbWFuZF8x IChjaGFyICphcmdzLCBpbnQgZnJvbV90dHksCiAgIGluaXRfd2FpdF9mb3Jf aW5mZXJpb3IgKCk7CiAgIGNsZWFyX2JyZWFrcG9pbnRfaGl0X2NvdW50cyAo KTsKIAorICAvKiBJZiB3ZSBhbHJlYWR5IGNhdWdodCBhIHN5c2NhbGwgY2F0 Y2hwb2ludCwgdGhlbiByZXNldCBpdHMKKyAgICAgc3lzY2FsbF9udW1iZXIg aW5mb3JtYXRpb24gYmVjYXVzZSB3ZSBhcmUgc3RhcnRpbmcgYWxsIG92ZXIK KyAgICAgYWdhaW4uICAqLworICBjbGVhcl9zeXNjYWxsX2NhdGNocG9pbnRz X2luZm8gKCk7CisKICAgLyogQ2xlYW4gdXAgYW55IGxlZnRvdmVycyBmcm9t IG90aGVyIHJ1bnMuICBTb21lIG90aGVyIHRoaW5ncyBmcm9tCiAgICAgIHRo aXMgZnVuY3Rpb24gc2hvdWxkIHByb2JhYmx5IGJlIG1vdmVkIGludG8gdGFy Z2V0X3ByZV9pbmZlcmlvci4gICovCiAgIHRhcmdldF9wcmVfaW5mZXJpb3Ig KGZyb21fdHR5KTsKLS0tIGEvZ2RiL2luZnJ1bi5jCisrKyBiL2dkYi9pbmZy dW4uYwpAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgYSBjb21tYW5kIGxpa2UgYHJl dHVybicgb3IgYGp1bXAnIHRvIGNvbgogICAgICAgICB9CiAgICAgfQogCi0g IC8qIElmIHRoZXJlIHdlcmUgYW55IGZvcmtzL3Zmb3Jrcy9leGVjcyB0aGF0 IHdlcmUgY2F1Z2h0IGFuZCBhcmUKKyAgLyogSWYgdGhlcmUgd2VyZSBhbnkg Zm9ya3MvdmZvcmtzL2V4ZWNzL3N5c2NhbGxzIHRoYXQgd2VyZSBjYXVnaHQg YW5kIGFyZQogICAgICBub3cgdG8gYmUgZm9sbG93ZWQsIHRoZW4gZG8gc28u ICAqLwogICBzd2l0Y2ggKHBlbmRpbmdfZm9sbG93LmtpbmQpCiAgICAgewpA QCAtMTA2OSw2ICsxMDY5LDExIEBAIGEgY29tbWFuZCBsaWtlIGByZXR1cm4n IG9yIGBqdW1wJyB0byBjb24KICAgICAgIHBlbmRpbmdfZm9sbG93LmtpbmQg PSBUQVJHRVRfV0FJVEtJTkRfU1BVUklPVVM7CiAgICAgICBicmVhazsKIAor ICAgIGNhc2UgVEFSR0VUX1dBSVRLSU5EX1NZU0NBTExfRU5UUlk6CisgICAg Y2FzZSBUQVJHRVRfV0FJVEtJTkRfU1lTQ0FMTF9SRVRVUk46CisgICAgICBw ZW5kaW5nX2ZvbGxvdy5raW5kID0gVEFSR0VUX1dBSVRLSU5EX1NQVVJJT1VT OworICAgICAgYnJlYWs7CisKICAgICBkZWZhdWx0OgogICAgICAgYnJlYWs7 CiAgICAgfQpAQCAtMTUwOSw3ICsxNTE0LDcgQEAgaW5pdF93YWl0X2Zvcl9p bmZlcmlvciAodm9pZCkKIAogICBicmVha3BvaW50X2luaXRfaW5mZXJpb3Ig KGluZl9zdGFydGluZyk7CiAKLSAgLyogVGhlIGZpcnN0IHJlc3VtZSBpcyBu b3QgZm9sbG93aW5nIGEgZm9yay92Zm9yay9leGVjLiAqLworICAvKiBUaGUg Zmlyc3QgcmVzdW1lIGlzIG5vdCBmb2xsb3dpbmcgYSBmb3JrL3Zmb3JrL2V4 ZWMvc3lzY2FsbC4gICovCiAgIHBlbmRpbmdfZm9sbG93LmtpbmQgPSBUQVJH RVRfV0FJVEtJTkRfU1BVUklPVVM7CS8qIEkuZS4sIG5vbmUuICovCiAKICAg Y2xlYXJfcHJvY2VlZF9zdGF0dXMgKCk7CkBAIC0yMTI5LDYgKzIxMzQsNTAg QEAgZW5zdXJlX25vdF9ydW5uaW5nICh2b2lkKQogICAgIGVycm9yX2lzX3J1 bm5pbmcgKCk7CiB9CiAKKy8qIEF1eGlsaWFyeSBmdW5jdGlvbiB0aGF0IGhh bmRsZXMgc3lzY2FsbCBlbnRyeS9yZXR1cm4gZXZlbnRzLgorICAgSXQgcmV0 dXJucyAxIGlmIHRoZSBpbmZlcmlvciBzaG91bGQga2VlcCBnb2luZyAoYW5k IEdEQgorICAgc2hvdWxkIGlnbm9yZSB0aGUgZXZlbnQpLCBvciAwIGlmIHRo ZSBldmVudCBkZXNlcnZlcyB0byBiZQorICAgcHJvY2Vzc2VkLiAgKi8KK3N0 YXRpYyBpbnQKK2RlYWxfd2l0aF9zeXNjYWxsX2V2ZW50IChzdHJ1Y3QgZXhl Y3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcykKK3sKKyAgaW50IHN5c2NhbGxf bnVtYmVyID0gZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXIgKGN1cnJlbnRf Z2RiYXJjaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVjcy0+cHRpZCk7CisgIGlmIChjYXRjaF9zeXNj YWxsX2VuYWJsZWQgKCkgPiAwCisgICAgICAmJiBjYXRjaGluZ19zeXNjYWxs X251bWJlciAoc3lzY2FsbF9udW1iZXIpID4gMCkKKyAgICB7CisgICAgICBl Y3MtPmV2ZW50X3RocmVhZC0+c3RvcF9zaWduYWwgPSBUQVJHRVRfU0lHTkFM X1RSQVA7CisgICAgICBwZW5kaW5nX2ZvbGxvdy5raW5kID0gZWNzLT53cy5r aW5kOworCisgICAgICBpZiAoIXB0aWRfZXF1YWwgKGVjcy0+cHRpZCwgaW5m ZXJpb3JfcHRpZCkpCisgICAgICAgIHsKKyAgICAgICAgICBjb250ZXh0X3N3 aXRjaCAoZWNzLT5wdGlkKTsKKyAgICAgICAgICByZWluaXRfZnJhbWVfY2Fj aGUgKCk7CisgICAgICAgIH0KKworICAgICAgc3RvcF9wYyA9IHJlYWRfcGMg KCk7CisKKyAgICAgIGVjcy0+ZXZlbnRfdGhyZWFkLT5zdG9wX2Jwc3RhdCA9 IGJwc3RhdF9zdG9wX3N0YXR1cyAoc3RvcF9wYywgZWNzLT5wdGlkKTsKKwor ICAgICAgZWNzLT5yYW5kb21fc2lnbmFsID0gIWJwc3RhdF9leHBsYWluc19z aWduYWwgKGVjcy0+ZXZlbnRfdGhyZWFkLT5zdG9wX2Jwc3RhdCk7CisKKyAg ICAgIC8qIElmIG5vIGNhdGNocG9pbnQgdHJpZ2dlcmVkIGZvciB0aGlzLCB0 aGVuIGtlZXAgZ29pbmcuICAqLworICAgICAgaWYgKGVjcy0+cmFuZG9tX3Np Z25hbCkKKyAgICAgICAgeworICAgICAgICAgIGVjcy0+ZXZlbnRfdGhyZWFk LT5zdG9wX3NpZ25hbCA9IFRBUkdFVF9TSUdOQUxfMDsKKyAgICAgICAgICBr ZWVwX2dvaW5nIChlY3MpOworICAgICAgICAgIHJldHVybiAxOworICAgICAg ICB9CisgICAgICByZXR1cm4gMDsKKyAgICB9CisgIGVsc2UKKyAgICB7Cisg ICAgICByZXN1bWUgKDAsIFRBUkdFVF9TSUdOQUxfMCk7CisgICAgICBwcmVw YXJlX3RvX3dhaXQgKGVjcyk7CisgICAgICByZXR1cm4gMTsKKyAgICB9Cit9 CisKIC8qIEdpdmVuIGFuIGV4ZWN1dGlvbiBjb250cm9sIHN0YXRlIHRoYXQg aGFzIGJlZW4gZnJlc2hseSBmaWxsZWQgaW4KICAgIGJ5IGFuIGV2ZW50IGZy b20gdGhlIGluZmVyaW9yLCBmaWd1cmUgb3V0IHdoYXQgaXQgbWVhbnMgYW5k IHRha2UKICAgIGFwcHJvcHJpYXRlIGFjdGlvbi4gICovCkBAIC0yNDIzLDkg KzI0NzIsMTEgQEAgaGFuZGxlX2luZmVyaW9yX2V2ZW50IChzdHJ1Y3QgZXhl Y3V0aW9uXwogICAgIGNhc2UgVEFSR0VUX1dBSVRLSU5EX1NZU0NBTExfRU5U Ulk6CiAgICAgICBpZiAoZGVidWdfaW5mcnVuKQogICAgICAgICBmcHJpbnRm X3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICJpbmZydW46IFRBUkdFVF9XQUlU S0lORF9TWVNDQUxMX0VOVFJZXG4iKTsKLSAgICAgIHJlc3VtZSAoMCwgVEFS R0VUX1NJR05BTF8wKTsKLSAgICAgIHByZXBhcmVfdG9fd2FpdCAoZWNzKTsK LSAgICAgIHJldHVybjsKKyAgICAgIC8qIEdldHRpbmcgdGhlIGN1cnJlbnQg c3lzY2FsbCBudW1iZXIgKi8KKyAgICAgIGlmIChkZWFsX3dpdGhfc3lzY2Fs bF9ldmVudCAoZWNzKSAhPSAwKQorICAgICAgICByZXR1cm47CisgICAgICBn b3RvIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OworICAgICAgYnJlYWs7CiAK ICAgICAgIC8qIEJlZm9yZSBleGFtaW5pbmcgdGhlIHRocmVhZHMgZnVydGhl ciwgc3RlcCB0aGlzIHRocmVhZCB0bwogICAgICAgICAgZ2V0IGl0IGVudGly ZWx5IG91dCBvZiB0aGUgc3lzY2FsbC4gIChXZSBnZXQgbm90aWNlIG9mIHRo ZQpAQCAtMjQzNSw5ICsyNDg2LDEwIEBAIGhhbmRsZV9pbmZlcmlvcl9ldmVu dCAoc3RydWN0IGV4ZWN1dGlvbl8KICAgICBjYXNlIFRBUkdFVF9XQUlUS0lO RF9TWVNDQUxMX1JFVFVSTjoKICAgICAgIGlmIChkZWJ1Z19pbmZydW4pCiAg ICAgICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgImluZnJ1 bjogVEFSR0VUX1dBSVRLSU5EX1NZU0NBTExfUkVUVVJOXG4iKTsKLSAgICAg IHRhcmdldF9yZXN1bWUgKGVjcy0+cHRpZCwgMSwgVEFSR0VUX1NJR05BTF8w KTsKLSAgICAgIHByZXBhcmVfdG9fd2FpdCAoZWNzKTsKLSAgICAgIHJldHVy bjsKKyAgICAgIGlmIChkZWFsX3dpdGhfc3lzY2FsbF9ldmVudCAoZWNzKSAh PSAwKQorICAgICAgICByZXR1cm47CisgICAgICBnb3RvIHByb2Nlc3NfZXZl bnRfc3RvcF90ZXN0OworICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFRBUkdF VF9XQUlUS0lORF9TVE9QUEVEOgogICAgICAgaWYgKGRlYnVnX2luZnJ1bikK QEAgLTUxNTUsNiArNTIwNywyNSBAQCBpbmZlcmlvcl9oYXNfZXhlY2QgKHB0 aWRfdCBwaWQsIGNoYXIgKiplCiAgIHJldHVybiAxOwogfQogCitpbnQKK2lu ZmVyaW9yX2hhc19jYWxsZWRfc3lzY2FsbCAocHRpZF90IHBpZCwgaW50ICpz eXNjYWxsX251bWJlcikKK3sKKyAgc3RydWN0IHRhcmdldF93YWl0c3RhdHVz IGxhc3Q7CisgIHB0aWRfdCBsYXN0X3B0aWQ7CisKKyAgZ2V0X2xhc3RfdGFy Z2V0X3N0YXR1cyAoJmxhc3RfcHRpZCwgJmxhc3QpOworCisgIGlmIChsYXN0 LmtpbmQgIT0gVEFSR0VUX1dBSVRLSU5EX1NZU0NBTExfRU5UUlkgJiYKKyAg ICAgIGxhc3Qua2luZCAhPSBUQVJHRVRfV0FJVEtJTkRfU1lTQ0FMTF9SRVRV Uk4pCisgICAgcmV0dXJuIDA7CisKKyAgaWYgKCFwdGlkX2VxdWFsIChsYXN0 X3B0aWQsIHBpZCkpCisgICAgcmV0dXJuIDA7CisKKyAgKnN5c2NhbGxfbnVt YmVyID0gbGFzdC52YWx1ZS5zeXNjYWxsX251bWJlcjsKKyAgcmV0dXJuIDE7 Cit9CisKIC8qIE9mdCB1c2VkIHB0aWRzICovCiBwdGlkX3QgbnVsbF9wdGlk OwogcHRpZF90IG1pbnVzX29uZV9wdGlkOwotLS0gYS9nZGIvbGludXgtbmF0 LmMKKysrIGIvZ2RiL2xpbnV4LW5hdC5jCkBAIC02ODQsNiArNjg0LDcgQEAg bGludXhfY2hpbGRfcG9zdF9hdHRhY2ggKGludCBwaWQpCiB7CiAgIGxpbnV4 X2VuYWJsZV9ldmVudF9yZXBvcnRpbmcgKHBpZF90b19wdGlkIChwaWQpKTsK ICAgY2hlY2tfZm9yX3RocmVhZF9kYiAoKTsKKyAgbGludXhfZW5hYmxlX3Ry YWNlc3lzZ29vZCAocGlkX3RvX3B0aWQgKHBpZCkpOwogfQogCiBzdGF0aWMg dm9pZApAQCAtNjkxLDYgKzY5Miw3IEBAIGxpbnV4X2NoaWxkX3Bvc3Rfc3Rh cnR1cF9pbmZlcmlvciAocHRpZF8KIHsKICAgbGludXhfZW5hYmxlX2V2ZW50 X3JlcG9ydGluZyAocHRpZCk7CiAgIGNoZWNrX2Zvcl90aHJlYWRfZGIgKCk7 CisgIGxpbnV4X2VuYWJsZV90cmFjZXN5c2dvb2QgKHB0aWQpOwogfQogCiBz dGF0aWMgaW50CkBAIC00MjYwLDYgKzQyNjIsNyBAQCBsaW51eF90YXJnZXRf aW5zdGFsbF9vcHMgKHN0cnVjdCB0YXJnZXRfCiAgIHQtPnRvX2ZvbGxvd19m b3JrID0gbGludXhfY2hpbGRfZm9sbG93X2Zvcms7CiAgIHQtPnRvX2ZpbmRf bWVtb3J5X3JlZ2lvbnMgPSBsaW51eF9uYXRfZmluZF9tZW1vcnlfcmVnaW9u czsKICAgdC0+dG9fbWFrZV9jb3JlZmlsZV9ub3RlcyA9IGxpbnV4X25hdF9t YWtlX2NvcmVmaWxlX25vdGVzOworICB0LT50b19wYXNzZWRfYnlfZW50cnlw b2ludCA9IGxpbnV4X3Bhc3NlZF9ieV9lbnRyeXBvaW50OwogCiAgIHN1cGVy X3hmZXJfcGFydGlhbCA9IHQtPnRvX3hmZXJfcGFydGlhbDsKICAgdC0+dG9f eGZlcl9wYXJ0aWFsID0gbGludXhfeGZlcl9wYXJ0aWFsOwotLS0gYS9nZGIv bWFpbi5jCisrKyBiL2dkYi9tYWluLmMKQEAgLTYyLDYgKzYyLDkgQEAgaW50 IGRieF9jb21tYW5kcyA9IDA7CiAvKiBTeXN0ZW0gcm9vdCBwYXRoLCB1c2Vk IHRvIGZpbmQgbGlicmFyaWVzIGV0Yy4gICovCiBjaGFyICpnZGJfc3lzcm9v dCA9IDA7CiAKKy8qIEdEQiBkYXRhZGlyLCB1c2VkIHRvIHN0b3JlIGRhdGEg ZmlsZXMuICAqLworY2hhciAqZ2RiX2RhdGFkaXIgPSAwOworCiBzdHJ1Y3Qg dWlfZmlsZSAqZ2RiX3N0ZG91dDsKIHN0cnVjdCB1aV9maWxlICpnZGJfc3Rk ZXJyOwogc3RydWN0IHVpX2ZpbGUgKmdkYl9zdGRsb2c7CkBAIC0zNTksNiAr MzYyLDQwIEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAKICAgZ2V0 X2luaXRfZmlsZXMgKCZzeXN0ZW1fZ2RiaW5pdCwgJmhvbWVfZ2RiaW5pdCwg JmxvY2FsX2dkYmluaXQpOwogCisjaWZkZWYgR0RCX0RBVEFESVJfUkVMT0NB VEFCTEUKKyAgZ2RiX2RhdGFkaXIgPSBtYWtlX3JlbGF0aXZlX3ByZWZpeCAo YXJndlswXSwgQklORElSLCBHREJfREFUQURJUik7CisgIGlmIChnZGJfZGF0 YWRpcikKKyAgICB7CisgICAgICBzdHJ1Y3Qgc3RhdCBzOworICAgICAgaW50 IHJlcyA9IDA7CisKKyAgICAgIGlmIChzdGF0IChnZGJfZGF0YWRpciwgJnMp ID09IDApCisJaWYgKFNfSVNESVIgKHMuc3RfbW9kZSkpCisJICByZXMgPSAx OworCisgICAgICBpZiAocmVzID09IDApCisJeworCSAgeGZyZWUgKGdkYl9k YXRhZGlyKTsKKwkgIGdkYl9kYXRhZGlyID0geHN0cmR1cCAoR0RCX0RBVEFE SVIpOworCX0KKyAgICB9CisgIGVsc2UKKyAgICBnZGJfZGF0YWRpciA9IHhz dHJkdXAgKEdEQl9EQVRBRElSKTsKKyNlbHNlCisgIGdkYl9kYXRhZGlyID0g eHN0cmR1cCAoR0RCX0RBVEFESVIpOworI2VuZGlmIC8qIEdEQl9EQVRBRElS X1JFTE9DQVRBQkxFICovCisKKyAgLyogQ2Fub25pY2FsaXplIHRoZSBHREIn cyBkYXRhZGlyIHBhdGguICAqLworICBpZiAoKmdkYl9kYXRhZGlyKQorICAg IHsKKyAgICAgIGNoYXIgKmNhbm9uX2RlYnVnID0gbHJlYWxwYXRoIChnZGJf ZGF0YWRpcik7CisgICAgICBpZiAoY2Fub25fZGVidWcpCisJeworCSAgeGZy ZWUgKGdkYl9kYXRhZGlyKTsKKwkgIGdkYl9kYXRhZGlyID0gY2Fub25fZGVi dWc7CisJfQorICAgIH0KKwogICAvKiBUaGVyZSB3aWxsIGFsd2F5cyBiZSBh biBpbnRlcnByZXRlci4gIEVpdGhlciB0aGUgb25lIHBhc3NlZCBpbnRvCiAg ICAgIHRoaXMgY2FwdHVyZWQgbWFpbiwgb3Igb25lIHNwZWNpZmllZCBieSB0 aGUgdXNlciBhdCBzdGFydCB1cCwgb3IKICAgICAgdGhlIGNvbnNvbGUuICBJ bml0aWFsaXplIHRoZSBpbnRlcnByZXRlciB0byB0aGUgb25lIHJlcXVlc3Rl ZCBieSAKLS0tIGEvZ2RiL21haW50LmMKKysrIGIvZ2RiL21haW50LmMKQEAg LTkwNiw0ICs5MDYsMTIgQEAgV2hlbiBlbmFibGVkIEdEQiBpcyBwcm9maWxl ZC4iKSwKIAkJCSAgIHNob3dfbWFpbnRlbmFuY2VfcHJvZmlsZV9wLAogCQkJ ICAgJm1haW50ZW5hbmNlX3NldF9jbWRsaXN0LAogCQkJICAgJm1haW50ZW5h bmNlX3Nob3dfY21kbGlzdCk7CisgIGFkZF9zZXRzaG93X2ZpbGVuYW1lX2Nt ZCAoImdkYl9kYXRhZGlyIiwgY2xhc3NfbWFpbnRlbmFuY2UsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ2RiX2RhdGFkaXIsIF8oIlNldCBHREIn cyBkYXRhZGlyIHBhdGguIiksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBfKCJTaG93IEdEQidzIGRhdGFkaXIgcGF0aC4iKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIF8oIlwKK1doZW4gc2V0LCBHREIgdXNlcyB0aGUg c3BlY2lmaWVkIHBhdGggdG8gc2VhcmNoIGZvciBkYXRhIGZpbGVzLiIpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICZtYWludGVuYW5jZV9zZXRfY21kbGlz dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZtYWludGVuYW5jZV9z aG93X2NtZGxpc3QpOwogfQotLS0gYS9nZGIvdGFyZ2V0LmMKKysrIGIvZ2Ri L3RhcmdldC5jCkBAIC00NTEsNiArNDUxLDggQEAgdXBkYXRlX2N1cnJlbnRf dGFyZ2V0ICh2b2lkKQogICAgICAgLyogRG8gbm90IGluaGVyaXQgdG9fZm9s bG93X2ZvcmsuICAqLwogICAgICAgSU5IRVJJVCAodG9faW5zZXJ0X2V4ZWNf Y2F0Y2hwb2ludCwgdCk7CiAgICAgICBJTkhFUklUICh0b19yZW1vdmVfZXhl Y19jYXRjaHBvaW50LCB0KTsKKyAgICAgIElOSEVSSVQgKHRvX3Bhc3NlZF9i eV9lbnRyeXBvaW50LCB0KTsKKyAgICAgIElOSEVSSVQgKHRvX3NldF9zeXNj YWxsX2NhdGNocG9pbnQsIHQpOwogICAgICAgSU5IRVJJVCAodG9faGFzX2V4 aXRlZCwgdCk7CiAgICAgICAvKiBEbyBub3QgaW5oZXJpdCB0b19tb3Vybl9p bmZlcmlvdXIuICAqLwogICAgICAgSU5IRVJJVCAodG9fY2FuX3J1biwgdCk7 CkBAIC02MDMsOSArNjA1LDE1IEBAIHVwZGF0ZV9jdXJyZW50X3RhcmdldCAo dm9pZCkKICAgZGVfZmF1bHQgKHRvX2luc2VydF9leGVjX2NhdGNocG9pbnQs CiAJICAgICh2b2lkICgqKSAoaW50KSkKIAkgICAgdGNvbXBsYWluKTsKKyAg ZGVfZmF1bHQgKHRvX3Bhc3NlZF9ieV9lbnRyeXBvaW50LAorICAgICAgICAg ICAgKGludCAoKikgKHZvaWQpKQorICAgICAgICAgICAgdGNvbXBsYWluKTsK ICAgZGVfZmF1bHQgKHRvX3JlbW92ZV9leGVjX2NhdGNocG9pbnQsCiAJICAg IChpbnQgKCopIChpbnQpKQogCSAgICB0Y29tcGxhaW4pOworICBkZV9mYXVs dCAodG9fc2V0X3N5c2NhbGxfY2F0Y2hwb2ludCwKKwkgICAgKGludCAoKikg KGludCwgaW50LCBpbnQsIGludCwgaW50ICopKQorCSAgICB0Y29tcGxhaW4p OwogICBkZV9mYXVsdCAodG9faGFzX2V4aXRlZCwKIAkgICAgKGludCAoKikg KGludCwgaW50LCBpbnQgKikpCiAJICAgIHJldHVybl96ZXJvKTsKLS0tIGEv Z2RiL3RhcmdldC5oCisrKyBiL2dkYi90YXJnZXQuaApAQCAtMTM5LDcgKzEz OSw4IEBAIHN0cnVjdCB0YXJnZXRfd2FpdHN0YXR1cwogICB7CiAgICAgZW51 bSB0YXJnZXRfd2FpdGtpbmQga2luZDsKIAotICAgIC8qIEZvcmtlZCBjaGls ZCBwaWQsIGV4ZWNkIHBhdGhuYW1lLCBleGl0IHN0YXR1cyBvciBzaWduYWwg bnVtYmVyLiAgKi8KKyAgICAvKiBGb3JrZWQgY2hpbGQgcGlkLCBleGVjZCBw YXRobmFtZSwgZXhpdCBzdGF0dXMsIHNpZ25hbCBudW1iZXIgb3IKKyAgICAg ICBzeXNjYWxsIG5hbWUuICAqLwogICAgIHVuaW9uCiAgICAgICB7CiAJaW50 IGludGVnZXI7CkBAIC0xNDcsMTAgKzE0OCwyNiBAQCBzdHJ1Y3QgdGFyZ2V0 X3dhaXRzdGF0dXMKIAlwdGlkX3QgcmVsYXRlZF9waWQ7CiAJY2hhciAqZXhl Y2RfcGF0aG5hbWU7CiAJaW50IHN5c2NhbGxfaWQ7CisJaW50IHN5c2NhbGxf bnVtYmVyOwogICAgICAgfQogICAgIHZhbHVlOwogICB9OwogCisvKiBUaGUg c3RydWN0dXJlIGJlbG93IHN0b3JlcyBpbmZvcm1hdGlvbiBhYm91dCBhIHN5 c3RlbSBjYWxsLgorICAgSXQgaXMgYmFzaWNhbGx5IHVzZWQgaW4gdGhlICJj YXRjaCBzeXNjYWxsIiBjb21tYW5kLCBhbmQgaW4KKyAgIGV2ZXJ5IGZ1bmN0 aW9uIHRoYXQgZ2l2ZXMgaW5mb3JtYXRpb24gYWJvdXQgYSBzeXN0ZW0gY2Fs bC4KKworICAgSXQncyBhbHNvIGdvb2QgdG8gbWVudGlvbiB0aGF0IGl0cyBm aWVsZHMgcmVwcmVzZW50IGV2ZXJ5dGhpbmcKKyAgIHRoYXQgd2UgY3VycmVu dGx5IGtub3cgYWJvdXQgYSBzeXNjYWxsIGluIEdEQi4gICovCitzdHJ1Y3Qg c3lzY2FsbAorICB7CisgICAgLyogVGhlIHN5c2NhbGwgbnVtYmVyLiAgKi8K KyAgICBpbnQgbnVtYmVyOworCisgICAgLyogVGhlIHN5c2NhbGwgbmFtZS4g ICovCisgICAgY29uc3QgY2hhciAqbmFtZTsKKyAgfTsKKwogLyogUmV0dXJu IGEgcHJldHR5IHByaW50ZWQgZm9ybSBvZiB0YXJnZXRfd2FpdHN0YXR1cy4K ICAgIFNwYWNlIGZvciB0aGUgcmVzdWx0IGlzIG1hbGxvYydkLCBjYWxsZXIg bXVzdCBmcmVlLiAgKi8KIGV4dGVybiBjaGFyICp0YXJnZXRfd2FpdHN0YXR1 c190b19zdHJpbmcgKGNvbnN0IHN0cnVjdCB0YXJnZXRfd2FpdHN0YXR1cyAq KTsKQEAgLTQwMCw2ICs0MTcsOCBAQCBzdHJ1Y3QgdGFyZ2V0X29wcwogICAg IGludCAoKnRvX2ZvbGxvd19mb3JrKSAoc3RydWN0IHRhcmdldF9vcHMgKiwg aW50KTsKICAgICB2b2lkICgqdG9faW5zZXJ0X2V4ZWNfY2F0Y2hwb2ludCkg KGludCk7CiAgICAgaW50ICgqdG9fcmVtb3ZlX2V4ZWNfY2F0Y2hwb2ludCkg KGludCk7CisgICAgaW50ICgqdG9fcGFzc2VkX2J5X2VudHJ5cG9pbnQpICh2 b2lkKTsKKyAgICBpbnQgKCp0b19zZXRfc3lzY2FsbF9jYXRjaHBvaW50KSAo aW50LCBpbnQsIGludCwgaW50LCBpbnQgKik7CiAgICAgaW50ICgqdG9faGFz X2V4aXRlZCkgKGludCwgaW50LCBpbnQgKik7CiAgICAgdm9pZCAoKnRvX21v dXJuX2luZmVyaW9yKSAoc3RydWN0IHRhcmdldF9vcHMgKik7CiAgICAgaW50 ICgqdG9fY2FuX3J1bikgKHZvaWQpOwpAQCAtNzMzLDYgKzc1Miw4IEBAIGV4 dGVybiBpbnQgaW5mZXJpb3JfaGFzX3Zmb3JrZWQgKHB0aWRfdCAKIAogZXh0 ZXJuIGludCBpbmZlcmlvcl9oYXNfZXhlY2QgKHB0aWRfdCBwaWQsIGNoYXIg KipleGVjZF9wYXRobmFtZSk7CiAKK2V4dGVybiBpbnQgaW5mZXJpb3JfaGFz X2NhbGxlZF9zeXNjYWxsIChwdGlkX3QgcGlkLCBpbnQgKnN5c2NhbGxfbnVt YmVyKTsKKwogLyogRnJvbSBleGVjLmMgKi8KIAogZXh0ZXJuIHZvaWQgcHJp bnRfc2VjdGlvbl9pbmZvIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLCBiZmQgKik7 CkBAIC04OTEsNiArOTEyLDIxIEBAIGludCB0YXJnZXRfZm9sbG93X2Zvcmsg KGludCBmb2xsb3dfY2hpbGQKICNkZWZpbmUgdGFyZ2V0X3JlbW92ZV9leGVj X2NhdGNocG9pbnQocGlkKSBcCiAgICAgICgqY3VycmVudF90YXJnZXQudG9f cmVtb3ZlX2V4ZWNfY2F0Y2hwb2ludCkgKHBpZCkKIAorLyogSGFzIHRoZSBp bmZlcmlvciBhbHJlYWR5IHBhc3NlZCB0aHJvdWdoIGl0cyBlbnRyeXBvaW50 PyAqLworI2RlZmluZSB0YXJnZXRfcGFzc2VkX2J5X2VudHJ5cG9pbnQoKSBc CisgICAgICgqY3VycmVudF90YXJnZXQudG9fcGFzc2VkX2J5X2VudHJ5cG9p bnQpICgpCisKKy8qIFN5c2NhbGwgY2F0Y2guICBORUVERUQgaXMgbm9uemVy byBpZiBhbnkgc3lzY2FsbCBjYXRjaCAob2YgYW55CisgICBraW5kKSBpcyBy ZXF1ZXN0ZWQuICBBTllfQ09VTlQgaXMgbm9uemVybyBpZiBhIGdlbmVyaWMK KyAgIChmaWx0ZXItbGVzcykgc3lzY2FsbCBjYXRjaCBpcyBiZWluZyByZXF1 ZXN0ZWQuICBUQUJMRSBpcyBhbiBhcnJheQorICAgb2YgaW50cywgaW5kZXhl ZCBieSBzeXNjYWxsIG51bWJlci4gIEFuIGVsZW1lbnQgaW4gdGhpcyBhcnJh eSBpcworICAgbm9uemVybyBpZiB0aGF0IHN5c2NhbGwgc2hvdWxkIGJlIGNh dWdodC4gIFRBQkxFX1NJWkUgaXMgdGhlIG51bWJlcgorICAgb2YgZWxlbWVu dHMgaW4gVEFCTEUuICAqLworCisjZGVmaW5lIHRhcmdldF9zZXRfc3lzY2Fs bF9jYXRjaHBvaW50KHBpZCwgbmVlZGVkLCBhbnlfY291bnQsIHRhYmxlX3Np emUsIHRhYmxlKSBcCisgICAgICgqY3VycmVudF90YXJnZXQudG9fc2V0X3N5 c2NhbGxfY2F0Y2hwb2ludCkgKHBpZCwgbmVlZGVkLCBhbnlfY291bnQsIFwK KwkJCQkJCSAgdGFibGVfc2l6ZSwgdGFibGUpCisKIC8qIFJldHVybnMgVFJV RSBpZiBQSUQgaGFzIGV4aXRlZC4gIEFuZCwgYWxzbyBzZXRzIEVYSVRfU1RB VFVTIHRvIHRoZQogICAgZXhpdCBjb2RlIG9mIFBJRCwgaWYgYW55LiAgKi8K IAo= --0016e652ff9a92bd3e0462b37d2f Content-Type: text/x-patch; charset=US-ASCII; name="catch-syscall-build-test-doc.patch" Content-Disposition: attachment; filename="catch-syscall-build-test-doc.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fr33tal52 Content-length: 50317 LS0tCiBnZGIvTWFrZWZpbGUuaW4gICAgICAgICAgICAgICAgICAgICAgICAg IHwgICA1NCArKystCiBnZGIvY29uZmlnLmluICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgNiAKIGdkYi9jb25maWd1cmUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDUxICsrKysKIGdkYi9jb25maWd1cmUuYWMg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMwICsrCiBnZGIvY29uZmln dXJlLnRndCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzMCArLQogZ2Ri L2RvYy9nZGIudGV4aW5mbyAgICAgICAgICAgICAgICAgICAgICB8ICAgOTIg KysrKysrKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9NYWtlZmlsZS5pbiAg ICAgICB8ICAgIDIgCiBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5 c2NhbGwuYyAgIHwgICAyNSArKwogZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9j YXRjaC1zeXNjYWxsLmV4cCB8ICAzODYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCA2NTcgaW5zZXJ0aW9ucygr KSwgMTkgZGVsZXRpb25zKC0pCgotLS0gYS9nZGIvTWFrZWZpbGUuaW4KKysr IGIvZ2RiL01ha2VmaWxlLmluCkBAIC0xNzIsNiArMTcyLDkgQEAgTElCSUNP TlYgPSBATElCSUNPTlZACiBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VU X1NZU1RFTV9ST09UQAogVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORSA9IEBU QVJHRVRfU1lTVEVNX1JPT1RfREVGSU5FQAogCisjIERpZCB0aGUgdXNlciBn aXZlIHVzIGEgLS13aXRoLWdkYi1kYXRhZGlyIG9wdGlvbj8KK0dEQl9EQVRB RElSX1BBVEggPSBAR0RCX0RBVEFESVJfUEFUSEAKKwogIyBIZWxwZXIgY29k ZSBmcm9tIGdudWxpYi4KIExJQkdOVSA9IGdudWxpYi9saWJnbnUuYQogSU5D R05VID0gLUkkKHNyY2RpcikvZ251bGliIC1JZ251bGliCkBAIC00NTksNiAr NDYyLDcgQEAgVEFSR0VUX09CUyA9IEBUQVJHRVRfT0JTQAogIyBBbGwgdGFy Z2V0LWRlcGVuZGVudCBvYmplY3RzIGZpbGVzIHRoYXQgcmVxdWlyZSA2NC1i aXQgQ09SRV9BRERSCiAjICh1c2VkIHdpdGggLS1lbmFibGUtdGFyZ2V0cz1h bGwgLS1lbmFibGUtNjQtYml0LWJmZCkuCiBBTExfNjRfVEFSR0VUX09CUyA9 IFwKKwlsaW51eC10ZGVwLm8gXAogCWFscGhhYnNkLXRkZXAubyBhbHBoYWZi c2QtdGRlcC5vIGFscGhhLWxpbnV4LXRkZXAubyBhbHBoYS1tZGVidWctdGRl cC5vIFwKIAlhbHBoYW5ic2QtdGRlcC5vIGFscGhhb2JzZC10ZGVwLm8gYWxw aGEtb3NmMS10ZGVwLm8gYWxwaGEtdGRlcC5vIFwKIAlhbWQ2NGZic2QtdGRl cC5vIGFtZDY0LWxpbnV4LXRkZXAubyBhbWQ2NG5ic2QtdGRlcC5vIGFtZDY0 b2JzZC10ZGVwLm8gXApAQCAtNDcwLDYgKzQ3NCw3IEBAIEFMTF82NF9UQVJH RVRfT0JTID0gXAogCiAjIEFsbCBvdGhlciB0YXJnZXQtZGVwZW5kZW50IG9i amVjdHMgZmlsZXMgKHVzZWQgd2l0aCAtLWVuYWJsZS10YXJnZXRzPWFsbCku CiBBTExfVEFSR0VUX09CUyA9IFwKKwlsaW51eC10ZGVwLm8gXAogCWFybWJz ZC10ZGVwLm8gYXJtLWxpbnV4LXRkZXAubyBhcm1uYnNkLXRkZXAubyBhcm1v YnNkLXRkZXAubyBcCiAJYXJtLXRkZXAubyBhcm0td2luY2UtdGRlcC5vIFwK IAlhdnItdGRlcC5vIFwKQEAgLTY2MSw2ICs2NjYsOCBAQCBTRklMRVMgPSBh ZGEtZXhwLnkgYWRhLWxhbmcuYyBhZGEtdHlwZXByCiAJdmFsYXJpdGguYyB2 YWxvcHMuYyB2YWxwcmludC5jIHZhbHVlLmMgdmFyb2JqLmMgdmVjLmMgXAog CXdyYXBwZXIuYyBcCiAJeG1sLXRkZXNjLmMgeG1sLXN1cHBvcnQuYyBcCisJ bGludXgtdGRlcC5jIFwKKwl4bWwtc3lzY2FsbC5jIFwKIAlpbmZlcmlvci5j CiAKIExJTlRGSUxFUyA9ICQoU0ZJTEVTKSAkKFlZRklMRVMpICQoQ09ORklH X1NSQ1MpIGluaXQuYwpAQCAtNjcxLDcgKzY3OCw3IEBAIExJTlRGSUxFUyA9 ICQoU0ZJTEVTKSAkKFlZRklMRVMpICQoQ09ORkkKICMgd3JvbmcgaWYgVEFH UyBoYXMgZmlsZXMgdHdpY2UpLiAgQmVjYXVzZSB0aGlzIGlzIHRyaWNreSB0 byBnZXQKICMgcmlnaHQsIGl0IGlzIHByb2JhYmx5IGVhc2llc3QganVzdCB0 byBsaXN0IC5oIGZpbGVzIGhlcmUgZGlyZWN0bHkuCiAKLUhGSUxFU19OT19T UkNESVIgPSBvc2Ytc2hhcmUvY21hX2RlYnVnX2NsaWVudC5oCVwKK0hGSUxF U19OT19TUkNESVIgPSBvc2Ytc2hhcmUvY21hX2RlYnVnX2NsaWVudC5oCWxp bnV4LXRkZXAuaCBcCiBvc2Ytc2hhcmUvSFA4MDAvY21hX3RocmVhZF9pby5o IG9zZi1zaGFyZS9jbWFfc2VxdWVuY2UuaCBcCiBvc2Ytc2hhcmUvY21hX211 dGV4Lmggb3NmLXNoYXJlL2NtYV9zZW1hcGhvcmVfZGVmcy5oIFwKIG9zZi1z aGFyZS9jbWFfbGlzdC5oIG9zZi1zaGFyZS9jbWFfaGFuZGxlLmggb3NmLXNo YXJlL2NtYV9zdGFjay5oIFwKQEAgLTczMSw3ICs3MzgsNyBAQCBjb25maWcv c3BhcmMvbm0tc29sMi5oIGNvbmZpZy9ubS1saW51eC5oCiBjb25maWcvcnM2 MDAwL25tLXJzNjAwMC5oIHRvcC5oIGJzZC1rdm0uaCBnZGItc3RhYnMuaCBy ZWdncm91cHMuaCBcCiBhbm5vdGF0ZS5oIHNpbS1yZWduby5oIGRpY3Rpb25h cnkuaCBkZnAuaCBtYWluLmggZnJhbWUtdW53aW5kLmgJXAogcmVtb3RlLWZp bGVpby5oIGkzODYtbGludXgtdGRlcC5oIHZheC10ZGVwLmggb2JqYy1sYW5n LmggXAotc2VudGluZWwtZnJhbWUuaCBiY2FjaGUuaCBzeW1maWxlLmggd2lu ZG93cy10ZGVwLmggbGludXgtdGRlcC5oCitzZW50aW5lbC1mcmFtZS5oIGJj YWNoZS5oIHN5bWZpbGUuaCB3aW5kb3dzLXRkZXAuaCBsaW51eC10ZGVwLmgg eG1sLXN5c2NhbGwuaAogCiAjIEhlYWRlciBmaWxlcyB0aGF0IGFscmVhZHkg aGF2ZSBzcmNkaXIgaW4gdGhlbSwgb3Igd2hpY2ggYXJlIGluIG9iamRpci4K IApAQCAtODEwLDEwICs4MTcsMTYgQEAgQ09NTU9OX09CUyA9ICQoREVQRklM RVMpICQoQ09ORklHX09CUykgJAogCXRyYWQtZnJhbWUubyBcCiAJdHJhbXAt ZnJhbWUubyBcCiAJc29saWIubyBzb2xpYi1udWxsLm8gXAotCXByb2xvZ3Vl LXZhbHVlLm8gbWVtb3J5LW1hcC5vIHhtbC1zdXBwb3J0Lm8gXAorCXByb2xv Z3VlLXZhbHVlLm8gbWVtb3J5LW1hcC5vIHhtbC1zdXBwb3J0Lm8geG1sLXN5 c2NhbGwubyBcCiAJdGFyZ2V0LWRlc2NyaXB0aW9ucy5vIHRhcmdldC1tZW1v cnkubyB4bWwtdGRlc2MubyB4bWwtYnVpbHRpbi5vIFwKIAlpbmZlcmlvci5v IG9zZGF0YS5vCiAKKyMgRGVmaW5pdGlvbnMgZm9yIHRoZSBzeXNjYWxsJ3Mg WE1MIGZpbGVzIGFuZCBkaXIKK1hNTF9TWVNDQUxMU19ESVIgPSBzeXNjYWxs cy8KK1hNTF9TWVNDQUxMU19GSUxFUyA9IGdkYi1zeXNjYWxscy5kdGQgXAor CQkgICAgIHBwYy1saW51eC54bWwgcHBjNjQtbGludXgueG1sIFwKKwkJICAg ICBpMzg2LWxpbnV4LnhtbCBhbWQ2NC1saW51eC54bWwKKwogVFNPQlMgPSBp bmZsb3cubwogCiBTVUJESVJTID0gQHN1YmRpcnNACkBAIC04NDcsMTEgKzg2 MCwzOCBAQCBnZW5lcmF0ZWRfZmlsZXMgPSBjb25maWcuaCBvYnNlcnZlci5o IG9iCiAJJChDT01QSUxFKSAkPAogCSQoUE9TVENPTVBJTEUpCiAKLWFsbDog Z2RiJChFWEVFWFQpICQoQ09ORklHX0FMTCkKK2FsbDogZ2RiJChFWEVFWFQp ICQoQ09ORklHX0FMTCkgeG1sLXN5c2NhbGwtY29weQogCUAkKE1BS0UpICQo RkxBR1NfVE9fUEFTUykgRE89YWxsICJET0RJUlM9YGVjaG8gJChTVUJESVJT KSB8IHNlZCAncy90ZXN0c3VpdGUvLydgIiBzdWJkaXJfZG8KIC5QSE9OWTog YWxsLXR1aQogYWxsLXR1aTogJChUVUkpJChFWEVFWFQpCiAKK3htbC1zeXNj YWxsLWNvcHk6CisJaWYgWyAiYGNkICQoc3JjZGlyKSAmJiBwd2RgIiAhPSAi YHB3ZGAiIF0gOyB0aGVuIFwKKwkgIG1rZGlyIC1wIC4vJChYTUxfU1lTQ0FM TFNfRElSKSA7IFwKKwkgIGxpc3Q9JyQoWE1MX1NZU0NBTExTX0ZJTEVTKScg OyBcCisgCSAgZm9yIGZpbGUgaW4gJCRsaXN0IDsgZG8gXAorCSAgICBmPSQo c3JjZGlyKS8kKFhNTF9TWVNDQUxMU19ESVIpLyQkZmlsZSA7IFwKKwkgICAg aWYgdGVzdCAtZiAkJGYgOyB0aGVuIFwKKwkgICAgICAkKElOU1RBTExfREFU QSkgJCRmIFwKKwkgICAgCSAgLi8kKFhNTF9TWVNDQUxMU19ESVIpIDsgXAor CSAgICBmaSA7IFwKKwkgIGRvbmUgOyBcCisJZmkgOworCisjIFRoaXMgdGFy Z2V0IGlzIHJlc3BvbnNpYmxlIGZvciBwcm9wZXJseSBpbnN0YWxsaW5nIHRo ZSBzeXNjYWxscycKKyMgWE1MIGZpbGVzIGluIHRoZSBzeXN0ZW0uCit4bWwt c3lzY2FsbC1pbnN0YWxsOgorCSQoU0hFTEwpICQoc3JjZGlyKS8uLi9ta2lu c3RhbGxkaXJzIFwKKwkJJChERVNURElSKSQoR0RCX0RBVEFESVJfUEFUSCkv JChYTUxfU1lTQ0FMTFNfRElSKSA7IFwKKwlsaXN0PSckKFhNTF9TWVNDQUxM U19GSUxFUyknIDsgXAorCWZvciBmaWxlIGluICQkbGlzdCA7IGRvIFwKKwkg IGY9JChzcmNkaXIpLyQoWE1MX1NZU0NBTExTX0RJUikvJCRmaWxlIDsgXAor CSAgaWYgdGVzdCAtZiAkJGYgOyB0aGVuIFwKKwkgICAgJChJTlNUQUxMX0RB VEEpICQkZiBcCisJICAgIAkkKERFU1RESVIpJChHREJfREFUQURJUl9QQVRI KS8kKFhNTF9TWVNDQUxMU19ESVIpIDsgXAorCSAgZmkgOyBcCisJZG9uZSA7 CisKIGluc3RhbGxjaGVjazoKIAogIyBUaGUgY2hlY2sgdGFyZ2V0IGNhbiBu b3QgdXNlIHN1YmRpcl9kbywgYmVjYXVzZSBzdWJkaXJfZG8gZG9lcyBub3QK QEAgLTkwNiw3ICs5NDYsMTAgQEAgZ2RiLno6Z2RiLjEKICMgdGltZSBpdCB0 YWtlcyBmb3IgbWFrZSB0byBjaGVjayB0aGF0IGFsbCBpcyB1cCB0byBkYXRl LgogIyBpbnN0YWxsLW9ubHkgaXMgaW50ZW5kZWQgdG8gYWRkcmVzcyB0aGF0 IG5lZWQuCiBpbnN0YWxsOiBhbGwgaW5zdGFsbC1vbmx5Ci1pbnN0YWxsLW9u bHk6ICQoQ09ORklHX0lOU1RBTEwpCisKKyMgVGhlICJpbnN0YWxsLW9ubHki IHRhcmdldCBhbHNvIGluc3RhbGxzIHRoZSBzeXNjYWxscycgWE1MIGZpbGVz IGluCisjIHRoZSBzeXN0ZW0uCitpbnN0YWxsLW9ubHk6ICQoQ09ORklHX0lO U1RBTEwpIHhtbC1zeXNjYWxsLWluc3RhbGwKIAl0cmFuc2Zvcm1lZF9uYW1l PWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogCQkJICBlY2hv IGdkYiB8IHNlZCAtZSAiJCR0ImAgOyBcCiAJCWlmIHRlc3QgIngkJHRyYW5z Zm9ybWVkX25hbWUiID0geDsgdGhlbiBcCkBAIC0xMjYyLDYgKzEzMDUsNyBA QCBmb3JjZV91cGRhdGU6CiBNQUtFT1ZFUlJJREVTPQogCiBBTExERVBGSUxF UyA9IFwKKwlsaW51eC10ZGVwLmMgXAogCWFpeC10aHJlYWQuYyBcCiAJYWxw aGEtbmF0LmMgYWxwaGFic2QtbmF0LmMgYWxwaGEtbGludXgtbmF0LmMgXAog CWFscGhhLXRkZXAuYyBhbHBoYS1tZGVidWctdGRlcC5jIFwKLS0tIGEvZ2Ri L2NvbmZpZy5pbgorKysgYi9nZGIvY29uZmlnLmluCkBAIC00Miw2ICs0Miwx MiBAQAogICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLwogI3VuZGVmIEVO QUJMRV9OTFMKIAorLyogR2xvYmFsIGRpcmVjdG9yeSBmb3IgR0RCIGRhdGEg ZmlsZXMuICovCisjdW5kZWYgR0RCX0RBVEFESVIKKworLyogRGVmaW5lIGlm IEdEQiBkYXRhZGlyIHNob3VsZCBiZSByZWxvY2F0ZWQgd2hlbiBHREIgaXMg bW92ZWQuICovCisjdW5kZWYgR0RCX0RBVEFESVJfUkVMT0NBVEFCTEUKKwog LyogRGVmaW5lIHRvIGJlIGEgc3RyaW5nIG5hbWluZyB0aGUgZGVmYXVsdCBo b3N0IGNoYXJhY3RlciBzZXQuICovCiAjdW5kZWYgR0RCX0RFRkFVTFRfSE9T VF9DSEFSU0VUCiAKLS0tIGEvZ2RiL2NvbmZpZ3VyZQorKysgYi9nZGIvY29u ZmlndXJlCkBAIC0zMTQsNyArMzE0LDcgQEAgYWNfc3ViZGlyc19hbGw9IiRh Y19zdWJkaXJzX2FsbCBkb2MgdGVzdAogYWNfc3ViZGlyc19hbGw9IiRhY19z dWJkaXJzX2FsbCBnZGJ0ayIKIGFjX3N1YmRpcnNfYWxsPSIkYWNfc3ViZGly c19hbGwgbXVsdGktaWNlIgogYWNfc3ViZGlyc19hbGw9IiRhY19zdWJkaXJz X2FsbCBnZGJzZXJ2ZXIiCi1hY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NF UEFSQVRPUiBQQUNLQUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0Vf VkVSU0lPTiBQQUNLQUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVj X3ByZWZpeCBwcmVmaXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIg c2JpbmRpciBsaWJleGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRz dGF0ZWRpciBsb2NhbHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGlu Y2x1ZGVkaXIgaW5mb2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlh cyB0YXJnZXRfYWxpYXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJT IE1BSU5UQUlORVJfTU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBN QUlOVCBDQyBDRkxBR1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVF WFQgT0JKRVhUIENQUCBFR1JFUCBSQU5MSUIgYWNfY3RfUkFOTElCIGJ1aWxk IGJ1aWxkX2NwdSBidWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2Nw dSBob3N0X3ZlbmRvciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdl dF92ZW5kb3IgdGFyZ2V0X29zIGFtX19sZWFkaW5nX2RvdCBERVBESVIgQ0NE RVBNT0RFIE1BS0UgR01BS0VfVFJVRSBHTUFLRV9GQUxTRSBTRVRfTUFLRSBV U0VfTkxTIExJQklOVEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBH TVNHRk1UIFBPU1VCIENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQg R0VOQ0FUIENBVE9CSkVYVCBsb2NhbGVkaXIgR0xfQ09ORF9MSUJUT09MX1RS VUUgR0xfQ09ORF9MSUJUT09MX0ZBTFNFIEdOVUxJQl9NRU1NRU0gR05VTElC X01FTVBDUFkgR05VTElCX01FTVJDSFIgR05VTElCX1NUUENQWSBHTlVMSUJf U1RQTkNQWSBHTlVMSUJfU1RSQ0hSTlVMIEdOVUxJQl9TVFJEVVAgR05VTElC X1NUUk5EVVAgR05VTElCX1NUUk5MRU4gR05VTElCX1NUUlBCUksgR05VTElC X1NUUlNFUCBHTlVMSUJfU1RSU1RSIEdOVUxJQl9TVFJDQVNFU1RSIEdOVUxJ Ql9TVFJUT0tfUiBHTlVMSUJfTUJTTEVOIEdOVUxJQl9NQlNOTEVOIEdOVUxJ Ql9NQlNDSFIgR05VTElCX01CU1JDSFIgR05VTElCX01CU1NUUiBHTlVMSUJf TUJTQ0FTRUNNUCBHTlVMSUJfTUJTTkNBU0VDTVAgR05VTElCX01CU1BDQVNF Q01QIEdOVUxJQl9NQlNDQVNFU1RSIEdOVUxJQl9NQlNDU1BOIEdOVUxJQl9N QlNQQlJLIEdOVUxJQl9NQlNTUE4gR05VTElCX01CU1NFUCBHTlVMSUJfTUJT VE9LX1IgR05VTElCX1NUUkVSUk9SIEdOVUxJQl9TVFJTSUdOQUwgSEFWRV9E RUNMX01FTU1FTSBIQVZFX01FTVBDUFkgSEFWRV9ERUNMX01FTVJDSFIgSEFW RV9TVFBDUFkgSEFWRV9TVFBOQ1BZIEhBVkVfU1RSQ0hSTlVMIEhBVkVfREVD TF9TVFJEVVAgSEFWRV9TVFJORFVQIEhBVkVfREVDTF9TVFJORFVQIEhBVkVf REVDTF9TVFJOTEVOIEhBVkVfU1RSUEJSSyBIQVZFX1NUUlNFUCBIQVZFX1NU UkNBU0VTVFIgSEFWRV9ERUNMX1NUUlRPS19SIEhBVkVfREVDTF9TVFJFUlJP UiBIQVZFX0RFQ0xfU1RSU0lHTkFMIFJFUExBQ0VfU1RSRVJST1IgUkVQTEFD RV9TVFJTSUdOQUwgUkVQTEFDRV9NRU1NRU0gUkVQTEFDRV9TVFJDQVNFU1RS IFJFUExBQ0VfU1RSU1RSIEhBVkVfTE9OR19MT05HX0lOVCBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgSEFWRV9JTlRUWVBFU19IIEhBVkVfU1lTX1RZ UEVTX0ggSU5DTFVERV9ORVhUIE5FWFRfU1RESU5UX0ggSEFWRV9TVERJTlRf SCBIQVZFX1NZU19JTlRUWVBFU19IIEhBVkVfU1lTX0JJVFlQRVNfSCBCSVRT SVpFT0ZfUFRSRElGRl9UIEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgQklUU0la RU9GX1NJWkVfVCBCSVRTSVpFT0ZfV0NIQVJfVCBCSVRTSVpFT0ZfV0lOVF9U IEhBVkVfU0lHTkVEX1NJR19BVE9NSUNfVCBIQVZFX1NJR05FRF9XQ0hBUl9U IEhBVkVfU0lHTkVEX1dJTlRfVCBQVFJESUZGX1RfU1VGRklYIFNJR19BVE9N SUNfVF9TVUZGSVggU0laRV9UX1NVRkZJWCBXQ0hBUl9UX1NVRkZJWCBXSU5U X1RfU1VGRklYIFNURElOVF9IIE5FWFRfU1RSSU5HX0ggR05VTElCX1dDV0lE VEggSEFWRV9ERUNMX1dDV0lEVEggUkVQTEFDRV9XQ1dJRFRIIFdDSEFSX0gg SEFWRV9XQ0hBUl9IIE5FWFRfV0NIQVJfSCBMSUJHTlVfTElCREVQUyBMSUJH TlVfTFRMSUJERVBTIEdOVUxJQl9TVERJTlRfSCBQQUNLQUdFIElOU1RBTExf UFJPR1JBTSBJTlNUQUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQ1lHUEFUSF9X IFZFUlNJT04gQUNMT0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVS IE1BS0VJTkZPIGluc3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFM TF9TVFJJUF9QUk9HUkFNIG1rZGlyX3AgQVdLIEFNVEFSIGFtX190YXIgYW1f X3VudGFyIGFtX19pbmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQ X0ZBTFNFIEFNREVQQkFDS1NMQVNIIGFtX19mYXN0ZGVwQ0NfVFJVRSBhbV9f ZmFzdGRlcENDX0ZBTFNFIHN1YmRpcnMgVEFSR0VUX09CUyBQS0dWRVJTSU9O IFJFUE9SVF9CVUdTX1RPIFJFUE9SVF9CVUdTX1RFWEkgTE5fUyBZQUNDIEFS IGFjX2N0X0FSIERMTFRPT0wgYWNfY3RfRExMVE9PTCBXSU5EUkVTIGFjX2N0 X1dJTkRSRVMgTUlHIGFjX2N0X01JRyBSRUFETElORSBSRUFETElORV9ERVBT IFJFQURMSU5FX0NGTEFHUyBIQVZFX0xJQkVYUEFUIExJQkVYUEFUIExUTElC RVhQQVQgUFlUSE9OX0NGTEFHUyBBTExPQ0EgQ09ORklHX0xERkxBR1MgVEFS R0VUX1NZU1RFTV9ST09UIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgV0FS Tl9DRkxBR1MgV0VSUk9SX0NGTEFHUyBTRVJfSEFSRFdJUkUgV0lOMzJMSUJT IExJQkdVSSBHVUlfQ0ZMQUdTX1ggV0lOMzJMREFQUCBUQ0xfVkVSU0lPTiBU Q0xfUEFUQ0hfTEVWRUwgVENMX0JJTl9ESVIgVENMX1NSQ19ESVIgVENMX0xJ Ql9GSUxFIFRDTF9MSUJfRkxBRyBUQ0xfTElCX1NQRUMgVENMX1NUVUJfTElC X0ZJTEUgVENMX1NUVUJfTElCX0ZMQUcgVENMX1NUVUJfTElCX1NQRUMgVENM X0lOQ0xVREUgVENMX0xJQlJBUlkgVENMX0RFUFMgVEtfVkVSU0lPTiBUS19C SU5fRElSIFRLX1NSQ19ESVIgVEtfTElCX0ZJTEUgVEtfTElCX0ZMQUcgVEtf TElCX1NQRUMgVEtfU1RVQl9MSUJfRklMRSBUS19TVFVCX0xJQl9GTEFHIFRL X1NUVUJfTElCX1NQRUMgVEtfSU5DTFVERSBUS19MSUJSQVJZIFRLX0RFUFMg VEtfWElOQ0xVREVTIFhfQ0ZMQUdTIFhfTERGTEFHUyBYX0xJQlMgR0RCVEtM SUJTIEdEQlRLX0NGTEFHUyBHREJUS19TUkNfRElSIFNJTSBTSU1fT0JTIEVO QUJMRV9DRkxBR1MgUFJPRklMRV9DRkxBR1MgQ09ORklHX09CUyBDT05GSUdf REVQUyBDT05GSUdfU1JDUyBDT05GSUdfQUxMIENPTkZJR19DTEVBTiBDT05G SUdfSU5TVEFMTCBDT05GSUdfVU5JTlNUQUxMIHRhcmdldF9zdWJkaXIgZnJh Z3Mgbm1faCBMSUJJQ09OViBMSUJPQkpTIExUTElCT0JKUyBnbF9MSUJPQkpT IGdsX0xUTElCT0JKUyBnbHRlc3RzX0xJQk9CSlMgZ2x0ZXN0c19MVExJQk9C SlMnCithY19zdWJzdF92YXJzPSdTSEVMTCBQQVRIX1NFUEFSQVRPUiBQQUNL QUdFX05BTUUgUEFDS0FHRV9UQVJOQU1FIFBBQ0tBR0VfVkVSU0lPTiBQQUNL QUdFX1NUUklORyBQQUNLQUdFX0JVR1JFUE9SVCBleGVjX3ByZWZpeCBwcmVm aXggcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSBiaW5kaXIgc2JpbmRpciBsaWJl eGVjZGlyIGRhdGFkaXIgc3lzY29uZmRpciBzaGFyZWRzdGF0ZWRpciBsb2Nh bHN0YXRlZGlyIGxpYmRpciBpbmNsdWRlZGlyIG9sZGluY2x1ZGVkaXIgaW5m b2RpciBtYW5kaXIgYnVpbGRfYWxpYXMgaG9zdF9hbGlhcyB0YXJnZXRfYWxp YXMgREVGUyBFQ0hPX0MgRUNIT19OIEVDSE9fVCBMSUJTIE1BSU5UQUlORVJf TU9ERV9UUlVFIE1BSU5UQUlORVJfTU9ERV9GQUxTRSBNQUlOVCBDQyBDRkxB R1MgTERGTEFHUyBDUFBGTEFHUyBhY19jdF9DQyBFWEVFWFQgT0JKRVhUIENQ UCBFR1JFUCBSQU5MSUIgYWNfY3RfUkFOTElCIGJ1aWxkIGJ1aWxkX2NwdSBi dWlsZF92ZW5kb3IgYnVpbGRfb3MgaG9zdCBob3N0X2NwdSBob3N0X3ZlbmRv ciBob3N0X29zIHRhcmdldCB0YXJnZXRfY3B1IHRhcmdldF92ZW5kb3IgdGFy Z2V0X29zIGFtX19sZWFkaW5nX2RvdCBERVBESVIgQ0NERVBNT0RFIE1BS0Ug R01BS0VfVFJVRSBHTUFLRV9GQUxTRSBTRVRfTUFLRSBVU0VfTkxTIExJQklO VEwgTElCSU5UTF9ERVAgSU5DSU5UTCBYR0VUVEVYVCBHTVNHRk1UIFBPU1VC IENBVEFMT0dTIERBVEFESVJOQU1FIElOU1RPQkpFWFQgR0VOQ0FUIENBVE9C SkVYVCBsb2NhbGVkaXIgR0xfQ09ORF9MSUJUT09MX1RSVUUgR0xfQ09ORF9M SUJUT09MX0ZBTFNFIEdOVUxJQl9NRU1NRU0gR05VTElCX01FTVBDUFkgR05V TElCX01FTVJDSFIgR05VTElCX1NUUENQWSBHTlVMSUJfU1RQTkNQWSBHTlVM SUJfU1RSQ0hSTlVMIEdOVUxJQl9TVFJEVVAgR05VTElCX1NUUk5EVVAgR05V TElCX1NUUk5MRU4gR05VTElCX1NUUlBCUksgR05VTElCX1NUUlNFUCBHTlVM SUJfU1RSU1RSIEdOVUxJQl9TVFJDQVNFU1RSIEdOVUxJQl9TVFJUT0tfUiBH TlVMSUJfTUJTTEVOIEdOVUxJQl9NQlNOTEVOIEdOVUxJQl9NQlNDSFIgR05V TElCX01CU1JDSFIgR05VTElCX01CU1NUUiBHTlVMSUJfTUJTQ0FTRUNNUCBH TlVMSUJfTUJTTkNBU0VDTVAgR05VTElCX01CU1BDQVNFQ01QIEdOVUxJQl9N QlNDQVNFU1RSIEdOVUxJQl9NQlNDU1BOIEdOVUxJQl9NQlNQQlJLIEdOVUxJ Ql9NQlNTUE4gR05VTElCX01CU1NFUCBHTlVMSUJfTUJTVE9LX1IgR05VTElC X1NUUkVSUk9SIEdOVUxJQl9TVFJTSUdOQUwgSEFWRV9ERUNMX01FTU1FTSBI QVZFX01FTVBDUFkgSEFWRV9ERUNMX01FTVJDSFIgSEFWRV9TVFBDUFkgSEFW RV9TVFBOQ1BZIEhBVkVfU1RSQ0hSTlVMIEhBVkVfREVDTF9TVFJEVVAgSEFW RV9TVFJORFVQIEhBVkVfREVDTF9TVFJORFVQIEhBVkVfREVDTF9TVFJOTEVO IEhBVkVfU1RSUEJSSyBIQVZFX1NUUlNFUCBIQVZFX1NUUkNBU0VTVFIgSEFW RV9ERUNMX1NUUlRPS19SIEhBVkVfREVDTF9TVFJFUlJPUiBIQVZFX0RFQ0xf U1RSU0lHTkFMIFJFUExBQ0VfU1RSRVJST1IgUkVQTEFDRV9TVFJTSUdOQUwg UkVQTEFDRV9NRU1NRU0gUkVQTEFDRV9TVFJDQVNFU1RSIFJFUExBQ0VfU1RS U1RSIEhBVkVfTE9OR19MT05HX0lOVCBIQVZFX1VOU0lHTkVEX0xPTkdfTE9O R19JTlQgSEFWRV9JTlRUWVBFU19IIEhBVkVfU1lTX1RZUEVTX0ggSU5DTFVE RV9ORVhUIE5FWFRfU1RESU5UX0ggSEFWRV9TVERJTlRfSCBIQVZFX1NZU19J TlRUWVBFU19IIEhBVkVfU1lTX0JJVFlQRVNfSCBCSVRTSVpFT0ZfUFRSRElG Rl9UIEJJVFNJWkVPRl9TSUdfQVRPTUlDX1QgQklUU0laRU9GX1NJWkVfVCBC SVRTSVpFT0ZfV0NIQVJfVCBCSVRTSVpFT0ZfV0lOVF9UIEhBVkVfU0lHTkVE X1NJR19BVE9NSUNfVCBIQVZFX1NJR05FRF9XQ0hBUl9UIEhBVkVfU0lHTkVE X1dJTlRfVCBQVFJESUZGX1RfU1VGRklYIFNJR19BVE9NSUNfVF9TVUZGSVgg U0laRV9UX1NVRkZJWCBXQ0hBUl9UX1NVRkZJWCBXSU5UX1RfU1VGRklYIFNU RElOVF9IIE5FWFRfU1RSSU5HX0ggR05VTElCX1dDV0lEVEggSEFWRV9ERUNM X1dDV0lEVEggUkVQTEFDRV9XQ1dJRFRIIFdDSEFSX0ggSEFWRV9XQ0hBUl9I IE5FWFRfV0NIQVJfSCBMSUJHTlVfTElCREVQUyBMSUJHTlVfTFRMSUJERVBT IEdOVUxJQl9TVERJTlRfSCBQQUNLQUdFIElOU1RBTExfUFJPR1JBTSBJTlNU QUxMX1NDUklQVCBJTlNUQUxMX0RBVEEgQ1lHUEFUSF9XIFZFUlNJT04gQUNM T0NBTCBBVVRPQ09ORiBBVVRPTUFLRSBBVVRPSEVBREVSIE1BS0VJTkZPIGlu c3RhbGxfc2ggU1RSSVAgYWNfY3RfU1RSSVAgSU5TVEFMTF9TVFJJUF9QUk9H UkFNIG1rZGlyX3AgQVdLIEFNVEFSIGFtX190YXIgYW1fX3VudGFyIGFtX19p bmNsdWRlIGFtX19xdW90ZSBBTURFUF9UUlVFIEFNREVQX0ZBTFNFIEFNREVQ QkFDS1NMQVNIIGFtX19mYXN0ZGVwQ0NfVFJVRSBhbV9fZmFzdGRlcENDX0ZB TFNFIEdEQl9EQVRBRElSX1BBVEggc3ViZGlycyBUQVJHRVRfT0JTIFBLR1ZF UlNJT04gUkVQT1JUX0JVR1NfVE8gUkVQT1JUX0JVR1NfVEVYSSBMTl9TIFlB Q0MgQVIgYWNfY3RfQVIgRExMVE9PTCBhY19jdF9ETExUT09MIFdJTkRSRVMg YWNfY3RfV0lORFJFUyBNSUcgYWNfY3RfTUlHIFJFQURMSU5FIFJFQURMSU5F X0RFUFMgUkVBRExJTkVfQ0ZMQUdTIEhBVkVfTElCRVhQQVQgTElCRVhQQVQg TFRMSUJFWFBBVCBQWVRIT05fQ0ZMQUdTIEFMTE9DQSBDT05GSUdfTERGTEFH UyBUQVJHRVRfU1lTVEVNX1JPT1QgVEFSR0VUX1NZU1RFTV9ST09UX0RFRklO RSBXQVJOX0NGTEFHUyBXRVJST1JfQ0ZMQUdTIFNFUl9IQVJEV0lSRSBXSU4z MkxJQlMgTElCR1VJIEdVSV9DRkxBR1NfWCBXSU4zMkxEQVBQIFRDTF9WRVJT SU9OIFRDTF9QQVRDSF9MRVZFTCBUQ0xfQklOX0RJUiBUQ0xfU1JDX0RJUiBU Q0xfTElCX0ZJTEUgVENMX0xJQl9GTEFHIFRDTF9MSUJfU1BFQyBUQ0xfU1RV Ql9MSUJfRklMRSBUQ0xfU1RVQl9MSUJfRkxBRyBUQ0xfU1RVQl9MSUJfU1BF QyBUQ0xfSU5DTFVERSBUQ0xfTElCUkFSWSBUQ0xfREVQUyBUS19WRVJTSU9O IFRLX0JJTl9ESVIgVEtfU1JDX0RJUiBUS19MSUJfRklMRSBUS19MSUJfRkxB RyBUS19MSUJfU1BFQyBUS19TVFVCX0xJQl9GSUxFIFRLX1NUVUJfTElCX0ZM QUcgVEtfU1RVQl9MSUJfU1BFQyBUS19JTkNMVURFIFRLX0xJQlJBUlkgVEtf REVQUyBUS19YSU5DTFVERVMgWF9DRkxBR1MgWF9MREZMQUdTIFhfTElCUyBH REJUS0xJQlMgR0RCVEtfQ0ZMQUdTIEdEQlRLX1NSQ19ESVIgU0lNIFNJTV9P QlMgRU5BQkxFX0NGTEFHUyBQUk9GSUxFX0NGTEFHUyBDT05GSUdfT0JTIENP TkZJR19ERVBTIENPTkZJR19TUkNTIENPTkZJR19BTEwgQ09ORklHX0NMRUFO IENPTkZJR19JTlNUQUxMIENPTkZJR19VTklOU1RBTEwgdGFyZ2V0X3N1YmRp ciBmcmFncyBubV9oIExJQklDT05WIExJQk9CSlMgTFRMSUJPQkpTIGdsX0xJ Qk9CSlMgZ2xfTFRMSUJPQkpTIGdsdGVzdHNfTElCT0JKUyBnbHRlc3RzX0xU TElCT0JKUycKIGFjX3N1YnN0X2ZpbGVzPSdob3N0X21ha2VmaWxlX2ZyYWcn CiBhY19wd2Q9YHB3ZGAKIApAQCAtODgyLDYgKzg4Miw4IEBAIE9wdGlvbmFs IFBhY2thZ2VzOgogICAtLXdpdGgtUEFDS0FHRVs9QVJHXSAgICB1c2UgUEFD S0FHRSBbQVJHPXllc10KICAgLS13aXRob3V0LVBBQ0tBR0UgICAgICAgZG8g bm90IHVzZSBQQUNLQUdFIChzYW1lIGFzIC0td2l0aC1QQUNLQUdFPW5vKQog ICAtLXdpdGgtc2VwYXJhdGUtZGVidWctZGlyPXBhdGggICBMb29rIGZvciBn bG9iYWwgc2VwYXJhdGUgZGVidWcgaW5mbyBpbiB0aGlzIHBhdGggTElCRElS L2RlYnVnCisgIC0td2l0aC1nZGItZGF0YWRpciAgICAgIGxvb2sgZm9yIGds b2JhbCBzZXBhcmF0ZSBkYXRhIGZpbGVzIGluIHRoaXMgcGF0aAorICAgICAg ICAgICAgICAgICAgICAgICAgICBbREFUQURJUi9nZGJdCiAgIC0td2l0aC1s aWJ1bndpbmQgICAgICAgICAgICBVc2UgbGlidW53aW5kIGZyYW1lIHVud2lu ZGluZyBzdXBwb3J0CiAgIC0td2l0aC1wa2d2ZXJzaW9uPVBLRyAgIFVzZSBQ S0cgaW4gdGhlIHZlcnNpb24gc3RyaW5nIGluIHBsYWNlIG9mICJHREIiCiAg IC0td2l0aC1idWd1cmw9VVJMICAgICAgIERpcmVjdCB1c2VycyB0byBVUkwg dG8gcmVwb3J0IGEgYnVnCkBAIC03MTMwLDYgKzcxMzIsNTIgQEAgX0FDRU9G CiAgIDs7CiBlc2FjCiAKKyMgR0RCJ3MgZGF0YWRpciByZWxvY2F0aW9uCisK K2dkYmRhdGFkaXI9JHtkYXRhZGlyfS9nZGIKKworCisjIENoZWNrIHdoZXRo ZXIgLS13aXRoLWdkYi1kYXRhZGlyIG9yIC0td2l0aG91dC1nZGItZGF0YWRp ciB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke3dpdGhfZ2RiX2RhdGFkaXIrc2V0 fSIgPSBzZXQ7IHRoZW4KKyAgd2l0aHZhbD0iJHdpdGhfZ2RiX2RhdGFkaXIi CisgIGdkYmRhdGFkaXI9IiR7d2l0aHZhbH0iCitmaTsKKworCisgIHRlc3Qg IngkcHJlZml4IiA9IHhOT05FICYmIHByZWZpeD0iJGFjX2RlZmF1bHRfcHJl Zml4IgorICB0ZXN0ICJ4JGV4ZWNfcHJlZml4IiA9IHhOT05FICYmIGV4ZWNf cHJlZml4PScke3ByZWZpeH0nCisgIGFjX2RlZmluZV9kaXI9YGV2YWwgZWNo byAkZ2RiZGF0YWRpcmAKKyAgYWNfZGVmaW5lX2Rpcj1gZXZhbCBlY2hvICRh Y19kZWZpbmVfZGlyYAorCitjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisj ZGVmaW5lIEdEQl9EQVRBRElSICIkYWNfZGVmaW5lX2RpciIKK19BQ0VPRgor CisKKworaWYgdGVzdCAieCRleGVjX3ByZWZpeCIgPSB4Tk9ORSB8fCB0ZXN0 ICJ4JGV4ZWNfcHJlZml4IiA9ICd4JHtwcmVmaXh9JzsgdGhlbgorICBpZiB0 ZXN0ICJ4JHByZWZpeCIgPSB4Tk9ORTsgdGhlbgorICAgIHRlc3RfcHJlZml4 PS91c3IvbG9jYWwKKyAgZWxzZQorICAgIHRlc3RfcHJlZml4PSRwcmVmaXgK KyAgZmkKK2Vsc2UKKyAgdGVzdF9wcmVmaXg9JGV4ZWNfcHJlZml4CitmaQor CitjYXNlICR7Z2RiZGF0YWRpcn0gaW4KKyAgIiR7dGVzdF9wcmVmaXh9Inwi JHt0ZXN0X3ByZWZpeH0vIip8XAorICAnJHtleGVjX3ByZWZpeH0nfCcke2V4 ZWNfcHJlZml4fS8nKikKKworY2F0ID4+Y29uZmRlZnMuaCA8PFxfQUNFT0YK KyNkZWZpbmUgR0RCX0RBVEFESVJfUkVMT0NBVEFCTEUgMQorX0FDRU9GCisK KyAgOzsKK2VzYWMKK0dEQl9EQVRBRElSX1BBVEg9JHtnZGJkYXRhZGlyfQor CisKIAogCiBzdWJkaXJzPSIkc3ViZGlycyBkb2MgdGVzdHN1aXRlIgpAQCAt MjE4NjUsNiArMjE5MTMsNyBAQCBzLEBBTURFUF9GQUxTRUAsJEFNREVQX0ZB TFNFLDt0IHQKIHMsQEFNREVQQkFDS1NMQVNIQCwkQU1ERVBCQUNLU0xBU0gs O3QgdAogcyxAYW1fX2Zhc3RkZXBDQ19UUlVFQCwkYW1fX2Zhc3RkZXBDQ19U UlVFLDt0IHQKIHMsQGFtX19mYXN0ZGVwQ0NfRkFMU0VALCRhbV9fZmFzdGRl cENDX0ZBTFNFLDt0IHQKK3MsQEdEQl9EQVRBRElSX1BBVEhALCRHREJfREFU QURJUl9QQVRILDt0IHQKIHMsQHN1YmRpcnNALCRzdWJkaXJzLDt0IHQKIHMs QFRBUkdFVF9PQlNALCRUQVJHRVRfT0JTLDt0IHQKIHMsQFBLR1ZFUlNJT05A LCRQS0dWRVJTSU9OLDt0IHQKLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYworKysg Yi9nZGIvY29uZmlndXJlLmFjCkBAIC0xMTgsNiArMTE4LDM2IEBAIGNhc2Ug JHtkZWJ1Z2Rpcn0gaW4KICAgOzsKIGVzYWMKIAorIyBHREIncyBkYXRhZGly IHJlbG9jYXRpb24KKworZ2RiZGF0YWRpcj0ke2RhdGFkaXJ9L2dkYgorCitB Q19BUkdfV0lUSChbZ2RiLWRhdGFkaXJdLAorICBbQVNfSEVMUF9TVFJJTkco Wy0td2l0aC1nZGItZGF0YWRpcl0sCisgICAgICAgICAgICAgICAgICBbbG9v ayBmb3IgZ2xvYmFsIHNlcGFyYXRlIGRhdGEgZmlsZXMgaW4gdGhpcyBwYXRo IFtEQVRBRElSL2dkYl1dKV0sIFtnZGJkYXRhZGlyPSIke3dpdGh2YWx9Il0p CisKK0FDX0RFRklORV9ESVIoR0RCX0RBVEFESVIsIGdkYmRhdGFkaXIsCisg ICAgICAgICAgICAgIFtHbG9iYWwgZGlyZWN0b3J5IGZvciBHREIgZGF0YSBm aWxlcy4gXSkKKworaWYgdGVzdCAieCRleGVjX3ByZWZpeCIgPSB4Tk9ORSB8 fCB0ZXN0ICJ4JGV4ZWNfcHJlZml4IiA9ICd4JHtwcmVmaXh9JzsgdGhlbgor ICBpZiB0ZXN0ICJ4JHByZWZpeCIgPSB4Tk9ORTsgdGhlbgorICAgIHRlc3Rf cHJlZml4PS91c3IvbG9jYWwKKyAgZWxzZQorICAgIHRlc3RfcHJlZml4PSRw cmVmaXgKKyAgZmkKK2Vsc2UKKyAgdGVzdF9wcmVmaXg9JGV4ZWNfcHJlZml4 CitmaQorCitjYXNlICR7Z2RiZGF0YWRpcn0gaW4KKyAgIiR7dGVzdF9wcmVm aXh9InwiJHt0ZXN0X3ByZWZpeH0vIip8XAorICAnJHtleGVjX3ByZWZpeH0n fCcke2V4ZWNfcHJlZml4fS8nKikKKyAgICBBQ19ERUZJTkUoR0RCX0RBVEFE SVJfUkVMT0NBVEFCTEUsIDEsIFtEZWZpbmUgaWYgR0RCIGRhdGFkaXIgc2hv dWxkIGJlIHJlbG9jYXRlZCB3aGVuIEdEQiBpcyBtb3ZlZC5dKQorICA7Owor ZXNhYworR0RCX0RBVEFESVJfUEFUSD0ke2dkYmRhdGFkaXJ9CitBQ19TVUJT VChHREJfREFUQURJUl9QQVRIKQorCiBBQ19DT05GSUdfU1VCRElSUyhkb2Mg dGVzdHN1aXRlKQogCiAjIENoZWNrIHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRl cm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLS0tIGEvZ2RiL2NvbmZp Z3VyZS50Z3QKKysrIGIvZ2RiL2NvbmZpZ3VyZS50Z3QKQEAgLTM2LDcgKzM2 LDcgQEAgYWxwaGEqLSotb3NmKikKIGFscGhhKi0qLWxpbnV4KikKIAkjIFRh cmdldDogTGl0dGxlLWVuZGlhbiBBbHBoYSBydW5uaW5nIExpbnV4CiAJZ2Ri X3RhcmdldF9vYnM9ImFscGhhLXRkZXAubyBhbHBoYS1tZGVidWctdGRlcC5v IGFscGhhLWxpbnV4LXRkZXAubyBcCi0JCQlzb2xpYi5vIHNvbGliLXN2cjQu byIKKwkJCXNvbGliLm8gc29saWItc3ZyNC5vIGxpbnV4LXRkZXAubyIKIAk7 OwogYWxwaGEqLSotZnJlZWJzZCogfCBhbHBoYSotKi1rZnJlZWJzZCotZ251 KQogCSMgVGFyZ2V0OiBGcmVlQlNEL2FscGhhCkBAIC02Myw3ICs2Myw3IEBA IGFscGhhKi0qLSopCiBhbTMzXzIuMCotKi1saW51eCopCiAJIyBUYXJnZXQ6 IE1hdHN1c2hpdGEgbW4xMDMwMCAoQU0zMykgcnVubmluZyBMaW51eAogCWdk Yl90YXJnZXRfb2JzPSJtbjEwMzAwLXRkZXAubyBtbjEwMzAwLWxpbnV4LXRk ZXAubyBjb3JlbG93Lm8gXAotCQkJc29saWIubyBzb2xpYi1zdnI0Lm8iCisJ CQlzb2xpYi5vIHNvbGliLXN2cjQubyBsaW51eC10ZGVwLm8iCiAJOzsKIAog YXJtKi13aW5jZS1wZSB8IGFybSotKi1taW5ndzMyY2UqKQpAQCAtMTI4LDcg KzEyOCw3IEBAIGhwcGEqLSotaHB1eCopCiBocHBhKi0qLWxpbnV4KikKIAkj IFRhcmdldDogSFAgUEEtUklTQyBydW5uaW5nIExpbnV4CiAJZ2RiX3Rhcmdl dF9vYnM9ImhwcGEtdGRlcC5vIGhwcGEtbGludXgtdGRlcC5vIGdsaWJjLXRk ZXAubyBcCi0JCQlzb2xpYi5vIHNvbGliLXN2cjQubyBzeW1maWxlLW1lbS5v IgorCQkJc29saWIubyBzb2xpYi1zdnI0Lm8gc3ltZmlsZS1tZW0ubyBsaW51 eC10ZGVwLm8iCiAJOzsKIGhwcGEqLSotbmV0YnNkKikKIAkjIFRhcmdldDog TmV0QlNEL2hwcGEKQEAgLTIxOCw3ICsyMTgsNyBAQCBpWzM0NTY3XTg2LSot KikKIGlhNjQtKi1saW51eCopCiAJIyBUYXJnZXQ6IEludGVsIElBLTY0IHJ1 bm5pbmcgR05VL0xpbnV4CiAJZ2RiX3RhcmdldF9vYnM9ImlhNjQtdGRlcC5v IGlhNjQtbGludXgtdGRlcC5vIFwKLQkJCXNvbGliLm8gc29saWItc3ZyNC5v IHN5bWZpbGUtbWVtLm8iCisJCQlzb2xpYi5vIHNvbGliLXN2cjQubyBzeW1m aWxlLW1lbS5vIGxpbnV4LXRkZXAubyIKIAlidWlsZF9nZGJzZXJ2ZXI9eWVz CiAJOzsKIGlhNjQqLSotKikKQEAgLTI0Miw3ICsyNDIsOCBAQCBtMzJjLSot KikKIG0zMnIqLSotbGludXgqKQogCSMgVGFyZ2V0OiBSZW5lc2FzIE0zMlIg cnVubmluZyBHTlUvTGludXgKIAlnZGJfdGFyZ2V0X29icz0ibTMyci10ZGVw Lm8gbTMyci1saW51eC10ZGVwLm8gcmVtb3RlLW0zMnItc2RpLm8gXAotCQkJ Z2xpYmMtdGRlcC5vIHNvbGliLm8gc29saWItc3ZyNC5vIHN5bWZpbGUtbWVt Lm8iCisJCQlnbGliYy10ZGVwLm8gc29saWIubyBzb2xpYi1zdnI0Lm8gc3lt ZmlsZS1tZW0ubyBcCisJCQlsaW51eC10ZGVwLm8iCiAJZ2RiX3NpbT0uLi9z aW0vbTMyci9saWJzaW0uYQogCWJ1aWxkX2dkYnNlcnZlcj15ZXMKIAk7OwpA QCAtMjY3LDcgKzI2OCw3IEBAIGZpZG8tKi1lbGYqKQogbTY4Ki0qLWxpbnV4 KikKIAkjIFRhcmdldDogTW90b3JvbGEgbTY4ayB3aXRoIGEub3V0IGFuZCBF TEYKIAlnZGJfdGFyZ2V0X29icz0ibTY4ay10ZGVwLm8gbTY4a2xpbnV4LXRk ZXAubyBzb2xpYi5vIHNvbGliLXN2cjQubyBcCi0JCQlnbGliYy10ZGVwLm8g c3ltZmlsZS1tZW0ubyIKKwkJCWdsaWJjLXRkZXAubyBzeW1maWxlLW1lbS5v IGxpbnV4LXRkZXAubyIKIAlidWlsZF9nZGJzZXJ2ZXI9eWVzCiAJOzsKIG02 OCotKi1uZXRic2QqIHwgbTY4Ki0qLWtuZXRic2QqLWdudSkKQEAgLTMwMyw3 ICszMDQsOCBAQCBtaXBzKi1zZ2ktaXJpeDYqKQogbWlwcyotKi1saW51eCop CiAJIyBUYXJnZXQ6IExpbnV4L01JUFMKIAlnZGJfdGFyZ2V0X29icz0ibWlw cy10ZGVwLm8gbWlwcy1saW51eC10ZGVwLm8gZ2xpYmMtdGRlcC5vIFwKLQkJ CWNvcmVsb3cubyBzb2xpYi5vIHNvbGliLXN2cjQubyBzeW1maWxlLW1lbS5v IgorCQkJY29yZWxvdy5vIHNvbGliLm8gc29saWItc3ZyNC5vIHN5bWZpbGUt bWVtLm8gXAorCQkJbGludXgtdGRlcC5vIgogCWdkYl9zaW09Li4vc2ltL21p cHMvbGlic2ltLmEKIAlidWlsZF9nZGJzZXJ2ZXI9eWVzCiAJOzsKQEAgLTM1 NCw3ICszNTYsOCBAQCBwb3dlcnBjLSotYWl4KiB8IHJzNjAwMC0qLSopCiBw b3dlcnBjLSotbGludXgqIHwgcG93ZXJwYzY0LSotbGludXgqKQogCSMgVGFy Z2V0OiBQb3dlclBDIHJ1bm5pbmcgTGludXgKIAlnZGJfdGFyZ2V0X29icz0i cnM2MDAwLXRkZXAubyBwcGMtbGludXgtdGRlcC5vIHBwYy1zeXN2LXRkZXAu byBcCi0JCQlzb2xpYi5vIHNvbGliLXN2cjQubyBjb3JlbG93Lm8gc3ltZmls ZS1tZW0ubyIKKwkJCXNvbGliLm8gc29saWItc3ZyNC5vIGNvcmVsb3cubyBz eW1maWxlLW1lbS5vIFwKKwkJCWxpbnV4LXRkZXAubyIKIAlnZGJfc2ltPS4u L3NpbS9wcGMvbGlic2ltLmEKIAlidWlsZF9nZGJzZXJ2ZXI9eWVzCiAJOzsK QEAgLTM4MSw3ICszODQsOCBAQCBzY29yZS0qLSopCiBzaCotKi1saW51eCop CiAJIyBUYXJnZXQ6IEdOVS9MaW51eCBTdXBlci1ICiAJZ2RiX3RhcmdldF9v YnM9InNoLXRkZXAubyBzaDY0LXRkZXAubyBzaC1saW51eC10ZGVwLm8gbW9u aXRvci5vIFwKLQkJCWRzcmVjLm8gc29saWIubyBzb2xpYi1zdnI0Lm8gc3lt ZmlsZS1tZW0ubyBnbGliYy10ZGVwLm8iCisJCQlkc3JlYy5vIHNvbGliLm8g c29saWItc3ZyNC5vIHN5bWZpbGUtbWVtLm8gZ2xpYmMtdGRlcC5vIFwKKwkJ CWxpbnV4LXRkZXAubyIKIAlnZGJfc2ltPS4uL3NpbS9zaC9saWJzaW0uYQog CWJ1aWxkX2dkYnNlcnZlcj15ZXMKIAk7OwpAQCAtNDA5LDEzICs0MTMsMTQg QEAgc2gqKQogc3BhcmMtKi1saW51eCopCiAJIyBUYXJnZXQ6IEdOVS9MaW51 eCBTUEFSQwogCWdkYl90YXJnZXRfb2JzPSJzcGFyYy10ZGVwLm8gc3BhcmMt c29sMi10ZGVwLm8gc29sMi10ZGVwLm8gXAotCQkJc3BhcmMtbGludXgtdGRl cC5vIHNvbGliLm8gc29saWItc3ZyNC5vIHN5bWZpbGUtbWVtLm8iCisJCQlz cGFyYy1saW51eC10ZGVwLm8gc29saWIubyBzb2xpYi1zdnI0Lm8gc3ltZmls ZS1tZW0ubyBcCisJCQlsaW51eC10ZGVwLm8iCiAJOzsKIHNwYXJjNjQtKi1s aW51eCopCiAJIyBUYXJnZXQ6IEdOVS9MaW51eCBVbHRyYVNQQVJDCiAJZ2Ri X3RhcmdldF9vYnM9InNwYXJjNjQtdGRlcC5vIHNwYXJjNjQtc29sMi10ZGVw Lm8gc29sMi10ZGVwLm8gXAogCQkJc3BhcmM2NC1saW51eC10ZGVwLm8gc3Bh cmMtdGRlcC5vIHNwYXJjLXNvbDItdGRlcC5vIFwKLQkJCXNwYXJjLWxpbnV4 LXRkZXAubyBzb2xpYi5vIHNvbGliLXN2cjQubyIKKwkJCXNwYXJjLWxpbnV4 LXRkZXAubyBzb2xpYi5vIHNvbGliLXN2cjQubyBsaW51eC10ZGVwLm8iCiAJ YnVpbGRfZ2Ric2VydmVyPXllcwogCTs7CiBzcGFyYyotKi1mcmVlYnNkKiB8 IHNwYXJjKi0qLWtmcmVlYnNkKi1nbnUpCkBAIC01NDIsNyArNTQ3LDggQEAg eDg2XzY0LSotb3BlbmJzZCopCiB4dGVuc2EqLSotbGludXgqKQlnZGJfdGFy Z2V0PWxpbnV4CiAJIyBUYXJnZXQ6IEdOVS9MaW51eCBYdGVuc2EKIAlnZGJf dGFyZ2V0X29icz0ieHRlbnNhLXRkZXAubyB4dGVuc2EtY29uZmlnLm8geHRl bnNhLWxpbnV4LXRkZXAubyBcCi0JCQlzb2xpYi5vIHNvbGliLXN2cjQubyBj b3JlbG93Lm8gc3ltZmlsZS1tZW0ubyIKKwkJCXNvbGliLm8gc29saWItc3Zy NC5vIGNvcmVsb3cubyBzeW1maWxlLW1lbS5vIFwKKwkJCWxpbnV4LXRkZXAu byIKIAlidWlsZF9nZGJzZXJ2ZXI9eWVzCiAJOzsKIHh0ZW5zYSopCi0tLSBh L2dkYi9kb2MvZ2RiLnRleGluZm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5m bwpAQCAtMzYzNiw2ICszNjM2LDk4IEBAIEEgZmFpbGVkIEFkYSBhc3NlcnRp b24uCiBBIGNhbGwgdG8gQGNvZGV7ZXhlY30uICBUaGlzIGlzIGN1cnJlbnRs eSBvbmx5IGF2YWlsYWJsZSBmb3IgSFAtVVgKIGFuZCBAc2N7Z251fS9MaW51 eC4KIAorQGl0ZW0gc3lzY2FsbAorQGl0ZW14IHN5c2NhbGwgQHJ7W31AdmFy e25hbWV9IEBye3x9IEB2YXJ7bnVtYmVyfUBye119IEByey4uLn0KK0BjaW5k ZXggYnJlYWsgb24gYSBzeXN0ZW0gY2FsbC4KK0EgY2FsbCB0byBvciByZXR1 cm4gZnJvbSBhIEBjb2Rle3N5c2NhbGx9LiAgSWYgbm8gYXJndW1lbnQgaXMg c3BlY2lmaWVkLAordGhlbiBpdCBjYXRjaGVzIGEgY2FsbCB0byBvciByZXR1 cm4gZnJvbSBhbnkgc3lzdGVtIGNhbGwuCisKK0B2YXJ7bmFtZX0gY2FuIGJl IGFueSB2YWxpZCBzeXN0ZW0gY2FsbCBuYW1lIGluIHRoZSBzeXN0ZW0uICBZ b3UgY2FuCit1c2UgdGhlIEB2YWx1ZXtHREJOfSBjb21tYW5kLWxpbmUgY29t cGxldGlvbiBmYWNpbGl0aWVzIHRvIGxpc3QgdGhlCithdmFpbGFibGUgY2hv aWNlcy4gIEB4cmVme0NvbXBsZXRpb24sLCBDb21tYW5kIENvbXBsZXRpb259 LCBmb3IKK2RldGFpbHMgb24gaG93IHRvIGRvIHRoaXMuCisKK1lvdSBtYXkg YWxzbyBzcGVjaWZ5IHRoZSBzeXN0ZW0gY2FsbCBudW1lcmljYWxseS4gIFRo aXMgbWF5IGJlIHVzZWZ1bAoraWYgQHZhbHVle0dEQk59IGRvZXMgbm90IGZ1 bGx5IHN1cHBvcnQgeW91ciBzeXN0ZW0ncyBsaXN0IG9mIHN5c3RlbQorY2Fs bHMuCisKK1RoZSBleGFtcGxlIGJlbG93IGlsbHVzdHJhdGVzIGhvdyB0aGlz IGNvbW1hbmQgd29ya3MgaWYgeW91IGRvbid0IHByb3ZpZGUKK2FyZ3VtZW50 cyB0byBpdDoKKworQHNtYWxsZXhhbXBsZQorKEB2YWx1ZXtHREJQfSkgY2F0 Y2ggc3lzY2FsbAorQ2F0Y2hwb2ludCAxIChzeXNjYWxsKQorKEB2YWx1ZXtH REJQfSkgcgorU3RhcnRpbmcgcHJvZ3JhbTogL3RtcC9jYXRjaC1zeXNjYWxs CisKK0NhdGNocG9pbnQgMSAoY2FsbCB0byBzeXNjYWxsICdjbG9zZScpLCAw eGZmZmZlNDI0IGluIF9fa2VybmVsX3ZzeXNjYWxsICgpCisoQHZhbHVle0dE QlB9KSBjCitDb250aW51aW5nLgorCitDYXRjaHBvaW50IDEgKHJldHVybmVk IGZyb20gc3lzY2FsbCAnY2xvc2UnKSwgMHhmZmZmZTQyNCBpbiBfX2tlcm5l bF92c3lzY2FsbCAoKQorKEB2YWx1ZXtHREJQfSkKK0BlbmQgc21hbGxleGFt cGxlCisKK0hlcmUgaXMgYW4gZXhhbXBsZSBvZiBjYXRjaGluZyBhIHN5c3Rl bSBjYWxsIGJ5IG5hbWU6CisKK0BzbWFsbGV4YW1wbGUKKyhAdmFsdWV7R0RC UH0pIGNhdGNoIHN5c2NhbGwgY2hyb290CitDYXRjaHBvaW50IDEgKHN5c2Nh bGwocykgJ2Nocm9vdCcpCisoQHZhbHVle0dEQlB9KSByCitTdGFydGluZyBw cm9ncmFtOiAvdG1wL2NhdGNoLXN5c2NhbGwKKworQ2F0Y2hwb2ludCAxIChj YWxsIHRvIHN5c2NhbGwgJ2Nocm9vdCcpLCAweGZmZmZlNDI0IGluIF9fa2Vy bmVsX3ZzeXNjYWxsICgpCisoQHZhbHVle0dEQlB9KSBjCitDb250aW51aW5n LgorCitDYXRjaHBvaW50IDEgKHJldHVybmVkIGZyb20gc3lzY2FsbCAnY2hy b290JyksIDB4ZmZmZmU0MjQgaW4gX19rZXJuZWxfdnN5c2NhbGwgKCkKKyhA dmFsdWV7R0RCUH0pCitAZW5kIHNtYWxsZXhhbXBsZQorCitBbmQgbGFzdCBi dXQgbm90IGxlYXN0LCBhbiBleGFtcGxlIG9mIHNwZWNpZnlpbmcgYSBzeXN0 ZW0gY2FsbAorbnVtZXJpY2FsbHk6CisKK0BzbWFsbGV4YW1wbGUKKyhAdmFs dWV7R0RCUH0pIGNhdGNoIHN5c2NhbGwgMjUyCitDYXRjaHBvaW50IDEgKHN5 c2NhbGwocykgJ2V4aXRfZ3JvdXAnKQorKEB2YWx1ZXtHREJQfSkgcgorU3Rh cnRpbmcgcHJvZ3JhbTogL3RtcC9jYXRjaC1zeXNjYWxsCisKK0NhdGNocG9p bnQgMSAoY2FsbCB0byBzeXNjYWxsICdleGl0X2dyb3VwJyksIDB4ZmZmZmU0 MjQgaW4gX19rZXJuZWxfdnN5c2NhbGwgKCkKKyhAdmFsdWV7R0RCUH0pIGMK K0NvbnRpbnVpbmcuCisKK1Byb2dyYW0gZXhpdGVkIG5vcm1hbGx5LgorKEB2 YWx1ZXtHREJQfSkKK0BlbmQgc21hbGxleGFtcGxlCisKK0lmIHlvdSBjb25m aWd1cmUgQHZhbHVle0dEQk59IHVzaW5nIHRoZSBAc2FtcHstLXdpdGhvdXQt ZXhwYXR9IG9wdGlvbiwKK2l0IHdpbGwgbm90IGJlIGFibGUgdG8gZGlzcGxh eSBzeXNjYWxsIG5hbWVzLiAgQWxzbywgaWYgeW91cgorYXJjaGl0ZWN0dXJl IGRvZXMgbm90IGhhdmUgYW4gWE1MIGZpbGUgZGVzY3JpYmluZyBpdHMgc3lz dGVtIGNhbGxzLAoreW91IHdpbGwgbm90IGJlIGFibGUgdG8gc2VlIHRoZSBz eXNjYWxsIG5hbWVzLiAgSW4gZWl0aGVyIGNhc2UsIHlvdQord2lsbCBzZWUg YSB3YXJuaW5nIGxpa2UgdGhpczoKKworQHNtYWxsZXhhbXBsZQorKEB2YWx1 ZXtHREJQfSkgY2F0Y2ggc3lzY2FsbAord2FybmluZzogQ291bGQgbm90IG9w ZW4gInN5c2NhbGxzL2kzODYtbGludXgueG1sIgord2FybmluZzogQ291bGQg bm90IGxvYWQgdGhlIHN5c2NhbGwgWE1MIGZpbGUgJ3N5c2NhbGxzL2kzODYt bGludXgueG1sJy4KK0dEQiB3aWxsIG5vdCBiZSBhYmxlIHRvIGRpc3BsYXkg c3lzY2FsbCBuYW1lcy4KK0NhdGNocG9pbnQgMSAoc3lzY2FsbCkKKyhAdmFs dWV7R0RCUH0pCitAZW5kIHNtYWxsZXhhbXBsZQorCitPZiBjb3Vyc2UsIHRo ZSBmaWxlIG5hbWUgd2lsbCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHlvdXIgYXJj aGl0ZWN0dXJlIGFuZCBzeXN0ZW0uCisKK1N0aWxsIHVzaW5nIHRoZSBleGFt cGxlIGFib3ZlLCB5b3UgY2FuIGFsc28gdHJ5IHRvIGNhdGNoIGEgc3lzY2Fs bCBieSBpdHMKK251bWJlci4gIEluIHRoaXMgY2FzZSwgeW91IHdvdWxkIHNl ZSBzb21ldGhpbmcgbGlrZToKKworQHNtYWxsZXhhbXBsZQorKEB2YWx1ZXtH REJQfSkgY2F0Y2ggc3lzY2FsbCAyNTIKK0NhdGNocG9pbnQgMSAoc3lzY2Fs bChzKSAyNTIpCitAZW5kIHNtYWxsZXhhbXBsZQorCitBZ2FpbiwgaW4gdGhp cyBjYXNlIEB2YWx1ZXtHREJOfSB3b3VsZCBub3QgYmUgYWJsZSB0byBkaXNw bGF5IHN5c2NhbGwncyBuYW1lcy4KKwogQGl0ZW0gZm9yawogQSBjYWxsIHRv IEBjb2Rle2Zvcmt9LiAgVGhpcyBpcyBjdXJyZW50bHkgb25seSBhdmFpbGFi bGUgZm9yIEhQLVVYCiBhbmQgQHNje2dudX0vTGludXguCi0tLSBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvTWFrZWZpbGUuaW4KKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9NYWtlZmlsZS5pbgpAQCAtMTIsNyArMTIsNyBAQCBF WEVDVVRBQkxFUyA9IGFsbC10eXBlcyBhbm5vdGExIGJpdGZpZWxkCiAJc2Nv cGUgc2VjdGlvbl9jb21tYW5kIHNldHNob3cgc2V0dmFyIHNobWFpbiBzaWdh bGwgc2lnbmFscyBcCiAJc29saWIgc29saWJfc2wgc28taW1wbC1sZCBzby1p bmRyLWNsIFwKIAlzdGVwLWxpbmUgc3RlcC10ZXN0IHN0cnVjdHMgc3RydWN0 czIgXAotCXR3aWNlLXRtcCB2YXJhcmdzIHZmb3JrZWQtcHJvZyB3YXRjaHBv aW50IHdoYXRpcworCXR3aWNlLXRtcCB2YXJhcmdzIHZmb3JrZWQtcHJvZyB3 YXRjaHBvaW50IHdoYXRpcyBjYXRjaC1zeXNjYWxsCiAKIE1JU0NFTExBTkVP VVMgPSBjb3JlbW1hcC5kYXRhIC4uL2Zvb2Jhci5iYXogXAogCXNocjEuc2wg c2hyMi5zbCBzb2xpYl9zbC5zbCBzb2xpYjEuc2wgc29saWIyLnNsCi0tLSAv ZGV2L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1z eXNjYWxsLmMKQEAgLTAsMCArMSwyNSBAQAorLyogVGhpcyBmaWxlIGlzIHVz ZWQgdG8gdGVzdCB0aGUgJ2NhdGNoIHN5c2NhbGwnIGZlYXR1cmUgb24gR0RC LgorCisgICBQbGVhc2UsIGlmIHlvdSBhcmUgZ29pbmcgdG8gZWRpdCB0aGlz IGZpbGUgRE8gTk9UIGNoYW5nZSB0aGUgc3lzY2FsbHMKKyAgIGJlaW5nIGNh bGxlZCAobm9yIHRoZSBvcmRlciBvZiB0aGVtKS4gIElmIHlvdSByZWFsbHkg bXVzdCBkbyB0aGlzLCB0aGVuCisgICB0YWtlIGEgbG9vayBhdCBjYXRjaC1z eXNjYWxsLmV4cCBhbmQgbW9kaWZ5IHRoZXJlIHRvby4KKworICAgV3JpdHRl biBieSBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQGxpbnV4LnZu ZXQuaWJtLmNvbT4KKyAgIFNlcHRlbWJlciwgMjAwOCAqLworCisjaW5jbHVk ZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxz eXMvc3RhdC5oPgorCitpbnQKK21haW4gKHZvaWQpCit7CisJLyogQSBjbG9z ZSgpIHdpdGggYSB3cm9uZyBhcmd1bWVudC4gIFdlIGFyZSBvbmx5CisJICAg aW50ZXJlc3RlZCBpbiB0aGUgc3lzY2FsbC4gICovCisJY2xvc2UgKC0xKTsK KworCWNocm9vdCAoIi4iKTsKKworCS8qIFRoZSBsYXN0IHN5c2NhbGwuICBE byBub3QgY2hhbmdlIHRoaXMuICAqLworCV9leGl0ICgwKTsKK30KLS0tIC9k ZXYvbnVsbAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5 c2NhbGwuZXhwCkBAIC0wLDAgKzEsMzg2IEBACisjICAgQ29weXJpZ2h0IDE5 OTcsIDE5OTksIDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKworIyBUaGlzIHByb2dyYW0g dGVzdHMgdGhlICdjYXRjaCBzeXNjYWxsJyBmdW5jdGlvbmFsaXR5LgorIwor IyBJdCB3YXMgd3JpdHRlbiBieSBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNl cmdpb2RqQGxpbnV4LnZuZXQuaWJtLmNvbT4KKyMgb24gU2VwdGVtYmVyLzIw MDguCisKK2lmIHsgW2lzX3JlbW90ZSB0YXJnZXRdIHx8ICFbaXNuYXRpdmVd IH0gdGhlbiB7CisgICAgY29udGludWUKK30KKworc2V0IHBybXNfaWQgMAor c2V0IGJ1Z19pZCAwCisKK2dsb2JhbCBzcmNmaWxlCitzZXQgdGVzdGZpbGUg ImNhdGNoLXN5c2NhbGwiCitzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCitz ZXQgYmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9CisK KyMgQWxsIChidXQgdGhlIGxhc3QpIHN5c2NhbGxzIGZyb20gdGhlIGV4YW1w bGUgY29kZQorIyBUaGV5IGFyZSBvcmRlcmVkIGFjY29yZGluZyB0byB0aGUg ZmlsZSwgc28gZG8gbm90IGNoYW5nZSB0aGlzLgorc2V0IGFsbF9zeXNjYWxs cyB7ICJjbG9zZSIgImNocm9vdCIgfQorIyBUaGUgbGFzdCBzeXNjYWxsIChl eGl0KCkpIGRvZXMgbm90IHJldHVybiwgc28KKyMgd2UgY2Fubm90IGV4cGVj dCB0aGUgY2F0Y2hwb2ludCB0byBiZSB0cmlnZ2VyZWQKKyMgdHdpY2UuICBJ dCBpcyBhIHNwZWNpYWwgY2FzZS4KK3NldCBsYXN0X3N5c2NhbGwgImV4aXRf Z3JvdXAiCisKK2lmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3Vi ZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGVi dWd9XSAhPSAiIiB9IHsKKyAgICAgdW50ZXN0ZWQgY2F0Y2gtc3lzY2FsbC5l eHAKKyAgICAgcmV0dXJuIC0xCit9CisKKyMgVW50aWwgImNhdGNoIHN5c2Nh bGwiIGlzIGltcGxlbWVudGVkIG9uIG90aGVyIHRhcmdldHMuLi4KK2lmIHsh W2lzdGFyZ2V0ICJocHBhKi1ocC1ocHV4KiJdICYmICFbaXN0YXJnZXQgIiot bGludXgqIl19IHRoZW4geworICAgIGNvbnRpbnVlCit9CisKKyMgVGhpcyBz aGFsbCBiZSB1cGRhdGVkIHdoZW5ldmVyICdjYXRjaCBzeXNjYWxsJyBpcyBp bXBsZW1lbnRlZAorIyBvbiBzb21lIGFyY2hpdGVjdHVyZS4KKyNpZiB7ICFb aXN0YXJnZXQgIng4Nl82NC0qLWxpbnV4KiJdICYmICFbaXN0YXJnZXQgImlc WzM0NTY3XF04Ni0qLWxpbnV4KiJdCitpZiB7ICFbaXN0YXJnZXQgImlcWzM0 NTY3XF04Ni0qLWxpbnV4KiJdCisgICAgICYmICFbaXN0YXJnZXQgInBvd2Vy cGMtKi1saW51eCoiXSAmJiAhW2lzdGFyZ2V0ICJwb3dlcnBjNjQtKi1saW51 eCoiXSB9IHsKKyAgICAgY29udGludWUKK30KKworIyBJbnRlcm5hbCBwcm9j ZWR1cmUgdXNlZCB0byBjaGVjayBpZiwgYmVmb3JlIGFueSBzeXNjYWxsIGlz IGNhdWdodCwKKyMgdGhlIGNvbW1hbmQgJ2luZm8gYnJlYWtwb2ludHMnIGNv cnJlY3RseSBsaXN0cyB0aGUgY2F0Y2hwb2ludHMgQU5ECisjIHNheXMgdGhh dCBub3RoaW5nIHdhcyBjYXVnaHQgeWV0LgorcHJvYyBjaGVja19pbml0X2lu Zm9fYnJlYWtwb2ludHMge30geworICAgIGdsb2JhbCBnZGJfcHJvbXB0CisK KyAgICAjIFZlcmlmeWluZyB0aGF0IHRoZSBjYXRjaHBvaW50IGFwcGVhcnMg aW4gdGhlICdpbmZvIGJyZWFrcG9pbnRzJworICAgICMgY29tbWFuZCwgYnV0 IHdpdGggIjxhbnkgc3lzY2FsbD4iLgorICAgIHNldCB0aGlzdGVzdCAiY2F0 Y2ggc3lzY2FsbCBhcHBlYXJzIGluICdpbmZvIGJyZWFrcG9pbnRzJyIKKyAg ICBnZGJfdGVzdCAiaW5mbyBicmVha3BvaW50cyIgIi4qY2F0Y2hwb2ludC4q a2VlcCB5LipzeXNjYWxsIFwiPGFueSBzeXNjYWxsPlwiLioiICR0aGlzdGVz dAorfQorCisjIFRoaXMgcHJvY2VkdXJlIGNoZWNrcyBpZiwgYWZ0ZXIgYSBz eXNjYWxsIGNhdGNocG9pbnQgaXMgaGl0LCB0aGUKKyMgY29tbWFuZCAnaW5m byBicmVha3BvaW50cycgY29ycmVjdGx5IGxpc3RzIHRoZSBzeXNjYWxsIG5h bWUuCitwcm9jIGNoZWNrX2luZm9fYnJlYWtwb2ludHMgeyBzeXNjYWxsIH0g eworICAgIGdsb2JhbCBnZGJfcHJvbXB0CisKKyAgICBzZXQgdGhpc3Rlc3Qg InN5c2NhbGwgJHN5c2NhbGwgYXBwZWFycyBpbiAnaW5mbyBicmVha3BvaW50 cyciCisgICAgZ2RiX3Rlc3QgImluZm8gYnJlYWtwb2ludHMiICIuKmNhdGNo cG9pbnQuKmtlZXAgeS4qc3lzY2FsbCAoLik/JHtzeXNjYWxsfSguKT8uKiIg JHRoaXN0ZXN0Cit9CisKKyMgVGhpcyBwcm9jZWR1cmUgY2hlY2tzIGlmIHRo ZXJlIHdhcyBhIGNhbGwgdG8gYSBzeXNjYWxsLgorcHJvYyBjaGVja19jYWxs X3RvX3N5c2NhbGwgeyBzeXNjYWxsIH0geworICAgIGdsb2JhbCBnZGJfcHJv bXB0CisKKyAgICBzZXQgdGhpc3Rlc3QgInByb2dyYW0gaGFzIGNhbGxlZCAk c3lzY2FsbCIKKyAgICBnZGJfdGVzdCAiY29udGludWUiICJDYXRjaHBvaW50 IC4qKGNhbGwgdG8gc3lzY2FsbCAuPyR7c3lzY2FsbH0uPykuKiIgJHRoaXN0 ZXN0CisKKyAgICAjIENoZWNraW5nIGlmIHRoZSBzeXNjYWxsIGlzIHJlcG9y dGVkIHRvIGJlIGNhdWdodCBpbgorICAgICMgJ2luZm8gYnJlYWtwb2ludHMn LgorICAgIGNoZWNrX2luZm9fYnJlYWtwb2ludHMgIiRzeXNjYWxsIgorfQor CisjIFRoaXMgcHJvY2VkdXJlIGNoZWNrcyBpZiB0aGUgc3lzY2FsbCByZXR1 cm5lZC4KK3Byb2MgY2hlY2tfcmV0dXJuX2Zyb21fc3lzY2FsbCB7IHN5c2Nh bGwgfSB7CisgICAgZ2xvYmFsIGdkYl9wcm9tcHQKKworICAgIHNldCB0aGlz dGVzdCAic3lzY2FsbCAkc3lzY2FsbCBoYXMgcmV0dXJuZWQiCisgICAgZ2Ri X3Rlc3QgImNvbnRpbnVlIiAiQ2F0Y2hwb2ludCAuKihyZXR1cm5lZCBmcm9t IHN5c2NhbGwgKC4pPyR7c3lzY2FsbH0oLik/KS4qIiAkdGhpc3Rlc3QKKwor ICAgICMgQ2hlY2tpbmcgaWYgdGhlIHN5c2NhbGwgaXMgcmVwb3J0ZWQgdG8g YmUgY2F1Z2h0IGluCisgICAgIyAnaW5mbyBicmVha3BvaW50cycuCisgICAg Y2hlY2tfaW5mb19icmVha3BvaW50cyAiJHN5c2NhbGwiCit9CisKKyMgSW50 ZXJuYWwgcHJvY2VkdXJlIHRoYXQgcGVyZm9ybXMgdHdvICdjb250aW51ZScg Y29tbWFuZHMgYW5kIGNoZWNrcyBpZgorIyBhIHN5c2NhbGwgY2FsbCBBTkQg cmV0dXJuIG9jY3VyLgorcHJvYyBjaGVja19jb250aW51ZSB7IHN5c2NhbGwg fSB7CisgICAgZ2xvYmFsIGdkYl9wcm9tcHQKKworICAgICMgVGVzdGluZyBp ZiB0aGUgJ2NvbnRpbnVlJyBzdG9wcyBhdCB0aGUKKyAgICAjIHNwZWNpZmll ZCBzeXNjYWxsX25hbWUuICBJZiBpdCBkb2VzLCB0aGVuIGl0IHNob3VsZAor ICAgICMgZmlyc3QgcHJpbnQgdGhhdCB0aGUgaW5mZWlvciBoYXMgY2FsbGVk IHRoZSBzeXNjYWxsLAorICAgICMgYW5kIGFmdGVyIHByaW50IHRoYXQgdGhl IHN5c2NhbGwgaGFzIHJldHVybmVkLgorCisgICAgIyBUZXN0aW5nIGlmIHRo ZSBpbmZlcmlvcnIgaGFzIGNhbGxlZCB0aGUgc3lzY2FsbC4KKyAgICBjaGVj a19jYWxsX3RvX3N5c2NhbGwgJHN5c2NhbGwKKyAgICAjIEFuZCBub3csIHRo YXQgdGhlIHN5c2NhbGwgaGFzIHJldHVybmVkLgorICAgIGNoZWNrX3JldHVy bl9mcm9tX3N5c2NhbGwgJHN5c2NhbGwKK30KKworIyBJbnNlcnRzIGEgc3lz Y2FsbCBjYXRjaHBvaW50IHdpdGggYW4gYXJndW1lbnQuCitwcm9jIGluc2Vy dF9jYXRjaF9zeXNjYWxsX3dpdGhfYXJnIHsgc3lzY2FsbCB9IHsKKyAgICBn bG9iYWwgZ2RiX3Byb21wdAorCisgICAgIyBUcnlpbmcgdG8gc2V0IHRoZSBz eXNjYWxsCisgICAgc2V0IHRoaXN0ZXN0ICJjYXRjaCBzeXNjYWxsIHdpdGgg YXJndW1lbnRzICgkc3lzY2FsbCkiCisgICAgZ2RiX3Rlc3QgImNhdGNoIHN5 c2NhbGwgJHN5c2NhbGwiICJDYXRjaHBvaW50IC4qKHN5c2NhbGxcWyhcXXNc WylcXSAoLik/JHtzeXNjYWxsfSguKT8pLioiICR0aGlzdGVzdAorfQorCitw cm9jIGNoZWNrX2Zvcl9wcm9ncmFtX2VuZCB7fSB7CisgICAgZ2xvYmFsIGdk Yl9wcm9tcHQKKworICAgICMgRGVsZXRpbmcgdGhlIGNhdGNocG9pbnRzCisg ICAgZGVsZXRlX2JyZWFrcG9pbnRzCisKKyAgICBzZXQgdGhpc3Rlc3QgInN1 Y2Nlc3NmdWwgcHJvZ3JhbSBlbmQiCisgICAgZ2RiX3Rlc3QgImNvbnRpbnVl IiAiUHJvZ3JhbSBleGl0ZWQgbm9ybWFsbHkuKiIgJHRoaXN0ZXN0CisKK30K KworcHJvYyB0ZXN0X2NhdGNoX3N5c2NhbGxfd2l0aG91dF9hcmdzIHt9IHsK KyAgICBnbG9iYWwgZ2RiX3Byb21wdCBhbGxfc3lzY2FsbHMgbGFzdF9zeXNj YWxsCisKKyAgICAjIFRyeWluZyB0byBzZXQgdGhlIHN5c2NhbGwKKyAgICBz ZXQgdGhpc3Rlc3QgInNldHRpbmcgY2F0Y2ggc3lzY2FsbCB3aXRob3V0IGFy Z3VtZW50cyIKKyAgICBnZGJfdGVzdCAiY2F0Y2ggc3lzY2FsbCIgIkNhdGNo cG9pbnQgLiooc3lzY2FsbCkuKiIgJHRoaXN0ZXN0CisKKyAgICBjaGVja19p bml0X2luZm9fYnJlYWtwb2ludHMKKworICAgICMgV2UgaGF2ZSB0byBjaGVj ayBldmVyeSBzeXNjYWxsCisgICAgZm9yZWFjaCBuYW1lICRhbGxfc3lzY2Fs bHMgeworICAgICAgICBjaGVja19jb250aW51ZSAkbmFtZQorICAgIH0KKwor ICAgICMgQXQgbGFzdCBidXQgbm90IGxlYXN0LCB3ZSBjaGVjayBpZiB0aGUg aW5mZXJpb3IKKyAgICAjIGhhcyBjYWxsZWQgdGhlIGxhc3QgKGV4aXQpIHN5 c2NhbGwuCisgICAgY2hlY2tfY2FsbF90b19zeXNjYWxsICRsYXN0X3N5c2Nh bGwKKworICAgICMgTm93IGxldCdzIHNlZSBpZiB0aGUgaW5mZXJpb3IgY29y cmVjdGx5IGZpbmlzaGVzLgorICAgIGNoZWNrX2Zvcl9wcm9ncmFtX2VuZAor fQorCitwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRoX2FyZ3Mge30gewor ICAgIGdsb2JhbCBnZGJfcHJvbXB0CisgICAgc2V0IHN5c2NhbGxfbmFtZSAi Y2xvc2UiCisKKyAgICBpbnNlcnRfY2F0Y2hfc3lzY2FsbF93aXRoX2FyZyAk c3lzY2FsbF9uYW1lCisgICAgY2hlY2tfaW5pdF9pbmZvX2JyZWFrcG9pbnRz CisKKyAgICAjIENhbiB3ZSBjb250aW51ZSB1bnRpbCB3ZSBjYXRjaCB0aGUg c3lzY2FsbD8KKyAgICBjaGVja19jb250aW51ZSAkc3lzY2FsbF9uYW1lCisK KyAgICAjIE5vdyBsZXQncyBzZWUgaWYgdGhlIGluZmVyaW9yIGNvcnJlY3Rs eSBmaW5pc2hlcy4KKyAgICBjaGVja19mb3JfcHJvZ3JhbV9lbmQKK30KKwor cHJvYyB0ZXN0X2NhdGNoX3N5c2NhbGxfd2l0aF93cm9uZ19hcmdzIHt9IHsK KyAgICBnbG9iYWwgZ2RiX3Byb21wdAorICAgICMgbWxvY2sgaXMgbm90IGNh bGxlZCBmcm9tIHRoZSBzb3VyY2UKKyAgICBzZXQgc3lzY2FsbF9uYW1lICJt bG9jayIKKworICAgIGluc2VydF9jYXRjaF9zeXNjYWxsX3dpdGhfYXJnICRz eXNjYWxsX25hbWUKKyAgICBjaGVja19pbml0X2luZm9fYnJlYWtwb2ludHMK KworICAgICMgTm93LCB3ZSBtdXN0IHZlcmlmeSBpZiB0aGUgcHJvZ3JhbSBz dG9wcyB3aXRoIGEgY29udGludWUuCisgICAgIyBJZiBpdCBkb2Vzbid0LCBl dmVyeXRoaW5nIGlzIHJpZ2h0IChzaW5jZSB3ZSBkb24ndCBoYXZlCisgICAg IyBhIHN5c2NhbGwgbmFtZWQgIm1sb2NrIiBpbiBpdCkuICBPdGhlcndpc2Us IHRoaXMgaXMgYSBmYWlsdXJlLgorICAgIHNldCB0aGlzdGVzdCAiY2F0Y2gg c3lzY2FsbCB3aXRoIHVudXNlZCBzeXNjYWxsICgkc3lzY2FsbF9uYW1lKSIK KyAgICBnZGJfdGVzdCAiY29udGludWUiICJQcm9ncmFtIGV4aXRlZCBub3Jt YWxseS4qIiAkdGhpc3Rlc3QKK30KKworcHJvYyB0ZXN0X2NhdGNoX3N5c2Nh bGxfcmVzdGFydGluZ19pbmZlcmlvciB7fSB7CisgICAgZ2xvYmFsIGdkYl9w cm9tcHQKKyAgICBzZXQgc3lzY2FsbF9uYW1lICJjaHJvb3QiCisKKyAgICBp bnNlcnRfY2F0Y2hfc3lzY2FsbF93aXRoX2FyZyAkc3lzY2FsbF9uYW1lCisg ICAgY2hlY2tfaW5pdF9pbmZvX2JyZWFrcG9pbnRzCisKKyAgICAjIExldCdz IGZpcnN0IHJlYWNoIHRoZSBjYWxsIG9mIHRoZSBzeXNjYWxsLgorICAgIGNo ZWNrX2NhbGxfdG9fc3lzY2FsbCAkc3lzY2FsbF9uYW1lCisKKyAgICAjIE5v dywgcmVzdGFydCB0aGUgcHJvZ3JhbQorICAgIHJlcnVuX3RvX21haW4KKwor ICAgICMgQW5kIGNoZWNrIGZvciBjYWxsL3JldHVybgorICAgIGNoZWNrX2Nv bnRpbnVlICRzeXNjYWxsX25hbWUKKworICAgICMgQ2FuIHdlIGZpbmlzaD8K KyAgICBjaGVja19mb3JfcHJvZ3JhbV9lbmQKK30KKworcHJvYyBkb19zeXNj YWxsX3Rlc3RzIHt9IHsKKyAgICBnbG9iYWwgZ2RiX3Byb21wdCBzcmNkaXIK KworICAgICMgRmlyc3QsIHdlIG5lZWQgdG8gc2V0IEdEQiBkYXRhZGlyLgor ICAgIHNlbmRfZ2RiICJtYWludGVuYW5jZSBzZXQgZ2RiX2RhdGFkaXIgJHNy Y2Rpci8uLlxuIgorICAgIGdkYl9leHBlY3QgMTAgeworCS1yZSAiJGdkYl9w cm9tcHQgJCIgeworCSAgICB2ZXJib3NlICJTZXR0aW5nIEdEQiBkYXRhZGly IHRvICRzcmNkaXIvLi4uIiAyCisJfQorCXRpbWVvdXQgeworCSAgICBlcnJv ciAiQ291bGRuJ3Qgc2V0IEdEQiBkYXRhZGlyLiIKKwl9CisgICAgfQorCisg ICAgIyBWZXJpZnkgdGhhdCB0aGUgJ2NhdGNoIHN5c2NhbGwnIGhlbHAgaXMg YXZhaWxhYmxlCisgICAgc2V0IHRoaXN0ZXN0ICJoZWxwIGNhdGNoIHN5c2Nh bGwiCisgICAgZ2RiX3Rlc3QgImhlbHAgY2F0Y2ggc3lzY2FsbCIgIkNhdGNo IHN5c3RlbSBjYWxscy4qIiAkdGhpc3Rlc3QKKworICAgICMgVHJ5IHRvIHNl dCBhIGNhdGNocG9pbnQgdG8gYSBub25zZW5zZSBzeXNjYWxsCisgICAgc2V0 IHRoaXN0ZXN0ICJjYXRjaCBzeXNjYWxsIHRvIGEgbm9uc2Vuc2Ugc3lzY2Fs bCBpcyBwcm9oaWJpdGVkIgorICAgIGdkYl90ZXN0ICJjYXRjaCBzeXNjYWxs IG5vbnNlbnNlX3N5c2NhbGwiICJVbmtub3duIHN5c2NhbGwgbmFtZSAuKiIg JHRoaXN0ZXN0CisKKyAgICAjIFRlc3RpbmcgdGhlICdjYXRjaCBzeXNjYWxs JyBjb21tYW5kIHdpdGhvdXQgYXJndW1lbnRzLgorICAgICMgVGhpcyB0ZXN0 IHNob3VsZCBjYXRjaCBhbnkgc3lzY2FsbHMuCisgICAgaWYgW3J1bnRvX21h aW5dIHRoZW4geyB0ZXN0X2NhdGNoX3N5c2NhbGxfd2l0aG91dF9hcmdzIH0K KworICAgICMgVGVzdGluZyB0aGUgJ2NhdGNoIHN5c2NhbGwnIGNvbW1hbmQg d2l0aCBhcmd1bWVudHMuCisgICAgIyBUaGlzIHRlc3Qgc2hvdWxkIG9ubHkg Y2F0Y2ggdGhlIHNwZWNpZmllZCBzeXNjYWxsLgorICAgIGlmIFtydW50b19t YWluXSB0aGVuIHsgdGVzdF9jYXRjaF9zeXNjYWxsX3dpdGhfYXJncyB9CisK KyAgICAjIFRlc3RpbmcgdGhlICdjYXRjaCBzeXNjYWxsJyBjb21tYW5kIHdp dGggV1JPTkcgYXJndW1lbnRzLgorICAgICMgVGhpcyB0ZXN0IHNob3VsZCBu b3QgdHJpZ2dlciBhbnkgY2F0Y2hwb2ludHMuCisgICAgaWYgW3J1bnRvX21h aW5dIHRoZW4geyB0ZXN0X2NhdGNoX3N5c2NhbGxfd2l0aF93cm9uZ19hcmdz IH0KKworICAgICMgVGVzdGluZyB0aGUgJ2NhdGNoJyBzeXNjYWxsIGNvbW1h bmQgZHVyaW5nIGEgcmVzdGFydCBvZgorICAgICMgdGhlIGluZmVyaW9yLgor ICAgIGlmIFtydW50b19tYWluXSB0aGVuIHsgdGVzdF9jYXRjaF9zeXNjYWxs X3Jlc3RhcnRpbmdfaW5mZXJpb3IgfQorfQorCitwcm9jIHRlc3RfY2F0Y2hf c3lzY2FsbF9mYWlsX25veG1sIHt9IHsKKyAgICBnbG9iYWwgZ2RiX3Byb21w dAorCisgICAgIyBTYW5pdGl6aW5nLgorICAgIGRlbGV0ZV9icmVha3BvaW50 cworCisgICAgIyBUZXN0aW5nIHRvIHNlZSBpZiB3ZSByZWNlaXZlIGEgd2Fy bmluZyB3aGVuIGNhbGxpbmcgImNhdGNoIHN5c2NhbGwiCisgICAgIyB3aXRo b3V0IFhNTCBzdXBwb3J0LgorICAgIHNldCB0aGlzdGVzdCAiQ2F0Y2ggc3lz Y2FsbCBkaXNwbGF5cyBhIHdhcm5pbmcgd2hlbiB0aGVyZSBpcyBubyBYTUwg c3VwcG9ydCIKKyAgICBnZGJfdGVzdCAiY2F0Y2ggc3lzY2FsbCIgIndhcm5p bmc6IENvdWxkIG5vdCBvcGVuIC4qd2FybmluZzogQ291bGQgbm90IGxvYWQg dGhlIHN5c2NhbGwgWE1MIGZpbGUgLipHREIgd2lsbCBub3QgYmUgYWJsZSB0 byBkaXNwbGF5IHN5c2NhbGwgbmFtZXMuKkNhdGNocG9pbnQgLiooc3lzY2Fs bCkuKiIgJHRoaXN0ZXN0CisKKyAgICAjIFNpbmNlIHRoZSBjYXRjaHBvaW50 IHdhcyBzZXQsIHdlIG11c3QgY2hlY2sgaWYgaXQncyBwcmVzZW50IGF0Cisg ICAgIyAiaW5mbyBicmVha3BvaW50cyIKKyAgICBjaGVja19pbml0X2luZm9f YnJlYWtwb2ludHMKKworICAgICMgU2FuaXRpemluZy4KKyAgICBkZWxldGVf YnJlYWtwb2ludHMKK30KKworcHJvYyB0ZXN0X2NhdGNoX3N5c2NhbGxfd2l0 aG91dF9hcmdzX25veG1sIHt9IHsKKyAgICAjIFdlIHdpbGwgbmVlZCB0aGUg c3lzY2FsbCBuYW1lcyBldmVuIG5vdCB1c2luZyBpdAorICAgICMgYmVjYXVz ZSB3ZSBuZWVkIHRvIGtub3cga25vdyBtYW55IHN5c2NhbGxzIGFyZSBpbgor ICAgICMgdGhlIGV4YW1wbGUgZmlsZS4KKyAgICBnbG9iYWwgZ2RiX3Byb21w dCBhbGxfc3lzY2FsbHMgbGFzdF9zeXNjYWxsCisKKyAgICBkZWxldGVfYnJl YWtwb2ludHMKKworICAgIHNldCB0aGlzdGVzdCAiQ2F0Y2ggc3lzY2FsbCB3 aXRob3V0IGFyZ3VtZW50cyBhbmQgd2l0aG91dCBYTUwgc3VwcG9ydCIKKyAg ICBnZGJfdGVzdCAiY2F0Y2ggc3lzY2FsbCIgIkNhdGNocG9pbnQgLiooc3lz Y2FsbCkuKiIKKworICAgICMgTm93LCB3ZSBzaG91bGQgYmUgYWJsZSB0byBz ZXQgYSBjYXRjaHBvaW50LAorICAgICMgYW5kIEdEQiBzaGFsbCBub3QgZGlz cGxheSB0aGUgd2FybmluZyBhbnltb3JlLgorICAgIGZvcmVhY2ggbmFtZSAk YWxsX3N5c2NhbGxzIHsKKyAgICAgICAgIyBVbmZvcnR1bmF0ZWx5LCB3ZSBk b24ndCBrbm93IHRoZSBzeXNjYWxsIG51bWJlcgorICAgICAgICAjIHRoYXQg d2lsbCBiZSBjYXVnaHQgYmVjYXVzZSB0aGlzIGluZm9ybWF0aW9uIGlzCisg ICAgICAgICMgYXJjaC1kZXBlbmRlbnQuICBUaHVzLCB3ZSB0cnkgdG8gY2F0 Y2ggYW55dGhpbmcKKyAgICAgICAgIyBzaW1pbGFyIHRvIGEgbnVtYmVyLgor ICAgICAgICBjaGVja19jb250aW51ZSAiXFswLTlcXSoiCisgICAgfQorCisg ICAgIyBBdCBsYXN0IGJ1dCBub3QgbGVhc3QsIHdlIGNoZWNrIGlmIHRoZSBp bmZlcmlvcgorICAgICMgaGFzIGNhbGxlZCB0aGUgbGFzdCAoZXhpdCkgc3lz Y2FsbC4KKyAgICBjaGVja19jYWxsX3RvX3N5c2NhbGwgIlxbMC05XF0qIgor CisgICAgZGVsZXRlX2JyZWFrcG9pbnRzCit9CisKK3Byb2MgdGVzdF9jYXRj aF9zeXNjYWxsX3dpdGhfYXJnc19ub3htbCB7fSB7CisgICAgZ2xvYmFsIGdk Yl9wcm9tcHQKKworICAgICMgVGhlIG51bWJlciBvZiB0aGUgImNsb3NlIiBz eXNjYWxsLiAgVGhpcyBpcyBvdXIKKyAgICAjIG9wdGlvbnMgZm9yIGEgImxv bmctZXN0YWJpbGlzaGVkIiBzeXNjYWxsIGluIGFsbAorICAgICMgTGludXgg YXJjaGl0ZWN0dXJlcywgYnV0IHVuZm9ydHVuYXRlbHkgeDg2XzY0IGFuZAor ICAgICMgYSBmZXcgb3RoZXIgcGxhdGZvcm1zIGRvbid0ICJmb2xsb3cgdGhl IGNvbnZlbnRpb24iLgorICAgICMgQmVjYXVzZSBvZiB0aGlzLCB3ZSBuZWVk IHRoaXMgdWdseSBjaGVjayA6LSguCisgICAgc2V0IGNsb3NlX251bWJlciAi IgorICAgIGlmIHsgW2lzdGFyZ2V0ICJ4ODZfNjQtKi1saW51eCoiXSB9IHsK KyAgICAgICAgc2V0IGNsb3NlX251bWJlciAiMyIKKyAgICB9IGVsc2Ugewor ICAgICAgICBzZXQgY2xvc2VfbnVtYmVyICI2IgorICAgIH0KKworICAgIGRl bGV0ZV9icmVha3BvaW50cworCisgICAgaW5zZXJ0X2NhdGNoX3N5c2NhbGxf d2l0aF9hcmcgJGNsb3NlX251bWJlcgorICAgIGNoZWNrX2luaXRfaW5mb19i cmVha3BvaW50cworCisgICAgY2hlY2tfY29udGludWUgJGNsb3NlX251bWJl cgorCisgICAgZGVsZXRlX2JyZWFrcG9pbnRzCit9CisKK3Byb2MgdGVzdF9j YXRjaF9zeXNjYWxsX3dpdGhfd3JvbmdfYXJnc19ub3htbCB7fSB7CisgICAg Z2xvYmFsIGdkYl9wcm9tcHQKKworICAgIGRlbGV0ZV9icmVha3BvaW50cwor CisgICAgIyBFdmVuIHdpdGhvdXQgWE1MIHN1cHBvcnQsIEdEQiBzaG91bGQg bm90IGFjY2VwdCB1bmtub3duCisgICAgIyBzeXNjYWxsIG5hbWVzIGZvciB0 aGUgY2F0Y2hwb2ludC4KKyAgICBzZXQgdGhpc3Rlc3QgIkNhdGNoIGEgbm9u c2Vuc2Ugc3lzY2FsbCB3aXRob3V0IFhNTCBzdXBwb3J0IgorICAgIGdkYl90 ZXN0ICJjYXRjaCBzeXNjYWxsIG5vbnNlbnNlX3N5c2NhbGwiICJVbmtub3du IHN5c2NhbGwgbmFtZSAubm9uc2Vuc2Vfc3lzY2FsbC4qIiAkdGhpc3Rlc3QK KworICAgIGRlbGV0ZV9icmVha3BvaW50cworfQorCitwcm9jIGRvX3N5c2Nh bGxfdGVzdHNfd2l0aG91dF94bWwge30geworICAgIGdsb2JhbCBnZGJfcHJv bXB0IHNyY2RpcgorCisgICAgIyBJbiB0aGlzIGNhc2UsIHdlIGRvbid0IG5l ZWQgdG8gc2V0IEdEQidzIGRhdGFkaXIgYmVjYXVzZQorICAgICMgd2Ugd2Fu dCBHREIgdG8gZGlzcGxheSBvbmx5IG51bWJlcnMsIG5vdCBuYW1lcy4gIFNv LCBsZXQncworICAgICMgYmVnaW4gd2l0aCB0aGUgdGVzdHMuCisKKyAgICAj IFRoZSBmaXJzdCB0ZXN0IGlzIHRvIHNlZSBpZiBHREIgZGlzcGxheXMgYSB3 YXJuaW5nIHdoZW4gd2UKKyAgICAjIHRyeSB0byBjYXRjaCBzeXNjYWxscyB3 aXRob3V0IHRoZSBYTUwgc3VwcG9ydC4KKyAgICB0ZXN0X2NhdGNoX3N5c2Nh bGxfZmFpbF9ub3htbAorCisgICAgIyBOb3csIGxldCdzIHRlc3QgaWYgd2Ug Y2FuIGNhdGNoIHN5c2NhbGxzIHdpdGhvdXQgWE1MIHN1cHBvcnQuCisgICAg IyBXZSBzaG91bGQgc3VjY2VlZCwgYnV0IEdEQiBpcyBub3Qgc3VwcG9zZWQg dG8gcHJpbnQgc3lzY2FsbCBuYW1lcy4KKyAgICBpZiBbcnVudG9fbWFpbl0g dGhlbiB7IHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRob3V0X2FyZ3Nfbm94bWwg fQorCisgICAgIyBUaGUgb25seSB2YWxpZCBhcmd1bWVudCAiY2F0Y2ggc3lz Y2FsbCIgc2hvdWxkIGFjY2VwdCBpcyB0aGUKKyAgICAjIHN5c2NhbGwgbnVt YmVyLCBhbmQgbm90IHRoZSBuYW1lIChzaW5jZSBpdCBjYW4ndCB0cmFuc2xh dGUgYQorICAgICMgbmFtZSB0byBhIG51bWJlcikuCisgICAgIworICAgICMg SXQncyB3b3J0aCBtZW50aW9uaW5nIHRoYXQgd2Ugb25seSB0cnkgdG8gY2F0 Y2ggdGhlIHN5c2NhbGwKKyAgICAjIGNsb3NlKCkuICBUaGlzIGlzIGJlY2F1 c2UgdGhlIHN5c2NhbGwgbnVtYmVyIGlzIGFuIGFyY2gtZGVwZW5kZW50Cisg ICAgIyBpbmZvcm1hdGlvbiwgc28gd2UgY2FuJ3QgYXNzdW1lIHRoYXQgd2Ug a25vdyBldmVyeSBzeXNjYWxsIG51bWJlcgorICAgICMgaW4gdGhpcyBzeXN0 ZW0uICBUaGVyZWZvcmUsIHdlIGhhdmUgZGVjaWRlZCB0byB1c2UgYSAibG9u Zy1lc3RhYmlsaXNoZWQiCisgICAgIyBzeXN0ZW0gY2FsbCwgYW5kIGNsb3Nl KCkganVzdCBzb3VuZGVkIHRoZSByaWdodCBjaG9pY2UgOi0pLgorICAgIGlm IFtydW50b19tYWluXSB0aGVuIHsgdGVzdF9jYXRjaF9zeXNjYWxsX3dpdGhf YXJnc19ub3htbCB9CisKKyAgICAjIE5vdywgd2UnbGwgdHJ5IHRvIHByb3Zp ZGUgYSBzeXNjYWxsIG5hbWUgKHZhbGlkIG9yIG5vdCkgdG8gdGhlIGNvbW1h bmQsCisgICAgIyBhbmQgZXhwZWN0IGl0IHRvIGZhaWwuCisgICAgaWYgW3J1 bnRvX21haW5dIHRoZW4geyB0ZXN0X2NhdGNoX3N5c2NhbGxfd2l0aF93cm9u Z19hcmdzX25veG1sIH0KK30KKworIyBTdGFydCB3aXRoIGEgZnJlc2ggZ2Ri CisKK2dkYl9leGl0CitnZGJfc3RhcnQKK2dkYl9yZWluaXRpYWxpemVfZGly ICRzcmNkaXIvJHN1YmRpcgorZ2RiX2xvYWQgJHtiaW5maWxlfQorCisjIEV4 ZWN1dGUgdGhlIHRlc3RzLCB1c2luZyBYTUwgc3VwcG9ydAorZG9fc3lzY2Fs bF90ZXN0cworCisjIFJlc3RhcnQgZ2RiCisKK2dkYl9leGl0CitnZGJfc3Rh cnQKK2dkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorZ2Ri X2xvYWQgJHtiaW5maWxlfQorCisjIEV4ZWN1dGUgdGhlIHRlc3RzLCB3aXRo b3V0IFhNTCBzdXBwb3J0LiAgSW4gdGhpcyBjYXNlLCBHREIgd2lsbAorIyBv bmx5IGRpc3BsYXkgc3lzY2FsbCBudW1iZXJzLCBhbmQgbm90IHN5c2NhbGwg bmFtZXMuCitkb19zeXNjYWxsX3Rlc3RzX3dpdGhvdXRfeG1sCg== --0016e652ff9a92bd3e0462b37d2f Content-Type: text/x-patch; charset=US-ASCII; name="catch-syscall-xml-support.patch" Content-Disposition: attachment; filename="catch-syscall-xml-support.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fr33tb1t3 Content-length: 74791 ZGlmZiAtLWdpdCBhL2dkYi9zeXNjYWxscy9nZGItc3lzY2FsbHMuZHRkIGIv Z2RiL3N5c2NhbGxzL2dkYi1zeXNjYWxscy5kdGQKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ0MGFiNAotLS0gL2Rldi9udWxsCisr KyBiL2dkYi9zeXNjYWxscy9nZGItc3lzY2FsbHMuZHRkCkBAIC0wLDAgKzEs MjEgQEAKKzwhLS0gQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICAgIENvcHlpbmcgYW5kIGRp c3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2Rp ZmljYXRpb24sCisgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3 aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAorICAgICBu b3RpY2UgYW5kIHRoaXMgbm90aWNlIGFyZSBwcmVzZXJ2ZWQuICAtLT4KKwor PCEtLSBUaGUgcm9vdCBlbGVtZW50IG9mIGEgc3lzY2FsbCBpbmZvIGlzIDxz eXNjYWxsc19pbmZvPi4gIC0tPgorCis8IUVMRU1FTlQgc3lzY2FsbHNfaW5m bwkJKHN5c2NhbGwqKT4KKworPCEtLSBNYXliZSB0aGUgJ251bWJlcicgYXR0 cmlidXRlIHdpbGwgaGF2ZSB0byBiZSBjaGFuZ2VkIGZyb20KKyAgICAgSUQg dG8gQ0RBVEEuICAtLT4KKzwhRUxFTUVOVCBzeXNjYWxsCQlFTVBUWT4KKzwh QVRUTElTVCBzeXNjYWxsCisJbmFtZQkJCUNEQVRBCSNSRVFVSVJFRAorCW51 bWJlcgkJCUlECSNSRVFVSVJFRD4KKworPCFFTEVNRU5UIHhpOmluY2x1ZGUJ KEVNUFRZKT4KKzwhQVRUTElTVCB4aTppbmNsdWRlCisJeG1sbnM6eGkJQ0RB VEEJI0ZJWEVEICJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hJbmNsdWRlIgor CWhyZWYJCUNEQVRBCSNSRVFVSVJFRD4KZGlmZiAtLWdpdCBhL2dkYi9zeXNj YWxscy9pMzg2LWxpbnV4LnhtbCBiL2dkYi9zeXNjYWxscy9pMzg2LWxpbnV4 LnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDQ0 YzdiCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3N5c2NhbGxzL2kzODYtbGlu dXgueG1sCkBAIC0wLDAgKzEsMzM3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAi Pz4KKzwhLS0gQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorCisgICAgIENvcHlpbmcgYW5kIGRpc3Ry aWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj YXRpb24sCisgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3aXRo b3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAorICAgICBub3Rp Y2UgYW5kIHRoaXMgbm90aWNlIGFyZSBwcmVzZXJ2ZWQuICAtLT4KKworPCFE T0NUWVBFIGZlYXR1cmUgU1lTVEVNICJnZGItc3lzY2FsbHMuZHRkIj4KKwor PHN5c2NhbGxzX2luZm8+CisgIDxzeXNjYWxsIG5hbWU9InJlc3RhcnRfc3lz Y2FsbCIgbnVtYmVyPSIwIi8+CisgIDxzeXNjYWxsIG5hbWU9ImV4aXQiIG51 bWJlcj0iMSIvPgorICA8c3lzY2FsbCBuYW1lPSJmb3JrIiBudW1iZXI9IjIi Lz4KKyAgPHN5c2NhbGwgbmFtZT0icmVhZCIgbnVtYmVyPSIzIi8+CisgIDxz eXNjYWxsIG5hbWU9IndyaXRlIiBudW1iZXI9IjQiLz4KKyAgPHN5c2NhbGwg bmFtZT0ib3BlbiIgbnVtYmVyPSI1Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImNs b3NlIiBudW1iZXI9IjYiLz4KKyAgPHN5c2NhbGwgbmFtZT0id2FpdHBpZCIg bnVtYmVyPSI3Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImNyZWF0IiBudW1iZXI9 IjgiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibGluayIgbnVtYmVyPSI5Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InVubGluayIgbnVtYmVyPSIxMCIvPgorICA8c3lz Y2FsbCBuYW1lPSJleGVjdmUiIG51bWJlcj0iMTEiLz4KKyAgPHN5c2NhbGwg bmFtZT0iY2hkaXIiIG51bWJlcj0iMTIiLz4KKyAgPHN5c2NhbGwgbmFtZT0i dGltZSIgbnVtYmVyPSIxMyIvPgorICA8c3lzY2FsbCBuYW1lPSJta25vZCIg bnVtYmVyPSIxNCIvPgorICA8c3lzY2FsbCBuYW1lPSJjaG1vZCIgbnVtYmVy PSIxNSIvPgorICA8c3lzY2FsbCBuYW1lPSJsY2hvd24iIG51bWJlcj0iMTYi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iYnJlYWsiIG51bWJlcj0iMTciLz4KKyAg PHN5c2NhbGwgbmFtZT0ib2xkc3RhdCIgbnVtYmVyPSIxOCIvPgorICA8c3lz Y2FsbCBuYW1lPSJsc2VlayIgbnVtYmVyPSIxOSIvPgorICA8c3lzY2FsbCBu YW1lPSJnZXRwaWQiIG51bWJlcj0iMjAiLz4KKyAgPHN5c2NhbGwgbmFtZT0i bW91bnQiIG51bWJlcj0iMjEiLz4KKyAgPHN5c2NhbGwgbmFtZT0idW1vdW50 IiBudW1iZXI9IjIyIi8+CisgIDxzeXNjYWxsIG5hbWU9InNldHVpZCIgbnVt YmVyPSIyMyIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXR1aWQiIG51bWJlcj0i MjQiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3RpbWUiIG51bWJlcj0iMjUiLz4K KyAgPHN5c2NhbGwgbmFtZT0icHRyYWNlIiBudW1iZXI9IjI2Ii8+CisgIDxz eXNjYWxsIG5hbWU9ImFsYXJtIiBudW1iZXI9IjI3Ii8+CisgIDxzeXNjYWxs IG5hbWU9Im9sZGZzdGF0IiBudW1iZXI9IjI4Ii8+CisgIDxzeXNjYWxsIG5h bWU9InBhdXNlIiBudW1iZXI9IjI5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InV0 aW1lIiBudW1iZXI9IjMwIi8+CisgIDxzeXNjYWxsIG5hbWU9InN0dHkiIG51 bWJlcj0iMzEiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ3R0eSIgbnVtYmVyPSIz MiIvPgorICA8c3lzY2FsbCBuYW1lPSJhY2Nlc3MiIG51bWJlcj0iMzMiLz4K KyAgPHN5c2NhbGwgbmFtZT0ibmljZSIgbnVtYmVyPSIzNCIvPgorICA8c3lz Y2FsbCBuYW1lPSJmdGltZSIgbnVtYmVyPSIzNSIvPgorICA8c3lzY2FsbCBu YW1lPSJzeW5jIiBudW1iZXI9IjM2Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imtp bGwiIG51bWJlcj0iMzciLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVuYW1lIiBu dW1iZXI9IjM4Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1rZGlyIiBudW1iZXI9 IjM5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJtZGlyIiBudW1iZXI9IjQwIi8+ CisgIDxzeXNjYWxsIG5hbWU9ImR1cCIgbnVtYmVyPSI0MSIvPgorICA8c3lz Y2FsbCBuYW1lPSJwaXBlIiBudW1iZXI9IjQyIi8+CisgIDxzeXNjYWxsIG5h bWU9InRpbWVzIiBudW1iZXI9IjQzIi8+CisgIDxzeXNjYWxsIG5hbWU9InBy b2YiIG51bWJlcj0iNDQiLz4KKyAgPHN5c2NhbGwgbmFtZT0iYnJrIiBudW1i ZXI9IjQ1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNldGdpZCIgbnVtYmVyPSI0 NiIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRnaWQiIG51bWJlcj0iNDciLz4K KyAgPHN5c2NhbGwgbmFtZT0ic2lnbmFsIiBudW1iZXI9IjQ4Ii8+CisgIDxz eXNjYWxsIG5hbWU9ImdldGV1aWQiIG51bWJlcj0iNDkiLz4KKyAgPHN5c2Nh bGwgbmFtZT0iZ2V0ZWdpZCIgbnVtYmVyPSI1MCIvPgorICA8c3lzY2FsbCBu YW1lPSJhY2N0IiBudW1iZXI9IjUxIi8+CisgIDxzeXNjYWxsIG5hbWU9InVt b3VudDIiIG51bWJlcj0iNTIiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibG9jayIg bnVtYmVyPSI1MyIvPgorICA8c3lzY2FsbCBuYW1lPSJpb2N0bCIgbnVtYmVy PSI1NCIvPgorICA8c3lzY2FsbCBuYW1lPSJmY250bCIgbnVtYmVyPSI1NSIv PgorICA8c3lzY2FsbCBuYW1lPSJtcHgiIG51bWJlcj0iNTYiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2V0cGdpZCIgbnVtYmVyPSI1NyIvPgorICA8c3lzY2Fs bCBuYW1lPSJ1bGltaXQiIG51bWJlcj0iNTgiLz4KKyAgPHN5c2NhbGwgbmFt ZT0ib2xkb2xkdW5hbWUiIG51bWJlcj0iNTkiLz4KKyAgPHN5c2NhbGwgbmFt ZT0idW1hc2siIG51bWJlcj0iNjAiLz4KKyAgPHN5c2NhbGwgbmFtZT0iY2hy b290IiBudW1iZXI9IjYxIi8+CisgIDxzeXNjYWxsIG5hbWU9InVzdGF0IiBu dW1iZXI9IjYyIi8+CisgIDxzeXNjYWxsIG5hbWU9ImR1cDIiIG51bWJlcj0i NjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cHBpZCIgbnVtYmVyPSI2NCIv PgorICA8c3lzY2FsbCBuYW1lPSJnZXRwZ3JwIiBudW1iZXI9IjY1Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InNldHNpZCIgbnVtYmVyPSI2NiIvPgorICA8c3lz Y2FsbCBuYW1lPSJzaWdhY3Rpb24iIG51bWJlcj0iNjciLz4KKyAgPHN5c2Nh bGwgbmFtZT0ic2dldG1hc2siIG51bWJlcj0iNjgiLz4KKyAgPHN5c2NhbGwg bmFtZT0ic3NldG1hc2siIG51bWJlcj0iNjkiLz4KKyAgPHN5c2NhbGwgbmFt ZT0ic2V0cmV1aWQiIG51bWJlcj0iNzAiLz4KKyAgPHN5c2NhbGwgbmFtZT0i c2V0cmVnaWQiIG51bWJlcj0iNzEiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2ln c3VzcGVuZCIgbnVtYmVyPSI3MiIvPgorICA8c3lzY2FsbCBuYW1lPSJzaWdw ZW5kaW5nIiBudW1iZXI9IjczIi8+CisgIDxzeXNjYWxsIG5hbWU9InNldGhv c3RuYW1lIiBudW1iZXI9Ijc0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNldHJs aW1pdCIgbnVtYmVyPSI3NSIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRybGlt aXQiIG51bWJlcj0iNzYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cnVzYWdl IiBudW1iZXI9Ijc3Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHRpbWVvZmRh eSIgbnVtYmVyPSI3OCIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXR0aW1lb2Zk YXkiIG51bWJlcj0iNzkiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0Z3JvdXBz IiBudW1iZXI9IjgwIi8+CisgIDxzeXNjYWxsIG5hbWU9InNldGdyb3VwcyIg bnVtYmVyPSI4MSIvPgorICA8c3lzY2FsbCBuYW1lPSJzZWxlY3QiIG51bWJl cj0iODIiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3ltbGluayIgbnVtYmVyPSI4 MyIvPgorICA8c3lzY2FsbCBuYW1lPSJvbGRsc3RhdCIgbnVtYmVyPSI4NCIv PgorICA8c3lzY2FsbCBuYW1lPSJyZWFkbGluayIgbnVtYmVyPSI4NSIvPgor ICA8c3lzY2FsbCBuYW1lPSJ1c2VsaWIiIG51bWJlcj0iODYiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic3dhcG9uIiBudW1iZXI9Ijg3Ii8+CisgIDxzeXNjYWxs IG5hbWU9InJlYm9vdCIgbnVtYmVyPSI4OCIvPgorICA8c3lzY2FsbCBuYW1l PSJyZWFkZGlyIiBudW1iZXI9Ijg5Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1t YXAiIG51bWJlcj0iOTAiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXVubWFwIiBu dW1iZXI9IjkxIi8+CisgIDxzeXNjYWxsIG5hbWU9InRydW5jYXRlIiBudW1i ZXI9IjkyIi8+CisgIDxzeXNjYWxsIG5hbWU9ImZ0cnVuY2F0ZSIgbnVtYmVy PSI5MyIvPgorICA8c3lzY2FsbCBuYW1lPSJmY2htb2QiIG51bWJlcj0iOTQi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZmNob3duIiBudW1iZXI9Ijk1Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImdldHByaW9yaXR5IiBudW1iZXI9Ijk2Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InNldHByaW9yaXR5IiBudW1iZXI9Ijk3Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InByb2ZpbCIgbnVtYmVyPSI5OCIvPgorICA8c3lz Y2FsbCBuYW1lPSJzdGF0ZnMiIG51bWJlcj0iOTkiLz4KKyAgPHN5c2NhbGwg bmFtZT0iZnN0YXRmcyIgbnVtYmVyPSIxMDAiLz4KKyAgPHN5c2NhbGwgbmFt ZT0iaW9wZXJtIiBudW1iZXI9IjEwMSIvPgorICA8c3lzY2FsbCBuYW1lPSJz b2NrZXRjYWxsIiBudW1iZXI9IjEwMiIvPgorICA8c3lzY2FsbCBuYW1lPSJz eXNsb2ciIG51bWJlcj0iMTAzIi8+CisgIDxzeXNjYWxsIG5hbWU9InNldGl0 aW1lciIgbnVtYmVyPSIxMDQiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0aXRp bWVyIiBudW1iZXI9IjEwNSIvPgorICA8c3lzY2FsbCBuYW1lPSJzdGF0IiBu dW1iZXI9IjEwNiIvPgorICA8c3lzY2FsbCBuYW1lPSJsc3RhdCIgbnVtYmVy PSIxMDciLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnN0YXQiIG51bWJlcj0iMTA4 Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im9sZHVuYW1lIiBudW1iZXI9IjEwOSIv PgorICA8c3lzY2FsbCBuYW1lPSJpb3BsIiBudW1iZXI9IjExMCIvPgorICA8 c3lzY2FsbCBuYW1lPSJ2aGFuZ3VwIiBudW1iZXI9IjExMSIvPgorICA8c3lz Y2FsbCBuYW1lPSJpZGxlIiBudW1iZXI9IjExMiIvPgorICA8c3lzY2FsbCBu YW1lPSJ2bTg2b2xkIiBudW1iZXI9IjExMyIvPgorICA8c3lzY2FsbCBuYW1l PSJ3YWl0NCIgbnVtYmVyPSIxMTQiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3dh cG9mZiIgbnVtYmVyPSIxMTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3lzaW5m byIgbnVtYmVyPSIxMTYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iaXBjIiBudW1i ZXI9IjExNyIvPgorICA8c3lzY2FsbCBuYW1lPSJmc3luYyIgbnVtYmVyPSIx MTgiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2lncmV0dXJuIiBudW1iZXI9IjEx OSIvPgorICA8c3lzY2FsbCBuYW1lPSJjbG9uZSIgbnVtYmVyPSIxMjAiLz4K KyAgPHN5c2NhbGwgbmFtZT0ic2V0ZG9tYWlubmFtZSIgbnVtYmVyPSIxMjEi Lz4KKyAgPHN5c2NhbGwgbmFtZT0idW5hbWUiIG51bWJlcj0iMTIyIi8+Cisg IDxzeXNjYWxsIG5hbWU9Im1vZGlmeV9sZHQiIG51bWJlcj0iMTIzIi8+Cisg IDxzeXNjYWxsIG5hbWU9ImFkanRpbWV4IiBudW1iZXI9IjEyNCIvPgorICA8 c3lzY2FsbCBuYW1lPSJtcHJvdGVjdCIgbnVtYmVyPSIxMjUiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2lncHJvY21hc2siIG51bWJlcj0iMTI2Ii8+CisgIDxz eXNjYWxsIG5hbWU9ImNyZWF0ZV9tb2R1bGUiIG51bWJlcj0iMTI3Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImluaXRfbW9kdWxlIiBudW1iZXI9IjEyOCIvPgor ICA8c3lzY2FsbCBuYW1lPSJkZWxldGVfbW9kdWxlIiBudW1iZXI9IjEyOSIv PgorICA8c3lzY2FsbCBuYW1lPSJnZXRfa2VybmVsX3N5bXMiIG51bWJlcj0i MTMwIi8+CisgIDxzeXNjYWxsIG5hbWU9InF1b3RhY3RsIiBudW1iZXI9IjEz MSIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRwZ2lkIiBudW1iZXI9IjEzMiIv PgorICA8c3lzY2FsbCBuYW1lPSJmY2hkaXIiIG51bWJlcj0iMTMzIi8+Cisg IDxzeXNjYWxsIG5hbWU9ImJkZmx1c2giIG51bWJlcj0iMTM0Ii8+CisgIDxz eXNjYWxsIG5hbWU9InN5c2ZzIiBudW1iZXI9IjEzNSIvPgorICA8c3lzY2Fs bCBuYW1lPSJwZXJzb25hbGl0eSIgbnVtYmVyPSIxMzYiLz4KKyAgPHN5c2Nh bGwgbmFtZT0iYWZzX3N5c2NhbGwiIG51bWJlcj0iMTM3Ii8+CisgIDxzeXNj YWxsIG5hbWU9InNldGZzdWlkIiBudW1iZXI9IjEzOCIvPgorICA8c3lzY2Fs bCBuYW1lPSJzZXRmc2dpZCIgbnVtYmVyPSIxMzkiLz4KKyAgPHN5c2NhbGwg bmFtZT0iX2xsc2VlayIgbnVtYmVyPSIxNDAiLz4KKyAgPHN5c2NhbGwgbmFt ZT0iZ2V0ZGVudHMiIG51bWJlcj0iMTQxIi8+CisgIDxzeXNjYWxsIG5hbWU9 Il9uZXdzZWxlY3QiIG51bWJlcj0iMTQyIi8+CisgIDxzeXNjYWxsIG5hbWU9 ImZsb2NrIiBudW1iZXI9IjE0MyIvPgorICA8c3lzY2FsbCBuYW1lPSJtc3lu YyIgbnVtYmVyPSIxNDQiLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVhZHYiIG51 bWJlcj0iMTQ1Ii8+CisgIDxzeXNjYWxsIG5hbWU9IndyaXRldiIgbnVtYmVy PSIxNDYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0c2lkIiBudW1iZXI9IjE0 NyIvPgorICA8c3lzY2FsbCBuYW1lPSJmZGF0YXN5bmMiIG51bWJlcj0iMTQ4 Ii8+CisgIDxzeXNjYWxsIG5hbWU9Il9zeXNjdGwiIG51bWJlcj0iMTQ5Ii8+ CisgIDxzeXNjYWxsIG5hbWU9Im1sb2NrIiBudW1iZXI9IjE1MCIvPgorICA8 c3lzY2FsbCBuYW1lPSJtdW5sb2NrIiBudW1iZXI9IjE1MSIvPgorICA8c3lz Y2FsbCBuYW1lPSJtbG9ja2FsbCIgbnVtYmVyPSIxNTIiLz4KKyAgPHN5c2Nh bGwgbmFtZT0ibXVubG9ja2FsbCIgbnVtYmVyPSIxNTMiLz4KKyAgPHN5c2Nh bGwgbmFtZT0ic2NoZWRfc2V0cGFyYW0iIG51bWJlcj0iMTU0Ii8+CisgIDxz eXNjYWxsIG5hbWU9InNjaGVkX2dldHBhcmFtIiBudW1iZXI9IjE1NSIvPgor ICA8c3lzY2FsbCBuYW1lPSJzY2hlZF9zZXRzY2hlZHVsZXIiIG51bWJlcj0i MTU2Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNjaGVkX2dldHNjaGVkdWxlciIg bnVtYmVyPSIxNTciLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2NoZWRfeWllbGQi IG51bWJlcj0iMTU4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNjaGVkX2dldF9w cmlvcml0eV9tYXgiIG51bWJlcj0iMTU5Ii8+CisgIDxzeXNjYWxsIG5hbWU9 InNjaGVkX2dldF9wcmlvcml0eV9taW4iIG51bWJlcj0iMTYwIi8+CisgIDxz eXNjYWxsIG5hbWU9InNjaGVkX3JyX2dldF9pbnRlcnZhbCIgbnVtYmVyPSIx NjEiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibmFub3NsZWVwIiBudW1iZXI9IjE2 MiIvPgorICA8c3lzY2FsbCBuYW1lPSJtcmVtYXAiIG51bWJlcj0iMTYzIi8+ CisgIDxzeXNjYWxsIG5hbWU9InNldHJlc3VpZCIgbnVtYmVyPSIxNjQiLz4K KyAgPHN5c2NhbGwgbmFtZT0iZ2V0cmVzdWlkIiBudW1iZXI9IjE2NSIvPgor ICA8c3lzY2FsbCBuYW1lPSJ2bTg2IiBudW1iZXI9IjE2NiIvPgorICA8c3lz Y2FsbCBuYW1lPSJxdWVyeV9tb2R1bGUiIG51bWJlcj0iMTY3Ii8+CisgIDxz eXNjYWxsIG5hbWU9InBvbGwiIG51bWJlcj0iMTY4Ii8+CisgIDxzeXNjYWxs IG5hbWU9Im5mc3NlcnZjdGwiIG51bWJlcj0iMTY5Ii8+CisgIDxzeXNjYWxs IG5hbWU9InNldHJlc2dpZCIgbnVtYmVyPSIxNzAiLz4KKyAgPHN5c2NhbGwg bmFtZT0iZ2V0cmVzZ2lkIiBudW1iZXI9IjE3MSIvPgorICA8c3lzY2FsbCBu YW1lPSJwcmN0bCIgbnVtYmVyPSIxNzIiLz4KKyAgPHN5c2NhbGwgbmFtZT0i cnRfc2lncmV0dXJuIiBudW1iZXI9IjE3MyIvPgorICA8c3lzY2FsbCBuYW1l PSJydF9zaWdhY3Rpb24iIG51bWJlcj0iMTc0Ii8+CisgIDxzeXNjYWxsIG5h bWU9InJ0X3NpZ3Byb2NtYXNrIiBudW1iZXI9IjE3NSIvPgorICA8c3lzY2Fs bCBuYW1lPSJydF9zaWdwZW5kaW5nIiBudW1iZXI9IjE3NiIvPgorICA8c3lz Y2FsbCBuYW1lPSJydF9zaWd0aW1lZHdhaXQiIG51bWJlcj0iMTc3Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InJ0X3NpZ3F1ZXVlaW5mbyIgbnVtYmVyPSIxNzgi Lz4KKyAgPHN5c2NhbGwgbmFtZT0icnRfc2lnc3VzcGVuZCIgbnVtYmVyPSIx NzkiLz4KKyAgPHN5c2NhbGwgbmFtZT0icHJlYWQ2NCIgbnVtYmVyPSIxODAi Lz4KKyAgPHN5c2NhbGwgbmFtZT0icHdyaXRlNjQiIG51bWJlcj0iMTgxIi8+ CisgIDxzeXNjYWxsIG5hbWU9ImNob3duIiBudW1iZXI9IjE4MiIvPgorICA8 c3lzY2FsbCBuYW1lPSJnZXRjd2QiIG51bWJlcj0iMTgzIi8+CisgIDxzeXNj YWxsIG5hbWU9ImNhcGdldCIgbnVtYmVyPSIxODQiLz4KKyAgPHN5c2NhbGwg bmFtZT0iY2Fwc2V0IiBudW1iZXI9IjE4NSIvPgorICA8c3lzY2FsbCBuYW1l PSJzaWdhbHRzdGFjayIgbnVtYmVyPSIxODYiLz4KKyAgPHN5c2NhbGwgbmFt ZT0ic2VuZGZpbGUiIG51bWJlcj0iMTg3Ii8+CisgIDxzeXNjYWxsIG5hbWU9 ImdldHBtc2ciIG51bWJlcj0iMTg4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InB1 dHBtc2ciIG51bWJlcj0iMTg5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InZmb3Jr IiBudW1iZXI9IjE5MCIvPgorICA8c3lzY2FsbCBuYW1lPSJ1Z2V0cmxpbWl0 IiBudW1iZXI9IjE5MSIvPgorICA8c3lzY2FsbCBuYW1lPSJtbWFwMiIgbnVt YmVyPSIxOTIiLz4KKyAgPHN5c2NhbGwgbmFtZT0idHJ1bmNhdGU2NCIgbnVt YmVyPSIxOTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnRydW5jYXRlNjQiIG51 bWJlcj0iMTk0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN0YXQ2NCIgbnVtYmVy PSIxOTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibHN0YXQ2NCIgbnVtYmVyPSIx OTYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnN0YXQ2NCIgbnVtYmVyPSIxOTci Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibGNob3duMzIiIG51bWJlcj0iMTk4Ii8+ CisgIDxzeXNjYWxsIG5hbWU9ImdldHVpZDMyIiBudW1iZXI9IjE5OSIvPgor ICA8c3lzY2FsbCBuYW1lPSJnZXRnaWQzMiIgbnVtYmVyPSIyMDAiLz4KKyAg PHN5c2NhbGwgbmFtZT0iZ2V0ZXVpZDMyIiBudW1iZXI9IjIwMSIvPgorICA8 c3lzY2FsbCBuYW1lPSJnZXRlZ2lkMzIiIG51bWJlcj0iMjAyIi8+CisgIDxz eXNjYWxsIG5hbWU9InNldHJldWlkMzIiIG51bWJlcj0iMjAzIi8+CisgIDxz eXNjYWxsIG5hbWU9InNldHJlZ2lkMzIiIG51bWJlcj0iMjA0Ii8+CisgIDxz eXNjYWxsIG5hbWU9ImdldGdyb3VwczMyIiBudW1iZXI9IjIwNSIvPgorICA8 c3lzY2FsbCBuYW1lPSJzZXRncm91cHMzMiIgbnVtYmVyPSIyMDYiLz4KKyAg PHN5c2NhbGwgbmFtZT0iZmNob3duMzIiIG51bWJlcj0iMjA3Ii8+CisgIDxz eXNjYWxsIG5hbWU9InNldHJlc3VpZDMyIiBudW1iZXI9IjIwOCIvPgorICA8 c3lzY2FsbCBuYW1lPSJnZXRyZXN1aWQzMiIgbnVtYmVyPSIyMDkiLz4KKyAg PHN5c2NhbGwgbmFtZT0ic2V0cmVzZ2lkMzIiIG51bWJlcj0iMjEwIi8+Cisg IDxzeXNjYWxsIG5hbWU9ImdldHJlc2dpZDMyIiBudW1iZXI9IjIxMSIvPgor ICA8c3lzY2FsbCBuYW1lPSJjaG93bjMyIiBudW1iZXI9IjIxMiIvPgorICA8 c3lzY2FsbCBuYW1lPSJzZXR1aWQzMiIgbnVtYmVyPSIyMTMiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2V0Z2lkMzIiIG51bWJlcj0iMjE0Ii8+CisgIDxzeXNj YWxsIG5hbWU9InNldGZzdWlkMzIiIG51bWJlcj0iMjE1Ii8+CisgIDxzeXNj YWxsIG5hbWU9InNldGZzZ2lkMzIiIG51bWJlcj0iMjE2Ii8+CisgIDxzeXNj YWxsIG5hbWU9InBpdm90X3Jvb3QiIG51bWJlcj0iMjE3Ii8+CisgIDxzeXNj YWxsIG5hbWU9Im1pbmNvcmUiIG51bWJlcj0iMjE4Ii8+CisgIDxzeXNjYWxs IG5hbWU9Im1hZHZpc2UiIG51bWJlcj0iMjE5Ii8+CisgIDxzeXNjYWxsIG5h bWU9Im1hZHZpc2UxIiBudW1iZXI9IjIyMCIvPgorICA8c3lzY2FsbCBuYW1l PSJnZXRkZW50czY0IiBudW1iZXI9IjIyMSIvPgorICA8c3lzY2FsbCBuYW1l PSJmY250bDY0IiBudW1iZXI9IjIyMiIvPgorICA8c3lzY2FsbCBuYW1lPSIi IG51bWJlcj0iMjIzIi8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHRpZCIgbnVt YmVyPSIyMjQiLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVhZGFoZWFkIiBudW1i ZXI9IjIyNSIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXR4YXR0ciIgbnVtYmVy PSIyMjYiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibHNldHhhdHRyIiBudW1iZXI9 IjIyNyIvPgorICA8c3lzY2FsbCBuYW1lPSJmc2V0eGF0dHIiIG51bWJlcj0i MjI4Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHhhdHRyIiBudW1iZXI9IjIy OSIvPgorICA8c3lzY2FsbCBuYW1lPSJsZ2V0eGF0dHIiIG51bWJlcj0iMjMw Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZnZXR4YXR0ciIgbnVtYmVyPSIyMzEi Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibGlzdHhhdHRyIiBudW1iZXI9IjIzMiIv PgorICA8c3lzY2FsbCBuYW1lPSJsbGlzdHhhdHRyIiBudW1iZXI9IjIzMyIv PgorICA8c3lzY2FsbCBuYW1lPSJmbGlzdHhhdHRyIiBudW1iZXI9IjIzNCIv PgorICA8c3lzY2FsbCBuYW1lPSJyZW1vdmV4YXR0ciIgbnVtYmVyPSIyMzUi Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibHJlbW92ZXhhdHRyIiBudW1iZXI9IjIz NiIvPgorICA8c3lzY2FsbCBuYW1lPSJmcmVtb3ZleGF0dHIiIG51bWJlcj0i MjM3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InRraWxsIiBudW1iZXI9IjIzOCIv PgorICA8c3lzY2FsbCBuYW1lPSJzZW5kZmlsZTY0IiBudW1iZXI9IjIzOSIv PgorICA8c3lzY2FsbCBuYW1lPSJmdXRleCIgbnVtYmVyPSIyNDAiLz4KKyAg PHN5c2NhbGwgbmFtZT0ic2NoZWRfc2V0YWZmaW5pdHkiIG51bWJlcj0iMjQx Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNjaGVkX2dldGFmZmluaXR5IiBudW1i ZXI9IjI0MiIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRfdGhyZWFkX2FyZWEi IG51bWJlcj0iMjQzIi8+CisgIDxzeXNjYWxsIG5hbWU9ImdldF90aHJlYWRf YXJlYSIgbnVtYmVyPSIyNDQiLz4KKyAgPHN5c2NhbGwgbmFtZT0iaW9fc2V0 dXAiIG51bWJlcj0iMjQ1Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImlvX2Rlc3Ry b3kiIG51bWJlcj0iMjQ2Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImlvX2dldGV2 ZW50cyIgbnVtYmVyPSIyNDciLz4KKyAgPHN5c2NhbGwgbmFtZT0iaW9fc3Vi bWl0IiBudW1iZXI9IjI0OCIvPgorICA8c3lzY2FsbCBuYW1lPSJpb19jYW5j ZWwiIG51bWJlcj0iMjQ5Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZhZHZpc2U2 NCIgbnVtYmVyPSIyNTAiLz4KKyAgPHN5c2NhbGwgbmFtZT0iIiBudW1iZXI9 IjI1MSIvPgorICA8c3lzY2FsbCBuYW1lPSJleGl0X2dyb3VwIiBudW1iZXI9 IjI1MiIvPgorICA8c3lzY2FsbCBuYW1lPSJsb29rdXBfZGNvb2tpZSIgbnVt YmVyPSIyNTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZXBvbGxfY3JlYXRlIiBu dW1iZXI9IjI1NCIvPgorICA8c3lzY2FsbCBuYW1lPSJlcG9sbF9jdGwiIG51 bWJlcj0iMjU1Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImVwb2xsX3dhaXQiIG51 bWJlcj0iMjU2Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlbWFwX2ZpbGVfcGFn ZXMiIG51bWJlcj0iMjU3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNldF90aWRf YWRkcmVzcyIgbnVtYmVyPSIyNTgiLz4KKyAgPHN5c2NhbGwgbmFtZT0idGlt ZXJfY3JlYXRlIiBudW1iZXI9IjI1OSIvPgorICA8c3lzY2FsbCBuYW1lPSJ0 aW1lcl9zZXR0aW1lIiBudW1iZXI9IjI2MCIvPgorICA8c3lzY2FsbCBuYW1l PSJ0aW1lcl9nZXR0aW1lIiBudW1iZXI9IjI2MSIvPgorICA8c3lzY2FsbCBu YW1lPSJ0aW1lcl9nZXRvdmVycnVuIiBudW1iZXI9IjI2MiIvPgorICA8c3lz Y2FsbCBuYW1lPSJ0aW1lcl9kZWxldGUiIG51bWJlcj0iMjYzIi8+CisgIDxz eXNjYWxsIG5hbWU9ImNsb2NrX3NldHRpbWUiIG51bWJlcj0iMjY0Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImNsb2NrX2dldHRpbWUiIG51bWJlcj0iMjY1Ii8+ CisgIDxzeXNjYWxsIG5hbWU9ImNsb2NrX2dldHJlcyIgbnVtYmVyPSIyNjYi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iY2xvY2tfbmFub3NsZWVwIiBudW1iZXI9 IjI2NyIvPgorICA8c3lzY2FsbCBuYW1lPSJzdGF0ZnM2NCIgbnVtYmVyPSIy NjgiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnN0YXRmczY0IiBudW1iZXI9IjI2 OSIvPgorICA8c3lzY2FsbCBuYW1lPSJ0Z2tpbGwiIG51bWJlcj0iMjcwIi8+ CisgIDxzeXNjYWxsIG5hbWU9InV0aW1lcyIgbnVtYmVyPSIyNzEiLz4KKyAg PHN5c2NhbGwgbmFtZT0iZmFkdmlzZTY0XzY0IiBudW1iZXI9IjI3MiIvPgor ICA8c3lzY2FsbCBuYW1lPSJ2c2VydmVyIiBudW1iZXI9IjI3MyIvPgorICA8 c3lzY2FsbCBuYW1lPSJtYmluZCIgbnVtYmVyPSIyNzQiLz4KKyAgPHN5c2Nh bGwgbmFtZT0iZ2V0X21lbXBvbGljeSIgbnVtYmVyPSIyNzUiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2V0X21lbXBvbGljeSIgbnVtYmVyPSIyNzYiLz4KKyAg PHN5c2NhbGwgbmFtZT0ibXFfb3BlbiIgbnVtYmVyPSIyNzciLz4KKyAgPHN5 c2NhbGwgbmFtZT0ibXFfdW5saW5rIiBudW1iZXI9IjI3OCIvPgorICA8c3lz Y2FsbCBuYW1lPSJtcV90aW1lZHNlbmQiIG51bWJlcj0iMjc5Ii8+CisgIDxz eXNjYWxsIG5hbWU9Im1xX3RpbWVkcmVjZWl2ZSIgbnVtYmVyPSIyODAiLz4K KyAgPHN5c2NhbGwgbmFtZT0ibXFfbm90aWZ5IiBudW1iZXI9IjI4MSIvPgor ICA8c3lzY2FsbCBuYW1lPSJtcV9nZXRzZXRhdHRyIiBudW1iZXI9IjI4MiIv PgorICA8c3lzY2FsbCBuYW1lPSJrZXhlY19sb2FkIiBudW1iZXI9IjI4MyIv PgorICA8c3lzY2FsbCBuYW1lPSJ3YWl0aWQiIG51bWJlcj0iMjg0Ii8+Cisg IDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIyODUiLz4KKyAgPHN5c2NhbGwg bmFtZT0iYWRkX2tleSIgbnVtYmVyPSIyODYiLz4KKyAgPHN5c2NhbGwgbmFt ZT0icmVxdWVzdF9rZXkiIG51bWJlcj0iMjg3Ii8+CisgIDxzeXNjYWxsIG5h bWU9ImtleWN0bCIgbnVtYmVyPSIyODgiLz4KKyAgPHN5c2NhbGwgbmFtZT0i aW9wcmlvX3NldCIgbnVtYmVyPSIyODkiLz4KKyAgPHN5c2NhbGwgbmFtZT0i aW9wcmlvX2dldCIgbnVtYmVyPSIyOTAiLz4KKyAgPHN5c2NhbGwgbmFtZT0i aW5vdGlmeV9pbml0IiBudW1iZXI9IjI5MSIvPgorICA8c3lzY2FsbCBuYW1l PSJpbm90aWZ5X2FkZF93YXRjaCIgbnVtYmVyPSIyOTIiLz4KKyAgPHN5c2Nh bGwgbmFtZT0iaW5vdGlmeV9ybV93YXRjaCIgbnVtYmVyPSIyOTMiLz4KKyAg PHN5c2NhbGwgbmFtZT0ibWlncmF0ZV9wYWdlcyIgbnVtYmVyPSIyOTQiLz4K KyAgPHN5c2NhbGwgbmFtZT0ib3BlbmF0IiBudW1iZXI9IjI5NSIvPgorICA8 c3lzY2FsbCBuYW1lPSJta2RpcmF0IiBudW1iZXI9IjI5NiIvPgorICA8c3lz Y2FsbCBuYW1lPSJta25vZGF0IiBudW1iZXI9IjI5NyIvPgorICA8c3lzY2Fs bCBuYW1lPSJmY2hvd25hdCIgbnVtYmVyPSIyOTgiLz4KKyAgPHN5c2NhbGwg bmFtZT0iZnV0aW1lc2F0IiBudW1iZXI9IjI5OSIvPgorICA8c3lzY2FsbCBu YW1lPSJmc3RhdGF0NjQiIG51bWJlcj0iMzAwIi8+CisgIDxzeXNjYWxsIG5h bWU9InVubGlua2F0IiBudW1iZXI9IjMwMSIvPgorICA8c3lzY2FsbCBuYW1l PSJyZW5hbWVhdCIgbnVtYmVyPSIzMDIiLz4KKyAgPHN5c2NhbGwgbmFtZT0i bGlua2F0IiBudW1iZXI9IjMwMyIvPgorICA8c3lzY2FsbCBuYW1lPSJzeW1s aW5rYXQiIG51bWJlcj0iMzA0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlYWRs aW5rYXQiIG51bWJlcj0iMzA1Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZjaG1v ZGF0IiBudW1iZXI9IjMwNiIvPgorICA8c3lzY2FsbCBuYW1lPSJmYWNjZXNz YXQiIG51bWJlcj0iMzA3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InBzZWxlY3Q2 IiBudW1iZXI9IjMwOCIvPgorICA8c3lzY2FsbCBuYW1lPSJwcG9sbCIgbnVt YmVyPSIzMDkiLz4KKyAgPHN5c2NhbGwgbmFtZT0idW5zaGFyZSIgbnVtYmVy PSIzMTAiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0X3JvYnVzdF9saXN0IiBu dW1iZXI9IjMxMSIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRfcm9idXN0X2xp c3QiIG51bWJlcj0iMzEyIi8+CisgIDxzeXNjYWxsIG5hbWU9InNwbGljZSIg bnVtYmVyPSIzMTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3luY19maWxlX3Jh bmdlIiBudW1iZXI9IjMxNCIvPgorICA8c3lzY2FsbCBuYW1lPSJ0ZWUiIG51 bWJlcj0iMzE1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InZtc3BsaWNlIiBudW1i ZXI9IjMxNiIvPgorICA8c3lzY2FsbCBuYW1lPSJtb3ZlX3BhZ2VzIiBudW1i ZXI9IjMxNyIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRjcHUiIG51bWJlcj0i MzE4Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImVwb2xsX3B3YWl0IiBudW1iZXI9 IjMxOSIvPgorICA8c3lzY2FsbCBuYW1lPSJ1dGltZW5zYXQiIG51bWJlcj0i MzIwIi8+CisgIDxzeXNjYWxsIG5hbWU9InNpZ25hbGZkIiBudW1iZXI9IjMy MSIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1lcmZkX2NyZWF0ZSIgbnVtYmVy PSIzMjIiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZXZlbnRmZCIgbnVtYmVyPSIz MjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZmFsbG9jYXRlIiBudW1iZXI9IjMy NCIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1lcmZkX3NldHRpbWUiIG51bWJl cj0iMzI1Ii8+Cis8L3N5c2NhbGxzX2luZm8+CmRpZmYgLS1naXQgYS9nZGIv c3lzY2FsbHMvcHBjLWxpbnV4LnhtbCBiL2dkYi9zeXNjYWxscy9wcGMtbGlu dXgueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRh Yzc5NGYKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIvc3lzY2FsbHMvcHBjLWxp bnV4LnhtbApAQCAtMCwwICsxLDMxMiBAQAorPD94bWwgdmVyc2lvbj0iMS4w Ij8+Cis8IS0tIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgICBDb3B5aW5nIGFuZCBkaXN0 cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp Y2F0aW9uLAorICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0 aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKKyAgICAgbm90 aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiAgLS0+CisKKzwh RE9DVFlQRSBmZWF0dXJlIFNZU1RFTSAiZ2RiLXN5c2NhbGxzLmR0ZCI+CisK KzxzeXNjYWxsc19pbmZvPgorICA8c3lzY2FsbCBuYW1lPSJyZXN0YXJ0X3N5 c2NhbGwiIG51bWJlcj0iMCIvPgorICA8c3lzY2FsbCBuYW1lPSJleGl0IiBu dW1iZXI9IjEiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZm9yayIgbnVtYmVyPSIy Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlYWQiIG51bWJlcj0iMyIvPgorICA8 c3lzY2FsbCBuYW1lPSJ3cml0ZSIgbnVtYmVyPSI0Ii8+CisgIDxzeXNjYWxs IG5hbWU9Im9wZW4iIG51bWJlcj0iNSIvPgorICA8c3lzY2FsbCBuYW1lPSJj bG9zZSIgbnVtYmVyPSI2Ii8+CisgIDxzeXNjYWxsIG5hbWU9IndhaXRwaWQi IG51bWJlcj0iNyIvPgorICA8c3lzY2FsbCBuYW1lPSJjcmVhdCIgbnVtYmVy PSI4Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImxpbmsiIG51bWJlcj0iOSIvPgor ICA8c3lzY2FsbCBuYW1lPSJ1bmxpbmsiIG51bWJlcj0iMTAiLz4KKyAgPHN5 c2NhbGwgbmFtZT0iZXhlY3ZlIiBudW1iZXI9IjExIi8+CisgIDxzeXNjYWxs IG5hbWU9ImNoZGlyIiBudW1iZXI9IjEyIi8+CisgIDxzeXNjYWxsIG5hbWU9 InRpbWUiIG51bWJlcj0iMTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibWtub2Qi IG51bWJlcj0iMTQiLz4KKyAgPHN5c2NhbGwgbmFtZT0iY2htb2QiIG51bWJl cj0iMTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibGNob3duIiBudW1iZXI9IjE2 Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImJyZWFrIiBudW1iZXI9IjE3Ii8+Cisg IDxzeXNjYWxsIG5hbWU9Im9sZHN0YXQiIG51bWJlcj0iMTgiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ibHNlZWsiIG51bWJlcj0iMTkiLz4KKyAgPHN5c2NhbGwg bmFtZT0iZ2V0cGlkIiBudW1iZXI9IjIwIi8+CisgIDxzeXNjYWxsIG5hbWU9 Im1vdW50IiBudW1iZXI9IjIxIi8+CisgIDxzeXNjYWxsIG5hbWU9InVtb3Vu dCIgbnVtYmVyPSIyMiIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXR1aWQiIG51 bWJlcj0iMjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0dWlkIiBudW1iZXI9 IjI0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN0aW1lIiBudW1iZXI9IjI1Ii8+ CisgIDxzeXNjYWxsIG5hbWU9InB0cmFjZSIgbnVtYmVyPSIyNiIvPgorICA8 c3lzY2FsbCBuYW1lPSJhbGFybSIgbnVtYmVyPSIyNyIvPgorICA8c3lzY2Fs bCBuYW1lPSJvbGRmc3RhdCIgbnVtYmVyPSIyOCIvPgorICA8c3lzY2FsbCBu YW1lPSJwYXVzZSIgbnVtYmVyPSIyOSIvPgorICA8c3lzY2FsbCBuYW1lPSJ1 dGltZSIgbnVtYmVyPSIzMCIvPgorICA8c3lzY2FsbCBuYW1lPSJzdHR5IiBu dW1iZXI9IjMxIi8+CisgIDxzeXNjYWxsIG5hbWU9Imd0dHkiIG51bWJlcj0i MzIiLz4KKyAgPHN5c2NhbGwgbmFtZT0iYWNjZXNzIiBudW1iZXI9IjMzIi8+ CisgIDxzeXNjYWxsIG5hbWU9Im5pY2UiIG51bWJlcj0iMzQiLz4KKyAgPHN5 c2NhbGwgbmFtZT0iZnRpbWUiIG51bWJlcj0iMzUiLz4KKyAgPHN5c2NhbGwg bmFtZT0ic3luYyIgbnVtYmVyPSIzNiIvPgorICA8c3lzY2FsbCBuYW1lPSJr aWxsIiBudW1iZXI9IjM3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlbmFtZSIg bnVtYmVyPSIzOCIvPgorICA8c3lzY2FsbCBuYW1lPSJta2RpciIgbnVtYmVy PSIzOSIvPgorICA8c3lzY2FsbCBuYW1lPSJybWRpciIgbnVtYmVyPSI0MCIv PgorICA8c3lzY2FsbCBuYW1lPSJkdXAiIG51bWJlcj0iNDEiLz4KKyAgPHN5 c2NhbGwgbmFtZT0icGlwZSIgbnVtYmVyPSI0MiIvPgorICA8c3lzY2FsbCBu YW1lPSJ0aW1lcyIgbnVtYmVyPSI0MyIvPgorICA8c3lzY2FsbCBuYW1lPSJw cm9mIiBudW1iZXI9IjQ0Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImJyayIgbnVt YmVyPSI0NSIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRnaWQiIG51bWJlcj0i NDYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0Z2lkIiBudW1iZXI9IjQ3Ii8+ CisgIDxzeXNjYWxsIG5hbWU9InNpZ25hbCIgbnVtYmVyPSI0OCIvPgorICA8 c3lzY2FsbCBuYW1lPSJnZXRldWlkIiBudW1iZXI9IjQ5Ii8+CisgIDxzeXNj YWxsIG5hbWU9ImdldGVnaWQiIG51bWJlcj0iNTAiLz4KKyAgPHN5c2NhbGwg bmFtZT0iYWNjdCIgbnVtYmVyPSI1MSIvPgorICA8c3lzY2FsbCBuYW1lPSJ1 bW91bnQyIiBudW1iZXI9IjUyIi8+CisgIDxzeXNjYWxsIG5hbWU9ImxvY2si IG51bWJlcj0iNTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iaW9jdGwiIG51bWJl cj0iNTQiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZmNudGwiIG51bWJlcj0iNTUi Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibXB4IiBudW1iZXI9IjU2Ii8+CisgIDxz eXNjYWxsIG5hbWU9InNldHBnaWQiIG51bWJlcj0iNTciLz4KKyAgPHN5c2Nh bGwgbmFtZT0idWxpbWl0IiBudW1iZXI9IjU4Ii8+CisgIDxzeXNjYWxsIG5h bWU9Im9sZG9sZHVuYW1lIiBudW1iZXI9IjU5Ii8+CisgIDxzeXNjYWxsIG5h bWU9InVtYXNrIiBudW1iZXI9IjYwIi8+CisgIDxzeXNjYWxsIG5hbWU9ImNo cm9vdCIgbnVtYmVyPSI2MSIvPgorICA8c3lzY2FsbCBuYW1lPSJ1c3RhdCIg bnVtYmVyPSI2MiIvPgorICA8c3lzY2FsbCBuYW1lPSJkdXAyIiBudW1iZXI9 IjYzIi8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHBwaWQiIG51bWJlcj0iNjQi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cGdycCIgbnVtYmVyPSI2NSIvPgor ICA8c3lzY2FsbCBuYW1lPSJzZXRzaWQiIG51bWJlcj0iNjYiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2lnYWN0aW9uIiBudW1iZXI9IjY3Ii8+CisgIDxzeXNj YWxsIG5hbWU9InNnZXRtYXNrIiBudW1iZXI9IjY4Ii8+CisgIDxzeXNjYWxs IG5hbWU9InNzZXRtYXNrIiBudW1iZXI9IjY5Ii8+CisgIDxzeXNjYWxsIG5h bWU9InNldHJldWlkIiBudW1iZXI9IjcwIi8+CisgIDxzeXNjYWxsIG5hbWU9 InNldHJlZ2lkIiBudW1iZXI9IjcxIi8+CisgIDxzeXNjYWxsIG5hbWU9InNp Z3N1c3BlbmQiIG51bWJlcj0iNzIiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2ln cGVuZGluZyIgbnVtYmVyPSI3MyIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRo b3N0bmFtZSIgbnVtYmVyPSI3NCIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRy bGltaXQiIG51bWJlcj0iNzUiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cmxp bWl0IiBudW1iZXI9Ijc2Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHJ1c2Fn ZSIgbnVtYmVyPSI3NyIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXR0aW1lb2Zk YXkiIG51bWJlcj0iNzgiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0dGltZW9m ZGF5IiBudW1iZXI9Ijc5Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldGdyb3Vw cyIgbnVtYmVyPSI4MCIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRncm91cHMi IG51bWJlcj0iODEiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2VsZWN0IiBudW1i ZXI9IjgyIi8+CisgIDxzeXNjYWxsIG5hbWU9InN5bWxpbmsiIG51bWJlcj0i ODMiLz4KKyAgPHN5c2NhbGwgbmFtZT0ib2xkbHN0YXQiIG51bWJlcj0iODQi Lz4KKyAgPHN5c2NhbGwgbmFtZT0icmVhZGxpbmsiIG51bWJlcj0iODUiLz4K KyAgPHN5c2NhbGwgbmFtZT0idXNlbGliIiBudW1iZXI9Ijg2Ii8+CisgIDxz eXNjYWxsIG5hbWU9InN3YXBvbiIgbnVtYmVyPSI4NyIvPgorICA8c3lzY2Fs bCBuYW1lPSJyZWJvb3QiIG51bWJlcj0iODgiLz4KKyAgPHN5c2NhbGwgbmFt ZT0icmVhZGRpciIgbnVtYmVyPSI4OSIvPgorICA8c3lzY2FsbCBuYW1lPSJt bWFwIiBudW1iZXI9IjkwIi8+CisgIDxzeXNjYWxsIG5hbWU9Im11bm1hcCIg bnVtYmVyPSI5MSIvPgorICA8c3lzY2FsbCBuYW1lPSJ0cnVuY2F0ZSIgbnVt YmVyPSI5MiIvPgorICA8c3lzY2FsbCBuYW1lPSJmdHJ1bmNhdGUiIG51bWJl cj0iOTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZmNobW9kIiBudW1iZXI9Ijk0 Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZjaG93biIgbnVtYmVyPSI5NSIvPgor ICA8c3lzY2FsbCBuYW1lPSJnZXRwcmlvcml0eSIgbnVtYmVyPSI5NiIvPgor ICA8c3lzY2FsbCBuYW1lPSJzZXRwcmlvcml0eSIgbnVtYmVyPSI5NyIvPgor ICA8c3lzY2FsbCBuYW1lPSJwcm9maWwiIG51bWJlcj0iOTgiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic3RhdGZzIiBudW1iZXI9Ijk5Ii8+CisgIDxzeXNjYWxs IG5hbWU9ImZzdGF0ZnMiIG51bWJlcj0iMTAwIi8+CisgIDxzeXNjYWxsIG5h bWU9ImlvcGVybSIgbnVtYmVyPSIxMDEiLz4KKyAgPHN5c2NhbGwgbmFtZT0i c29ja2V0Y2FsbCIgbnVtYmVyPSIxMDIiLz4KKyAgPHN5c2NhbGwgbmFtZT0i c3lzbG9nIiBudW1iZXI9IjEwMyIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRp dGltZXIiIG51bWJlcj0iMTA0Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldGl0 aW1lciIgbnVtYmVyPSIxMDUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3RhdCIg bnVtYmVyPSIxMDYiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibHN0YXQiIG51bWJl cj0iMTA3Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZzdGF0IiBudW1iZXI9IjEw OCIvPgorICA8c3lzY2FsbCBuYW1lPSJvbGR1bmFtZSIgbnVtYmVyPSIxMDki Lz4KKyAgPHN5c2NhbGwgbmFtZT0iaW9wbCIgbnVtYmVyPSIxMTAiLz4KKyAg PHN5c2NhbGwgbmFtZT0idmhhbmd1cCIgbnVtYmVyPSIxMTEiLz4KKyAgPHN5 c2NhbGwgbmFtZT0iaWRsZSIgbnVtYmVyPSIxMTIiLz4KKyAgPHN5c2NhbGwg bmFtZT0idm04NiIgbnVtYmVyPSIxMTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0i d2FpdDQiIG51bWJlcj0iMTE0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN3YXBv ZmYiIG51bWJlcj0iMTE1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN5c2luZm8i IG51bWJlcj0iMTE2Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImlwYyIgbnVtYmVy PSIxMTciLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnN5bmMiIG51bWJlcj0iMTE4 Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNpZ3JldHVybiIgbnVtYmVyPSIxMTki Lz4KKyAgPHN5c2NhbGwgbmFtZT0iY2xvbmUiIG51bWJlcj0iMTIwIi8+Cisg IDxzeXNjYWxsIG5hbWU9InNldGRvbWFpbm5hbWUiIG51bWJlcj0iMTIxIi8+ CisgIDxzeXNjYWxsIG5hbWU9InVuYW1lIiBudW1iZXI9IjEyMiIvPgorICA8 c3lzY2FsbCBuYW1lPSJtb2RpZnlfbGR0IiBudW1iZXI9IjEyMyIvPgorICA8 c3lzY2FsbCBuYW1lPSJhZGp0aW1leCIgbnVtYmVyPSIxMjQiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ibXByb3RlY3QiIG51bWJlcj0iMTI1Ii8+CisgIDxzeXNj YWxsIG5hbWU9InNpZ3Byb2NtYXNrIiBudW1iZXI9IjEyNiIvPgorICA8c3lz Y2FsbCBuYW1lPSJjcmVhdGVfbW9kdWxlIiBudW1iZXI9IjEyNyIvPgorICA8 c3lzY2FsbCBuYW1lPSJpbml0X21vZHVsZSIgbnVtYmVyPSIxMjgiLz4KKyAg PHN5c2NhbGwgbmFtZT0iZGVsZXRlX21vZHVsZSIgbnVtYmVyPSIxMjkiLz4K KyAgPHN5c2NhbGwgbmFtZT0iZ2V0X2tlcm5lbF9zeW1zIiBudW1iZXI9IjEz MCIvPgorICA8c3lzY2FsbCBuYW1lPSJxdW90YWN0bCIgbnVtYmVyPSIxMzEi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cGdpZCIgbnVtYmVyPSIxMzIiLz4K KyAgPHN5c2NhbGwgbmFtZT0iZmNoZGlyIiBudW1iZXI9IjEzMyIvPgorICA8 c3lzY2FsbCBuYW1lPSJiZGZsdXNoIiBudW1iZXI9IjEzNCIvPgorICA8c3lz Y2FsbCBuYW1lPSJzeXNmcyIgbnVtYmVyPSIxMzUiLz4KKyAgPHN5c2NhbGwg bmFtZT0icGVyc29uYWxpdHkiIG51bWJlcj0iMTM2Ii8+CisgIDxzeXNjYWxs IG5hbWU9ImFmc19zeXNjYWxsIiBudW1iZXI9IjEzNyIvPgorICA8c3lzY2Fs bCBuYW1lPSJzZXRmc3VpZCIgbnVtYmVyPSIxMzgiLz4KKyAgPHN5c2NhbGwg bmFtZT0ic2V0ZnNnaWQiIG51bWJlcj0iMTM5Ii8+CisgIDxzeXNjYWxsIG5h bWU9Il9sbHNlZWsiIG51bWJlcj0iMTQwIi8+CisgIDxzeXNjYWxsIG5hbWU9 ImdldGRlbnRzIiBudW1iZXI9IjE0MSIvPgorICA8c3lzY2FsbCBuYW1lPSJf bmV3c2VsZWN0IiBudW1iZXI9IjE0MiIvPgorICA8c3lzY2FsbCBuYW1lPSJm bG9jayIgbnVtYmVyPSIxNDMiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXN5bmMi IG51bWJlcj0iMTQ0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlYWR2IiBudW1i ZXI9IjE0NSIvPgorICA8c3lzY2FsbCBuYW1lPSJ3cml0ZXYiIG51bWJlcj0i MTQ2Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHNpZCIgbnVtYmVyPSIxNDci Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZmRhdGFzeW5jIiBudW1iZXI9IjE0OCIv PgorICA8c3lzY2FsbCBuYW1lPSJfc3lzY3RsIiBudW1iZXI9IjE0OSIvPgor ICA8c3lzY2FsbCBuYW1lPSJtbG9jayIgbnVtYmVyPSIxNTAiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ibXVubG9jayIgbnVtYmVyPSIxNTEiLz4KKyAgPHN5c2Nh bGwgbmFtZT0ibWxvY2thbGwiIG51bWJlcj0iMTUyIi8+CisgIDxzeXNjYWxs IG5hbWU9Im11bmxvY2thbGwiIG51bWJlcj0iMTUzIi8+CisgIDxzeXNjYWxs IG5hbWU9InNjaGVkX3NldHBhcmFtIiBudW1iZXI9IjE1NCIvPgorICA8c3lz Y2FsbCBuYW1lPSJzY2hlZF9nZXRwYXJhbSIgbnVtYmVyPSIxNTUiLz4KKyAg PHN5c2NhbGwgbmFtZT0ic2NoZWRfc2V0c2NoZWR1bGVyIiBudW1iZXI9IjE1 NiIvPgorICA8c3lzY2FsbCBuYW1lPSJzY2hlZF9nZXRzY2hlZHVsZXIiIG51 bWJlcj0iMTU3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNjaGVkX3lpZWxkIiBu dW1iZXI9IjE1OCIvPgorICA8c3lzY2FsbCBuYW1lPSJzY2hlZF9nZXRfcHJp b3JpdHlfbWF4IiBudW1iZXI9IjE1OSIvPgorICA8c3lzY2FsbCBuYW1lPSJz Y2hlZF9nZXRfcHJpb3JpdHlfbWluIiBudW1iZXI9IjE2MCIvPgorICA8c3lz Y2FsbCBuYW1lPSJzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiIG51bWJlcj0iMTYx Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im5hbm9zbGVlcCIgbnVtYmVyPSIxNjIi Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibXJlbWFwIiBudW1iZXI9IjE2MyIvPgor ICA8c3lzY2FsbCBuYW1lPSJzZXRyZXN1aWQiIG51bWJlcj0iMTY0Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImdldHJlc3VpZCIgbnVtYmVyPSIxNjUiLz4KKyAg PHN5c2NhbGwgbmFtZT0icXVlcnlfbW9kdWxlIiBudW1iZXI9IjE2NiIvPgor ICA8c3lzY2FsbCBuYW1lPSJwb2xsIiBudW1iZXI9IjE2NyIvPgorICA8c3lz Y2FsbCBuYW1lPSJuZnNzZXJ2Y3RsIiBudW1iZXI9IjE2OCIvPgorICA8c3lz Y2FsbCBuYW1lPSJzZXRyZXNnaWQiIG51bWJlcj0iMTY5Ii8+CisgIDxzeXNj YWxsIG5hbWU9ImdldHJlc2dpZCIgbnVtYmVyPSIxNzAiLz4KKyAgPHN5c2Nh bGwgbmFtZT0icHJjdGwiIG51bWJlcj0iMTcxIi8+CisgIDxzeXNjYWxsIG5h bWU9InJ0X3NpZ3JldHVybiIgbnVtYmVyPSIxNzIiLz4KKyAgPHN5c2NhbGwg bmFtZT0icnRfc2lnYWN0aW9uIiBudW1iZXI9IjE3MyIvPgorICA8c3lzY2Fs bCBuYW1lPSJydF9zaWdwcm9jbWFzayIgbnVtYmVyPSIxNzQiLz4KKyAgPHN5 c2NhbGwgbmFtZT0icnRfc2lncGVuZGluZyIgbnVtYmVyPSIxNzUiLz4KKyAg PHN5c2NhbGwgbmFtZT0icnRfc2lndGltZWR3YWl0IiBudW1iZXI9IjE3NiIv PgorICA8c3lzY2FsbCBuYW1lPSJydF9zaWdxdWV1ZWluZm8iIG51bWJlcj0i MTc3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJ0X3NpZ3N1c3BlbmQiIG51bWJl cj0iMTc4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InByZWFkNjQiIG51bWJlcj0i MTc5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InB3cml0ZTY0IiBudW1iZXI9IjE4 MCIvPgorICA8c3lzY2FsbCBuYW1lPSJjaG93biIgbnVtYmVyPSIxODEiLz4K KyAgPHN5c2NhbGwgbmFtZT0iZ2V0Y3dkIiBudW1iZXI9IjE4MiIvPgorICA8 c3lzY2FsbCBuYW1lPSJjYXBnZXQiIG51bWJlcj0iMTgzIi8+CisgIDxzeXNj YWxsIG5hbWU9ImNhcHNldCIgbnVtYmVyPSIxODQiLz4KKyAgPHN5c2NhbGwg bmFtZT0ic2lnYWx0c3RhY2siIG51bWJlcj0iMTg1Ii8+CisgIDxzeXNjYWxs IG5hbWU9InNlbmRmaWxlIiBudW1iZXI9IjE4NiIvPgorICA8c3lzY2FsbCBu YW1lPSJnZXRwbXNnIiBudW1iZXI9IjE4NyIvPgorICA8c3lzY2FsbCBuYW1l PSJwdXRwbXNnIiBudW1iZXI9IjE4OCIvPgorICA8c3lzY2FsbCBuYW1lPSJ2 Zm9yayIgbnVtYmVyPSIxODkiLz4KKyAgPHN5c2NhbGwgbmFtZT0idWdldHJs aW1pdCIgbnVtYmVyPSIxOTAiLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVhZGFo ZWFkIiBudW1iZXI9IjE5MSIvPgorICA8c3lzY2FsbCBuYW1lPSJtbWFwMiIg bnVtYmVyPSIxOTIiLz4KKyAgPHN5c2NhbGwgbmFtZT0idHJ1bmNhdGU2NCIg bnVtYmVyPSIxOTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnRydW5jYXRlNjQi IG51bWJlcj0iMTk0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN0YXQ2NCIgbnVt YmVyPSIxOTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibHN0YXQ2NCIgbnVtYmVy PSIxOTYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnN0YXQ2NCIgbnVtYmVyPSIx OTciLz4KKyAgPHN5c2NhbGwgbmFtZT0icGNpY29uZmlnX3JlYWQiIG51bWJl cj0iMTk4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InBjaWNvbmZpZ193cml0ZSIg bnVtYmVyPSIxOTkiLz4KKyAgPHN5c2NhbGwgbmFtZT0icGNpY29uZmlnX2lv YmFzZSIgbnVtYmVyPSIyMDAiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXVsdGlw bGV4ZXIiIG51bWJlcj0iMjAxIi8+CisgIDxzeXNjYWxsIG5hbWU9ImdldGRl bnRzNjQiIG51bWJlcj0iMjAyIi8+CisgIDxzeXNjYWxsIG5hbWU9InBpdm90 X3Jvb3QiIG51bWJlcj0iMjAzIi8+CisgIDxzeXNjYWxsIG5hbWU9ImZjbnRs NjQiIG51bWJlcj0iMjA0Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1hZHZpc2Ui IG51bWJlcj0iMjA1Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1pbmNvcmUiIG51 bWJlcj0iMjA2Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHRpZCIgbnVtYmVy PSIyMDciLz4KKyAgPHN5c2NhbGwgbmFtZT0idGtpbGwiIG51bWJlcj0iMjA4 Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNldHhhdHRyIiBudW1iZXI9IjIwOSIv PgorICA8c3lzY2FsbCBuYW1lPSJsc2V0eGF0dHIiIG51bWJlcj0iMjEwIi8+ CisgIDxzeXNjYWxsIG5hbWU9ImZzZXR4YXR0ciIgbnVtYmVyPSIyMTEiLz4K KyAgPHN5c2NhbGwgbmFtZT0iZ2V0eGF0dHIiIG51bWJlcj0iMjEyIi8+Cisg IDxzeXNjYWxsIG5hbWU9ImxnZXR4YXR0ciIgbnVtYmVyPSIyMTMiLz4KKyAg PHN5c2NhbGwgbmFtZT0iZmdldHhhdHRyIiBudW1iZXI9IjIxNCIvPgorICA8 c3lzY2FsbCBuYW1lPSJsaXN0eGF0dHIiIG51bWJlcj0iMjE1Ii8+CisgIDxz eXNjYWxsIG5hbWU9ImxsaXN0eGF0dHIiIG51bWJlcj0iMjE2Ii8+CisgIDxz eXNjYWxsIG5hbWU9ImZsaXN0eGF0dHIiIG51bWJlcj0iMjE3Ii8+CisgIDxz eXNjYWxsIG5hbWU9InJlbW92ZXhhdHRyIiBudW1iZXI9IjIxOCIvPgorICA8 c3lzY2FsbCBuYW1lPSJscmVtb3ZleGF0dHIiIG51bWJlcj0iMjE5Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImZyZW1vdmV4YXR0ciIgbnVtYmVyPSIyMjAiLz4K KyAgPHN5c2NhbGwgbmFtZT0iZnV0ZXgiIG51bWJlcj0iMjIxIi8+CisgIDxz eXNjYWxsIG5hbWU9InNjaGVkX3NldGFmZmluaXR5IiBudW1iZXI9IjIyMiIv PgorICA8c3lzY2FsbCBuYW1lPSJzY2hlZF9nZXRhZmZpbml0eSIgbnVtYmVy PSIyMjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iIiBudW1iZXI9IjIyNCIvPgor ICA8c3lzY2FsbCBuYW1lPSJ0dXhjYWxsIiBudW1iZXI9IjIyNSIvPgorICA8 c3lzY2FsbCBuYW1lPSJzZW5kZmlsZTY0IiBudW1iZXI9IjIyNiIvPgorICA8 c3lzY2FsbCBuYW1lPSJpb19zZXR1cCIgbnVtYmVyPSIyMjciLz4KKyAgPHN5 c2NhbGwgbmFtZT0iaW9fZGVzdHJveSIgbnVtYmVyPSIyMjgiLz4KKyAgPHN5 c2NhbGwgbmFtZT0iaW9fZ2V0ZXZlbnRzIiBudW1iZXI9IjIyOSIvPgorICA8 c3lzY2FsbCBuYW1lPSJpb19zdWJtaXQiIG51bWJlcj0iMjMwIi8+CisgIDxz eXNjYWxsIG5hbWU9ImlvX2NhbmNlbCIgbnVtYmVyPSIyMzEiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2V0X3RpZF9hZGRyZXNzIiBudW1iZXI9IjIzMiIvPgor ICA8c3lzY2FsbCBuYW1lPSJmYWR2aXNlNjQiIG51bWJlcj0iMjMzIi8+Cisg IDxzeXNjYWxsIG5hbWU9ImV4aXRfZ3JvdXAiIG51bWJlcj0iMjM0Ii8+Cisg IDxzeXNjYWxsIG5hbWU9Imxvb2t1cF9kY29va2llIiBudW1iZXI9IjIzNSIv PgorICA8c3lzY2FsbCBuYW1lPSJlcG9sbF9jcmVhdGUiIG51bWJlcj0iMjM2 Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImVwb2xsX2N0bCIgbnVtYmVyPSIyMzci Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZXBvbGxfd2FpdCIgbnVtYmVyPSIyMzgi Lz4KKyAgPHN5c2NhbGwgbmFtZT0icmVtYXBfZmlsZV9wYWdlcyIgbnVtYmVy PSIyMzkiLz4KKyAgPHN5c2NhbGwgbmFtZT0idGltZXJfY3JlYXRlIiBudW1i ZXI9IjI0MCIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1lcl9zZXR0aW1lIiBu dW1iZXI9IjI0MSIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1lcl9nZXR0aW1l IiBudW1iZXI9IjI0MiIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1lcl9nZXRv dmVycnVuIiBudW1iZXI9IjI0MyIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1l cl9kZWxldGUiIG51bWJlcj0iMjQ0Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImNs b2NrX3NldHRpbWUiIG51bWJlcj0iMjQ1Ii8+CisgIDxzeXNjYWxsIG5hbWU9 ImNsb2NrX2dldHRpbWUiIG51bWJlcj0iMjQ2Ii8+CisgIDxzeXNjYWxsIG5h bWU9ImNsb2NrX2dldHJlcyIgbnVtYmVyPSIyNDciLz4KKyAgPHN5c2NhbGwg bmFtZT0iY2xvY2tfbmFub3NsZWVwIiBudW1iZXI9IjI0OCIvPgorICA8c3lz Y2FsbCBuYW1lPSJzd2FwY29udGV4dCIgbnVtYmVyPSIyNDkiLz4KKyAgPHN5 c2NhbGwgbmFtZT0idGdraWxsIiBudW1iZXI9IjI1MCIvPgorICA8c3lzY2Fs bCBuYW1lPSJ1dGltZXMiIG51bWJlcj0iMjUxIi8+CisgIDxzeXNjYWxsIG5h bWU9InN0YXRmczY0IiBudW1iZXI9IjI1MiIvPgorICA8c3lzY2FsbCBuYW1l PSJmc3RhdGZzNjQiIG51bWJlcj0iMjUzIi8+CisgIDxzeXNjYWxsIG5hbWU9 ImZhZHZpc2U2NF82NCIgbnVtYmVyPSIyNTQiLz4KKyAgPHN5c2NhbGwgbmFt ZT0icnRhcyIgbnVtYmVyPSIyNTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3lz X2RlYnVnX3NldGNvbnRleHQiIG51bWJlcj0iMjU2Ii8+CisgIDxzeXNjYWxs IG5hbWU9IiIgbnVtYmVyPSIyNTciLz4KKyAgPHN5c2NhbGwgbmFtZT0iIiBu dW1iZXI9IjI1OCIvPgorICA8c3lzY2FsbCBuYW1lPSJtYmluZCIgbnVtYmVy PSIyNTkiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0X21lbXBvbGljeSIgbnVt YmVyPSIyNjAiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0X21lbXBvbGljeSIg bnVtYmVyPSIyNjEiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXFfb3BlbiIgbnVt YmVyPSIyNjIiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXFfdW5saW5rIiBudW1i ZXI9IjI2MyIvPgorICA8c3lzY2FsbCBuYW1lPSJtcV90aW1lZHNlbmQiIG51 bWJlcj0iMjY0Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1xX3RpbWVkcmVjZWl2 ZSIgbnVtYmVyPSIyNjUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXFfbm90aWZ5 IiBudW1iZXI9IjI2NiIvPgorICA8c3lzY2FsbCBuYW1lPSJtcV9nZXRzZXRh dHRyIiBudW1iZXI9IjI2NyIvPgorICA8c3lzY2FsbCBuYW1lPSJrZXhlY19s b2FkIiBudW1iZXI9IjI2OCIvPgorICA8c3lzY2FsbCBuYW1lPSJhZGRfa2V5 IiBudW1iZXI9IjI2OSIvPgorICA8c3lzY2FsbCBuYW1lPSJyZXF1ZXN0X2tl eSIgbnVtYmVyPSIyNzAiLz4KKyAgPHN5c2NhbGwgbmFtZT0ia2V5Y3RsIiBu dW1iZXI9IjI3MSIvPgorICA8c3lzY2FsbCBuYW1lPSJ3YWl0aWQiIG51bWJl cj0iMjcyIi8+CisgIDxzeXNjYWxsIG5hbWU9ImlvcHJpb19zZXQiIG51bWJl cj0iMjczIi8+CisgIDxzeXNjYWxsIG5hbWU9ImlvcHJpb19nZXQiIG51bWJl cj0iMjc0Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imlub3RpZnlfaW5pdCIgbnVt YmVyPSIyNzUiLz4KKyAgPHN5c2NhbGwgbmFtZT0iaW5vdGlmeV9hZGRfd2F0 Y2giIG51bWJlcj0iMjc2Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imlub3RpZnlf cm1fd2F0Y2giIG51bWJlcj0iMjc3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNw dV9ydW4iIG51bWJlcj0iMjc4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNwdV9j cmVhdGUiIG51bWJlcj0iMjc5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InBzZWxl Y3Q2IiBudW1iZXI9IjI4MCIvPgorICA8c3lzY2FsbCBuYW1lPSJwcG9sbCIg bnVtYmVyPSIyODEiLz4KKyAgPHN5c2NhbGwgbmFtZT0idW5zaGFyZSIgbnVt YmVyPSIyODIiLz4KKyAgPHN5c2NhbGwgbmFtZT0iIiBudW1iZXI9IjI4MyIv PgorICA8c3lzY2FsbCBuYW1lPSIiIG51bWJlcj0iMjg0Ii8+CisgIDxzeXNj YWxsIG5hbWU9IiIgbnVtYmVyPSIyODUiLz4KKyAgPHN5c2NhbGwgbmFtZT0i b3BlbmF0IiBudW1iZXI9IjI4NiIvPgorICA8c3lzY2FsbCBuYW1lPSJta2Rp cmF0IiBudW1iZXI9IjI4NyIvPgorICA8c3lzY2FsbCBuYW1lPSJta25vZGF0 IiBudW1iZXI9IjI4OCIvPgorICA8c3lzY2FsbCBuYW1lPSJmY2hvd25hdCIg bnVtYmVyPSIyODkiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnV0aW1lc2F0IiBu dW1iZXI9IjI5MCIvPgorICA8c3lzY2FsbCBuYW1lPSJmc3RhdGF0NjQiIG51 bWJlcj0iMjkxIi8+CisgIDxzeXNjYWxsIG5hbWU9InVubGlua2F0IiBudW1i ZXI9IjI5MiIvPgorICA8c3lzY2FsbCBuYW1lPSJyZW5hbWVhdCIgbnVtYmVy PSIyOTMiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibGlua2F0IiBudW1iZXI9IjI5 NCIvPgorICA8c3lzY2FsbCBuYW1lPSJzeW1saW5rYXQiIG51bWJlcj0iMjk1 Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlYWRsaW5rYXQiIG51bWJlcj0iMjk2 Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZjaG1vZGF0IiBudW1iZXI9IjI5NyIv PgorICA8c3lzY2FsbCBuYW1lPSJmYWNjZXNzYXQiIG51bWJlcj0iMjk4Ii8+ CisgIDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIyOTkiLz4KKyAgPHN5c2Nh bGwgbmFtZT0iIiBudW1iZXI9IjMwMCIvPgorPC9zeXNjYWxsc19pbmZvPgpk aWZmIC0tZ2l0IGEvZ2RiL3N5c2NhbGxzL3BwYzY0LWxpbnV4LnhtbCBiL2dk Yi9zeXNjYWxscy9wcGM2NC1saW51eC54bWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uMjc5NWRlMAotLS0gL2Rldi9udWxsCisrKyBi L2dkYi9zeXNjYWxscy9wcGM2NC1saW51eC54bWwKQEAgLTAsMCArMSwzMDYg QEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBDb3B5cmlnaHQgKEMp IDIwMDcsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK KyAgICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwg d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKKyAgICAgYXJlIHBlcm1p dHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0 aGUgY29weXJpZ2h0CisgICAgIG5vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJl IHByZXNlcnZlZC4gIC0tPgorCis8IURPQ1RZUEUgZmVhdHVyZSBTWVNURU0g ImdkYi1zeXNjYWxscy5kdGQiPgorCis8c3lzY2FsbHNfaW5mbz4KKyAgPHN5 c2NhbGwgbmFtZT0icmVzdGFydF9zeXNjYWxsIiBudW1iZXI9IjAiLz4KKyAg PHN5c2NhbGwgbmFtZT0iZXhpdCIgbnVtYmVyPSIxIi8+CisgIDxzeXNjYWxs IG5hbWU9ImZvcmsiIG51bWJlcj0iMiIvPgorICA8c3lzY2FsbCBuYW1lPSJy ZWFkIiBudW1iZXI9IjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0id3JpdGUiIG51 bWJlcj0iNCIvPgorICA8c3lzY2FsbCBuYW1lPSJvcGVuIiBudW1iZXI9IjUi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iY2xvc2UiIG51bWJlcj0iNiIvPgorICA8 c3lzY2FsbCBuYW1lPSJ3YWl0cGlkIiBudW1iZXI9IjciLz4KKyAgPHN5c2Nh bGwgbmFtZT0iY3JlYXQiIG51bWJlcj0iOCIvPgorICA8c3lzY2FsbCBuYW1l PSJsaW5rIiBudW1iZXI9IjkiLz4KKyAgPHN5c2NhbGwgbmFtZT0idW5saW5r IiBudW1iZXI9IjEwIi8+CisgIDxzeXNjYWxsIG5hbWU9ImV4ZWN2ZSIgbnVt YmVyPSIxMSIvPgorICA8c3lzY2FsbCBuYW1lPSJjaGRpciIgbnVtYmVyPSIx MiIvPgorICA8c3lzY2FsbCBuYW1lPSJ0aW1lIiBudW1iZXI9IjEzIi8+Cisg IDxzeXNjYWxsIG5hbWU9Im1rbm9kIiBudW1iZXI9IjE0Ii8+CisgIDxzeXNj YWxsIG5hbWU9ImNobW9kIiBudW1iZXI9IjE1Ii8+CisgIDxzeXNjYWxsIG5h bWU9ImxjaG93biIgbnVtYmVyPSIxNiIvPgorICA8c3lzY2FsbCBuYW1lPSJi cmVhayIgbnVtYmVyPSIxNyIvPgorICA8c3lzY2FsbCBuYW1lPSJvbGRzdGF0 IiBudW1iZXI9IjE4Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImxzZWVrIiBudW1i ZXI9IjE5Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldHBpZCIgbnVtYmVyPSIy MCIvPgorICA8c3lzY2FsbCBuYW1lPSJtb3VudCIgbnVtYmVyPSIyMSIvPgor ICA8c3lzY2FsbCBuYW1lPSJ1bW91bnQiIG51bWJlcj0iMjIiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2V0dWlkIiBudW1iZXI9IjIzIi8+CisgIDxzeXNjYWxs IG5hbWU9ImdldHVpZCIgbnVtYmVyPSIyNCIvPgorICA8c3lzY2FsbCBuYW1l PSJzdGltZSIgbnVtYmVyPSIyNSIvPgorICA8c3lzY2FsbCBuYW1lPSJwdHJh Y2UiIG51bWJlcj0iMjYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iYWxhcm0iIG51 bWJlcj0iMjciLz4KKyAgPHN5c2NhbGwgbmFtZT0ib2xkZnN0YXQiIG51bWJl cj0iMjgiLz4KKyAgPHN5c2NhbGwgbmFtZT0icGF1c2UiIG51bWJlcj0iMjki Lz4KKyAgPHN5c2NhbGwgbmFtZT0idXRpbWUiIG51bWJlcj0iMzAiLz4KKyAg PHN5c2NhbGwgbmFtZT0ic3R0eSIgbnVtYmVyPSIzMSIvPgorICA8c3lzY2Fs bCBuYW1lPSJndHR5IiBudW1iZXI9IjMyIi8+CisgIDxzeXNjYWxsIG5hbWU9 ImFjY2VzcyIgbnVtYmVyPSIzMyIvPgorICA8c3lzY2FsbCBuYW1lPSJuaWNl IiBudW1iZXI9IjM0Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZ0aW1lIiBudW1i ZXI9IjM1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN5bmMiIG51bWJlcj0iMzYi Lz4KKyAgPHN5c2NhbGwgbmFtZT0ia2lsbCIgbnVtYmVyPSIzNyIvPgorICA8 c3lzY2FsbCBuYW1lPSJyZW5hbWUiIG51bWJlcj0iMzgiLz4KKyAgPHN5c2Nh bGwgbmFtZT0ibWtkaXIiIG51bWJlcj0iMzkiLz4KKyAgPHN5c2NhbGwgbmFt ZT0icm1kaXIiIG51bWJlcj0iNDAiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZHVw IiBudW1iZXI9IjQxIi8+CisgIDxzeXNjYWxsIG5hbWU9InBpcGUiIG51bWJl cj0iNDIiLz4KKyAgPHN5c2NhbGwgbmFtZT0idGltZXMiIG51bWJlcj0iNDMi Lz4KKyAgPHN5c2NhbGwgbmFtZT0icHJvZiIgbnVtYmVyPSI0NCIvPgorICA8 c3lzY2FsbCBuYW1lPSJicmsiIG51bWJlcj0iNDUiLz4KKyAgPHN5c2NhbGwg bmFtZT0ic2V0Z2lkIiBudW1iZXI9IjQ2Ii8+CisgIDxzeXNjYWxsIG5hbWU9 ImdldGdpZCIgbnVtYmVyPSI0NyIvPgorICA8c3lzY2FsbCBuYW1lPSJzaWdu YWwiIG51bWJlcj0iNDgiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0ZXVpZCIg bnVtYmVyPSI0OSIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRlZ2lkIiBudW1i ZXI9IjUwIi8+CisgIDxzeXNjYWxsIG5hbWU9ImFjY3QiIG51bWJlcj0iNTEi Lz4KKyAgPHN5c2NhbGwgbmFtZT0idW1vdW50MiIgbnVtYmVyPSI1MiIvPgor ICA8c3lzY2FsbCBuYW1lPSJsb2NrIiBudW1iZXI9IjUzIi8+CisgIDxzeXNj YWxsIG5hbWU9ImlvY3RsIiBudW1iZXI9IjU0Ii8+CisgIDxzeXNjYWxsIG5h bWU9ImZjbnRsIiBudW1iZXI9IjU1Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1w eCIgbnVtYmVyPSI1NiIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRwZ2lkIiBu dW1iZXI9IjU3Ii8+CisgIDxzeXNjYWxsIG5hbWU9InVsaW1pdCIgbnVtYmVy PSI1OCIvPgorICA8c3lzY2FsbCBuYW1lPSJvbGRvbGR1bmFtZSIgbnVtYmVy PSI1OSIvPgorICA8c3lzY2FsbCBuYW1lPSJ1bWFzayIgbnVtYmVyPSI2MCIv PgorICA8c3lzY2FsbCBuYW1lPSJjaHJvb3QiIG51bWJlcj0iNjEiLz4KKyAg PHN5c2NhbGwgbmFtZT0idXN0YXQiIG51bWJlcj0iNjIiLz4KKyAgPHN5c2Nh bGwgbmFtZT0iZHVwMiIgbnVtYmVyPSI2MyIvPgorICA8c3lzY2FsbCBuYW1l PSJnZXRwcGlkIiBudW1iZXI9IjY0Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imdl dHBncnAiIG51bWJlcj0iNjUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0c2lk IiBudW1iZXI9IjY2Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNpZ2FjdGlvbiIg bnVtYmVyPSI2NyIvPgorICA8c3lzY2FsbCBuYW1lPSJzZ2V0bWFzayIgbnVt YmVyPSI2OCIvPgorICA8c3lzY2FsbCBuYW1lPSJzc2V0bWFzayIgbnVtYmVy PSI2OSIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRyZXVpZCIgbnVtYmVyPSI3 MCIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRyZWdpZCIgbnVtYmVyPSI3MSIv PgorICA8c3lzY2FsbCBuYW1lPSJzaWdzdXNwZW5kIiBudW1iZXI9IjcyIi8+ CisgIDxzeXNjYWxsIG5hbWU9InNpZ3BlbmRpbmciIG51bWJlcj0iNzMiLz4K KyAgPHN5c2NhbGwgbmFtZT0ic2V0aG9zdG5hbWUiIG51bWJlcj0iNzQiLz4K KyAgPHN5c2NhbGwgbmFtZT0ic2V0cmxpbWl0IiBudW1iZXI9Ijc1Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImdldHJsaW1pdCIgbnVtYmVyPSI3NiIvPgorICA8 c3lzY2FsbCBuYW1lPSJnZXRydXNhZ2UiIG51bWJlcj0iNzciLz4KKyAgPHN5 c2NhbGwgbmFtZT0iZ2V0dGltZW9mZGF5IiBudW1iZXI9Ijc4Ii8+CisgIDxz eXNjYWxsIG5hbWU9InNldHRpbWVvZmRheSIgbnVtYmVyPSI3OSIvPgorICA8 c3lzY2FsbCBuYW1lPSJnZXRncm91cHMiIG51bWJlcj0iODAiLz4KKyAgPHN5 c2NhbGwgbmFtZT0ic2V0Z3JvdXBzIiBudW1iZXI9IjgxIi8+CisgIDxzeXNj YWxsIG5hbWU9InNlbGVjdCIgbnVtYmVyPSI4MiIvPgorICA8c3lzY2FsbCBu YW1lPSJzeW1saW5rIiBudW1iZXI9IjgzIi8+CisgIDxzeXNjYWxsIG5hbWU9 Im9sZGxzdGF0IiBudW1iZXI9Ijg0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJl YWRsaW5rIiBudW1iZXI9Ijg1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InVzZWxp YiIgbnVtYmVyPSI4NiIvPgorICA8c3lzY2FsbCBuYW1lPSJzd2Fwb24iIG51 bWJlcj0iODciLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVib290IiBudW1iZXI9 Ijg4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlYWRkaXIiIG51bWJlcj0iODki Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibW1hcCIgbnVtYmVyPSI5MCIvPgorICA8 c3lzY2FsbCBuYW1lPSJtdW5tYXAiIG51bWJlcj0iOTEiLz4KKyAgPHN5c2Nh bGwgbmFtZT0idHJ1bmNhdGUiIG51bWJlcj0iOTIiLz4KKyAgPHN5c2NhbGwg bmFtZT0iZnRydW5jYXRlIiBudW1iZXI9IjkzIi8+CisgIDxzeXNjYWxsIG5h bWU9ImZjaG1vZCIgbnVtYmVyPSI5NCIvPgorICA8c3lzY2FsbCBuYW1lPSJm Y2hvd24iIG51bWJlcj0iOTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cHJp b3JpdHkiIG51bWJlcj0iOTYiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0cHJp b3JpdHkiIG51bWJlcj0iOTciLz4KKyAgPHN5c2NhbGwgbmFtZT0icHJvZmls IiBudW1iZXI9Ijk4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN0YXRmcyIgbnVt YmVyPSI5OSIvPgorICA8c3lzY2FsbCBuYW1lPSJmc3RhdGZzIiBudW1iZXI9 IjEwMCIvPgorICA8c3lzY2FsbCBuYW1lPSJpb3Blcm0iIG51bWJlcj0iMTAx Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNvY2tldGNhbGwiIG51bWJlcj0iMTAy Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN5c2xvZyIgbnVtYmVyPSIxMDMiLz4K KyAgPHN5c2NhbGwgbmFtZT0ic2V0aXRpbWVyIiBudW1iZXI9IjEwNCIvPgor ICA8c3lzY2FsbCBuYW1lPSJnZXRpdGltZXIiIG51bWJlcj0iMTA1Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InN0YXQiIG51bWJlcj0iMTA2Ii8+CisgIDxzeXNj YWxsIG5hbWU9ImxzdGF0IiBudW1iZXI9IjEwNyIvPgorICA8c3lzY2FsbCBu YW1lPSJmc3RhdCIgbnVtYmVyPSIxMDgiLz4KKyAgPHN5c2NhbGwgbmFtZT0i b2xkdW5hbWUiIG51bWJlcj0iMTA5Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imlv cGwiIG51bWJlcj0iMTEwIi8+CisgIDxzeXNjYWxsIG5hbWU9InZoYW5ndXAi IG51bWJlcj0iMTExIi8+CisgIDxzeXNjYWxsIG5hbWU9ImlkbGUiIG51bWJl cj0iMTEyIi8+CisgIDxzeXNjYWxsIG5hbWU9InZtODYiIG51bWJlcj0iMTEz Ii8+CisgIDxzeXNjYWxsIG5hbWU9IndhaXQ0IiBudW1iZXI9IjExNCIvPgor ICA8c3lzY2FsbCBuYW1lPSJzd2Fwb2ZmIiBudW1iZXI9IjExNSIvPgorICA8 c3lzY2FsbCBuYW1lPSJzeXNpbmZvIiBudW1iZXI9IjExNiIvPgorICA8c3lz Y2FsbCBuYW1lPSJpcGMiIG51bWJlcj0iMTE3Ii8+CisgIDxzeXNjYWxsIG5h bWU9ImZzeW5jIiBudW1iZXI9IjExOCIvPgorICA8c3lzY2FsbCBuYW1lPSJz aWdyZXR1cm4iIG51bWJlcj0iMTE5Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImNs b25lIiBudW1iZXI9IjEyMCIvPgorICA8c3lzY2FsbCBuYW1lPSJzZXRkb21h aW5uYW1lIiBudW1iZXI9IjEyMSIvPgorICA8c3lzY2FsbCBuYW1lPSJ1bmFt ZSIgbnVtYmVyPSIxMjIiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibW9kaWZ5X2xk dCIgbnVtYmVyPSIxMjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iYWRqdGltZXgi IG51bWJlcj0iMTI0Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1wcm90ZWN0IiBu dW1iZXI9IjEyNSIvPgorICA8c3lzY2FsbCBuYW1lPSJzaWdwcm9jbWFzayIg bnVtYmVyPSIxMjYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iY3JlYXRlX21vZHVs ZSIgbnVtYmVyPSIxMjciLz4KKyAgPHN5c2NhbGwgbmFtZT0iaW5pdF9tb2R1 bGUiIG51bWJlcj0iMTI4Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImRlbGV0ZV9t b2R1bGUiIG51bWJlcj0iMTI5Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImdldF9r ZXJuZWxfc3ltcyIgbnVtYmVyPSIxMzAiLz4KKyAgPHN5c2NhbGwgbmFtZT0i cXVvdGFjdGwiIG51bWJlcj0iMTMxIi8+CisgIDxzeXNjYWxsIG5hbWU9Imdl dHBnaWQiIG51bWJlcj0iMTMyIi8+CisgIDxzeXNjYWxsIG5hbWU9ImZjaGRp ciIgbnVtYmVyPSIxMzMiLz4KKyAgPHN5c2NhbGwgbmFtZT0iYmRmbHVzaCIg bnVtYmVyPSIxMzQiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic3lzZnMiIG51bWJl cj0iMTM1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InBlcnNvbmFsaXR5IiBudW1i ZXI9IjEzNiIvPgorICA8c3lzY2FsbCBuYW1lPSJhZnNfc3lzY2FsbCIgbnVt YmVyPSIxMzciLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0ZnN1aWQiIG51bWJl cj0iMTM4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNldGZzZ2lkIiBudW1iZXI9 IjEzOSIvPgorICA8c3lzY2FsbCBuYW1lPSJfbGxzZWVrIiBudW1iZXI9IjE0 MCIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRkZW50cyIgbnVtYmVyPSIxNDEi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iX25ld3NlbGVjdCIgbnVtYmVyPSIxNDIi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZmxvY2siIG51bWJlcj0iMTQzIi8+Cisg IDxzeXNjYWxsIG5hbWU9Im1zeW5jIiBudW1iZXI9IjE0NCIvPgorICA8c3lz Y2FsbCBuYW1lPSJyZWFkdiIgbnVtYmVyPSIxNDUiLz4KKyAgPHN5c2NhbGwg bmFtZT0id3JpdGV2IiBudW1iZXI9IjE0NiIvPgorICA8c3lzY2FsbCBuYW1l PSJnZXRzaWQiIG51bWJlcj0iMTQ3Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImZk YXRhc3luYyIgbnVtYmVyPSIxNDgiLz4KKyAgPHN5c2NhbGwgbmFtZT0iX3N5 c2N0bCIgbnVtYmVyPSIxNDkiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibWxvY2si IG51bWJlcj0iMTUwIi8+CisgIDxzeXNjYWxsIG5hbWU9Im11bmxvY2siIG51 bWJlcj0iMTUxIi8+CisgIDxzeXNjYWxsIG5hbWU9Im1sb2NrYWxsIiBudW1i ZXI9IjE1MiIvPgorICA8c3lzY2FsbCBuYW1lPSJtdW5sb2NrYWxsIiBudW1i ZXI9IjE1MyIvPgorICA8c3lzY2FsbCBuYW1lPSJzY2hlZF9zZXRwYXJhbSIg bnVtYmVyPSIxNTQiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2NoZWRfZ2V0cGFy YW0iIG51bWJlcj0iMTU1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNjaGVkX3Nl dHNjaGVkdWxlciIgbnVtYmVyPSIxNTYiLz4KKyAgPHN5c2NhbGwgbmFtZT0i c2NoZWRfZ2V0c2NoZWR1bGVyIiBudW1iZXI9IjE1NyIvPgorICA8c3lzY2Fs bCBuYW1lPSJzY2hlZF95aWVsZCIgbnVtYmVyPSIxNTgiLz4KKyAgPHN5c2Nh bGwgbmFtZT0ic2NoZWRfZ2V0X3ByaW9yaXR5X21heCIgbnVtYmVyPSIxNTki Lz4KKyAgPHN5c2NhbGwgbmFtZT0ic2NoZWRfZ2V0X3ByaW9yaXR5X21pbiIg bnVtYmVyPSIxNjAiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2NoZWRfcnJfZ2V0 X2ludGVydmFsIiBudW1iZXI9IjE2MSIvPgorICA8c3lzY2FsbCBuYW1lPSJu YW5vc2xlZXAiIG51bWJlcj0iMTYyIi8+CisgIDxzeXNjYWxsIG5hbWU9Im1y ZW1hcCIgbnVtYmVyPSIxNjMiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0cmVz dWlkIiBudW1iZXI9IjE2NCIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRyZXN1 aWQiIG51bWJlcj0iMTY1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InF1ZXJ5X21v ZHVsZSIgbnVtYmVyPSIxNjYiLz4KKyAgPHN5c2NhbGwgbmFtZT0icG9sbCIg bnVtYmVyPSIxNjciLz4KKyAgPHN5c2NhbGwgbmFtZT0ibmZzc2VydmN0bCIg bnVtYmVyPSIxNjgiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0cmVzZ2lkIiBu dW1iZXI9IjE2OSIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXRyZXNnaWQiIG51 bWJlcj0iMTcwIi8+CisgIDxzeXNjYWxsIG5hbWU9InByY3RsIiBudW1iZXI9 IjE3MSIvPgorICA8c3lzY2FsbCBuYW1lPSJydF9zaWdyZXR1cm4iIG51bWJl cj0iMTcyIi8+CisgIDxzeXNjYWxsIG5hbWU9InJ0X3NpZ2FjdGlvbiIgbnVt YmVyPSIxNzMiLz4KKyAgPHN5c2NhbGwgbmFtZT0icnRfc2lncHJvY21hc2si IG51bWJlcj0iMTc0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJ0X3NpZ3BlbmRp bmciIG51bWJlcj0iMTc1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJ0X3NpZ3Rp bWVkd2FpdCIgbnVtYmVyPSIxNzYiLz4KKyAgPHN5c2NhbGwgbmFtZT0icnRf c2lncXVldWVpbmZvIiBudW1iZXI9IjE3NyIvPgorICA8c3lzY2FsbCBuYW1l PSJydF9zaWdzdXNwZW5kIiBudW1iZXI9IjE3OCIvPgorICA8c3lzY2FsbCBu YW1lPSJwcmVhZDY0IiBudW1iZXI9IjE3OSIvPgorICA8c3lzY2FsbCBuYW1l PSJwd3JpdGU2NCIgbnVtYmVyPSIxODAiLz4KKyAgPHN5c2NhbGwgbmFtZT0i Y2hvd24iIG51bWJlcj0iMTgxIi8+CisgIDxzeXNjYWxsIG5hbWU9ImdldGN3 ZCIgbnVtYmVyPSIxODIiLz4KKyAgPHN5c2NhbGwgbmFtZT0iY2FwZ2V0IiBu dW1iZXI9IjE4MyIvPgorICA8c3lzY2FsbCBuYW1lPSJjYXBzZXQiIG51bWJl cj0iMTg0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNpZ2FsdHN0YWNrIiBudW1i ZXI9IjE4NSIvPgorICA8c3lzY2FsbCBuYW1lPSJzZW5kZmlsZSIgbnVtYmVy PSIxODYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZ2V0cG1zZyIgbnVtYmVyPSIx ODciLz4KKyAgPHN5c2NhbGwgbmFtZT0icHV0cG1zZyIgbnVtYmVyPSIxODgi Lz4KKyAgPHN5c2NhbGwgbmFtZT0idmZvcmsiIG51bWJlcj0iMTg5Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InVnZXRybGltaXQiIG51bWJlcj0iMTkwIi8+Cisg IDxzeXNjYWxsIG5hbWU9InJlYWRhaGVhZCIgbnVtYmVyPSIxOTEiLz4KKyAg PHN5c2NhbGwgbmFtZT0iIiBudW1iZXI9IjE5MiIvPgorICA8c3lzY2FsbCBu YW1lPSIiIG51bWJlcj0iMTkzIi8+CisgIDxzeXNjYWxsIG5hbWU9IiIgbnVt YmVyPSIxOTQiLz4KKyAgPHN5c2NhbGwgbmFtZT0iIiBudW1iZXI9IjE5NSIv PgorICA8c3lzY2FsbCBuYW1lPSIiIG51bWJlcj0iMTk2Ii8+CisgIDxzeXNj YWxsIG5hbWU9IiIgbnVtYmVyPSIxOTciLz4KKyAgPHN5c2NhbGwgbmFtZT0i cGNpY29uZmlnX3JlYWQiIG51bWJlcj0iMTk4Ii8+CisgIDxzeXNjYWxsIG5h bWU9InBjaWNvbmZpZ193cml0ZSIgbnVtYmVyPSIxOTkiLz4KKyAgPHN5c2Nh bGwgbmFtZT0icGNpY29uZmlnX2lvYmFzZSIgbnVtYmVyPSIyMDAiLz4KKyAg PHN5c2NhbGwgbmFtZT0ibXVsdGlwbGV4ZXIiIG51bWJlcj0iMjAxIi8+Cisg IDxzeXNjYWxsIG5hbWU9ImdldGRlbnRzNjQiIG51bWJlcj0iMjAyIi8+Cisg IDxzeXNjYWxsIG5hbWU9InBpdm90X3Jvb3QiIG51bWJlcj0iMjAzIi8+Cisg IDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIyMDQiLz4KKyAgPHN5c2NhbGwg bmFtZT0ibWFkdmlzZSIgbnVtYmVyPSIyMDUiLz4KKyAgPHN5c2NhbGwgbmFt ZT0ibWluY29yZSIgbnVtYmVyPSIyMDYiLz4KKyAgPHN5c2NhbGwgbmFtZT0i Z2V0dGlkIiBudW1iZXI9IjIwNyIvPgorICA8c3lzY2FsbCBuYW1lPSJ0a2ls bCIgbnVtYmVyPSIyMDgiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2V0eGF0dHIi IG51bWJlcj0iMjA5Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImxzZXR4YXR0ciIg bnVtYmVyPSIyMTAiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnNldHhhdHRyIiBu dW1iZXI9IjIxMSIvPgorICA8c3lzY2FsbCBuYW1lPSJnZXR4YXR0ciIgbnVt YmVyPSIyMTIiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibGdldHhhdHRyIiBudW1i ZXI9IjIxMyIvPgorICA8c3lzY2FsbCBuYW1lPSJmZ2V0eGF0dHIiIG51bWJl cj0iMjE0Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imxpc3R4YXR0ciIgbnVtYmVy PSIyMTUiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibGxpc3R4YXR0ciIgbnVtYmVy PSIyMTYiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZmxpc3R4YXR0ciIgbnVtYmVy PSIyMTciLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVtb3ZleGF0dHIiIG51bWJl cj0iMjE4Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImxyZW1vdmV4YXR0ciIgbnVt YmVyPSIyMTkiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZnJlbW92ZXhhdHRyIiBu dW1iZXI9IjIyMCIvPgorICA8c3lzY2FsbCBuYW1lPSJmdXRleCIgbnVtYmVy PSIyMjEiLz4KKyAgPHN5c2NhbGwgbmFtZT0ic2NoZWRfc2V0YWZmaW5pdHki IG51bWJlcj0iMjIyIi8+CisgIDxzeXNjYWxsIG5hbWU9InNjaGVkX2dldGFm ZmluaXR5IiBudW1iZXI9IjIyMyIvPgorICA8c3lzY2FsbCBuYW1lPSIiIG51 bWJlcj0iMjI0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InR1eGNhbGwiIG51bWJl cj0iMjI1Ii8+CisgIDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIyMjYiLz4K KyAgPHN5c2NhbGwgbmFtZT0iaW9fc2V0dXAiIG51bWJlcj0iMjI3Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImlvX2Rlc3Ryb3kiIG51bWJlcj0iMjI4Ii8+Cisg IDxzeXNjYWxsIG5hbWU9ImlvX2dldGV2ZW50cyIgbnVtYmVyPSIyMjkiLz4K KyAgPHN5c2NhbGwgbmFtZT0iaW9fc3VibWl0IiBudW1iZXI9IjIzMCIvPgor ICA8c3lzY2FsbCBuYW1lPSJpb19jYW5jZWwiIG51bWJlcj0iMjMxIi8+Cisg IDxzeXNjYWxsIG5hbWU9InNldF90aWRfYWRkcmVzcyIgbnVtYmVyPSIyMzIi Lz4KKyAgPHN5c2NhbGwgbmFtZT0iZmFkdmlzZTY0IiBudW1iZXI9IjIzMyIv PgorICA8c3lzY2FsbCBuYW1lPSJleGl0X2dyb3VwIiBudW1iZXI9IjIzNCIv PgorICA8c3lzY2FsbCBuYW1lPSJsb29rdXBfZGNvb2tpZSIgbnVtYmVyPSIy MzUiLz4KKyAgPHN5c2NhbGwgbmFtZT0iZXBvbGxfY3JlYXRlIiBudW1iZXI9 IjIzNiIvPgorICA8c3lzY2FsbCBuYW1lPSJlcG9sbF9jdGwiIG51bWJlcj0i MjM3Ii8+CisgIDxzeXNjYWxsIG5hbWU9ImVwb2xsX3dhaXQiIG51bWJlcj0i MjM4Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlbWFwX2ZpbGVfcGFnZXMiIG51 bWJlcj0iMjM5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InRpbWVyX2NyZWF0ZSIg bnVtYmVyPSIyNDAiLz4KKyAgPHN5c2NhbGwgbmFtZT0idGltZXJfc2V0dGlt ZSIgbnVtYmVyPSIyNDEiLz4KKyAgPHN5c2NhbGwgbmFtZT0idGltZXJfZ2V0 dGltZSIgbnVtYmVyPSIyNDIiLz4KKyAgPHN5c2NhbGwgbmFtZT0idGltZXJf Z2V0b3ZlcnJ1biIgbnVtYmVyPSIyNDMiLz4KKyAgPHN5c2NhbGwgbmFtZT0i dGltZXJfZGVsZXRlIiBudW1iZXI9IjI0NCIvPgorICA8c3lzY2FsbCBuYW1l PSJjbG9ja19zZXR0aW1lIiBudW1iZXI9IjI0NSIvPgorICA8c3lzY2FsbCBu YW1lPSJjbG9ja19nZXR0aW1lIiBudW1iZXI9IjI0NiIvPgorICA8c3lzY2Fs bCBuYW1lPSJjbG9ja19nZXRyZXMiIG51bWJlcj0iMjQ3Ii8+CisgIDxzeXNj YWxsIG5hbWU9ImNsb2NrX25hbm9zbGVlcCIgbnVtYmVyPSIyNDgiLz4KKyAg PHN5c2NhbGwgbmFtZT0ic3dhcGNvbnRleHQiIG51bWJlcj0iMjQ5Ii8+Cisg IDxzeXNjYWxsIG5hbWU9InRna2lsbCIgbnVtYmVyPSIyNTAiLz4KKyAgPHN5 c2NhbGwgbmFtZT0idXRpbWVzIiBudW1iZXI9IjI1MSIvPgorICA8c3lzY2Fs bCBuYW1lPSJzdGF0ZnM2NCIgbnVtYmVyPSIyNTIiLz4KKyAgPHN5c2NhbGwg bmFtZT0iZnN0YXRmczY0IiBudW1iZXI9IjI1MyIvPgorICA8c3lzY2FsbCBu YW1lPSIiIG51bWJlcj0iMjU0Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJ0YXMi IG51bWJlcj0iMjU1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InN5c19kZWJ1Z19z ZXRjb250ZXh0IiBudW1iZXI9IjI1NiIvPgorICA8c3lzY2FsbCBuYW1lPSIi IG51bWJlcj0iMjU3Ii8+CisgIDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIy NTgiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibWJpbmQiIG51bWJlcj0iMjU5Ii8+ CisgIDxzeXNjYWxsIG5hbWU9ImdldF9tZW1wb2xpY3kiIG51bWJlcj0iMjYw Ii8+CisgIDxzeXNjYWxsIG5hbWU9InNldF9tZW1wb2xpY3kiIG51bWJlcj0i MjYxIi8+CisgIDxzeXNjYWxsIG5hbWU9Im1xX29wZW4iIG51bWJlcj0iMjYy Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1xX3VubGluayIgbnVtYmVyPSIyNjMi Lz4KKyAgPHN5c2NhbGwgbmFtZT0ibXFfdGltZWRzZW5kIiBudW1iZXI9IjI2 NCIvPgorICA8c3lzY2FsbCBuYW1lPSJtcV90aW1lZHJlY2VpdmUiIG51bWJl cj0iMjY1Ii8+CisgIDxzeXNjYWxsIG5hbWU9Im1xX25vdGlmeSIgbnVtYmVy PSIyNjYiLz4KKyAgPHN5c2NhbGwgbmFtZT0ibXFfZ2V0c2V0YXR0ciIgbnVt YmVyPSIyNjciLz4KKyAgPHN5c2NhbGwgbmFtZT0ia2V4ZWNfbG9hZCIgbnVt YmVyPSIyNjgiLz4KKyAgPHN5c2NhbGwgbmFtZT0iYWRkX2tleSIgbnVtYmVy PSIyNjkiLz4KKyAgPHN5c2NhbGwgbmFtZT0icmVxdWVzdF9rZXkiIG51bWJl cj0iMjcwIi8+CisgIDxzeXNjYWxsIG5hbWU9ImtleWN0bCIgbnVtYmVyPSIy NzEiLz4KKyAgPHN5c2NhbGwgbmFtZT0id2FpdGlkIiBudW1iZXI9IjI3MiIv PgorICA8c3lzY2FsbCBuYW1lPSJpb3ByaW9fc2V0IiBudW1iZXI9IjI3MyIv PgorICA8c3lzY2FsbCBuYW1lPSJpb3ByaW9fZ2V0IiBudW1iZXI9IjI3NCIv PgorICA8c3lzY2FsbCBuYW1lPSJpbm90aWZ5X2luaXQiIG51bWJlcj0iMjc1 Ii8+CisgIDxzeXNjYWxsIG5hbWU9Imlub3RpZnlfYWRkX3dhdGNoIiBudW1i ZXI9IjI3NiIvPgorICA8c3lzY2FsbCBuYW1lPSJpbm90aWZ5X3JtX3dhdGNo IiBudW1iZXI9IjI3NyIvPgorICA8c3lzY2FsbCBuYW1lPSJzcHVfcnVuIiBu dW1iZXI9IjI3OCIvPgorICA8c3lzY2FsbCBuYW1lPSJzcHVfY3JlYXRlIiBu dW1iZXI9IjI3OSIvPgorICA8c3lzY2FsbCBuYW1lPSJwc2VsZWN0NiIgbnVt YmVyPSIyODAiLz4KKyAgPHN5c2NhbGwgbmFtZT0icHBvbGwiIG51bWJlcj0i MjgxIi8+CisgIDxzeXNjYWxsIG5hbWU9InVuc2hhcmUiIG51bWJlcj0iMjgy Ii8+CisgIDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIyODMiLz4KKyAgPHN5 c2NhbGwgbmFtZT0iIiBudW1iZXI9IjI4NCIvPgorICA8c3lzY2FsbCBuYW1l PSIiIG51bWJlcj0iMjg1Ii8+CisgIDxzeXNjYWxsIG5hbWU9InVubGlua2F0 IiBudW1iZXI9IjI4NiIvPgorICA8c3lzY2FsbCBuYW1lPSJyZW5hbWVhdCIg bnVtYmVyPSIyODciLz4KKyAgPHN5c2NhbGwgbmFtZT0ibGlua2F0IiBudW1i ZXI9IjI4OCIvPgorICA8c3lzY2FsbCBuYW1lPSJzeW1saW5rYXQiIG51bWJl cj0iMjg5Ii8+CisgIDxzeXNjYWxsIG5hbWU9InJlYWRsaW5rYXQiIG51bWJl cj0iMjkwIi8+CisgIDxzeXNjYWxsIG5hbWU9ImZjaG1vZGF0IiBudW1iZXI9 IjI5MSIvPgorICA8c3lzY2FsbCBuYW1lPSJmYWNjZXNzYXQiIG51bWJlcj0i MjkyIi8+CisgIDxzeXNjYWxsIG5hbWU9IiIgbnVtYmVyPSIyOTMiLz4KKyAg PHN5c2NhbGwgbmFtZT0iIiBudW1iZXI9IjI5NCIvPgorPC9zeXNjYWxsc19p bmZvPgpkaWZmIC0tZ2l0IGEvZ2RiL3htbC1zeXNjYWxsLmMgYi9nZGIveG1s LXN5c2NhbGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li40OThmNThhCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3htbC1zeXNjYWxs LmMKQEAgLTAsMCArMSw0MjMgQEAKKy8qIEZ1bmN0aW9ucyB0aGF0IHByb3Zp ZGUgdGhlIG1lY2hhbmlzbSB0byBwYXJzZSBhIHN5c2NhbGwgWE1MIGZpbGUK KyAgIGFuZCBnZXQgaXRzIHZhbHVlcy4KKworICAgQ29weXJpZ2h0IChDKSAx OTg2LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0 LCAxOTk1LCAxOTk2LAorICAgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAw MywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOAorICAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdEQi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKwor ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2lu Y2x1ZGUgImRlZnMuaCIKKyNpbmNsdWRlICJnZGJ0eXBlcy5oIgorI2luY2x1 ZGUgInhtbC1zdXBwb3J0LmgiCisjaW5jbHVkZSAieG1sLXN5c2NhbGwuaCIK KworI2luY2x1ZGUgImZpbGVuYW1lcy5oIgorCisjaW5jbHVkZSAiZ2RiX2Fz c2VydC5oIgorCisjaWZuZGVmIEhBVkVfTElCRVhQQVQKKworLyogRHVtbXkg ZnVuY3Rpb25zIHRvIGluZGljYXRlIHRoYXQgdGhlcmUncyBubyBzdXBwb3J0 IGZvciBmZXRjaGluZworICAgc3lzY2FsbHMgaW5mb3JtYXRpb24uICAqLwor CitzdGF0aWMgdm9pZAorc3lzY2FsbF93YXJuX3VzZXIgKHZvaWQpCit7Cisg IHN0YXRpYyBpbnQgaGF2ZV93YXJuZWQgPSAwOworICBpZiAoIWhhdmVfd2Fy bmVkKQorICAgIHsKKyAgICAgIGhhdmVfd2FybmVkID0gMTsKKyAgICAgIHdh cm5pbmcgKF8oIkNhbiBub3QgcGFyc2UgWE1MIHN5c2NhbGxzIGluZm9ybWF0 aW9uOyBYTUwgc3VwcG9ydCB3YXMgIgorCQkgImRpc2FibGVkIGF0IGNvbXBp bGUgdGltZSIpKTsKKyAgICB9Cit9CisKK2NvbnN0IHN0cnVjdCBzeXNjYWxs c19pbmZvICoKK3htbF9pbml0X3N5c2NhbGxzX2luZm8gKGNvbnN0IGNoYXIg KmZpbGVuYW1lKQoreworICBzeXNjYWxsX3dhcm5fdXNlciAoKTsKKyAgcmV0 dXJuIE5VTEw7Cit9CisKK2ludAoreG1sX2dldF9zeXNjYWxsX251bWJlciAo Y29uc3Qgc3RydWN0IHN5c2NhbGxzX2luZm8gKnN5c2luZm8sCisgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzeXNjYWxsX25hbWUpCit7 CisgIHN5c2NhbGxfd2Fybl91c2VyICgpOworICByZXR1cm4gVU5LTk9XTl9T WVNDQUxMOworfQorCitjb25zdCBjaGFyICoKK3htbF9nZXRfc3lzY2FsbF9u YW1lIChjb25zdCBzdHJ1Y3Qgc3lzY2FsbHNfaW5mbyAqc3lzaW5mbywKKyAg ICAgICAgICAgICAgICAgICAgICBpbnQgc3lzY2FsbF9udW1iZXIpCit7Cisg IHN5c2NhbGxfd2Fybl91c2VyICgpOworICByZXR1cm4gTlVMTDsKK30KKwor aW50Cit4bWxfbnVtYmVyX29mX3N5c2NhbGxzIChjb25zdCBzdHJ1Y3Qgc3lz Y2FsbHNfaW5mbyAqc3lzaW5mbykKK3sKKyAgc3lzY2FsbF93YXJuX3VzZXIg KCk7CisgIHJldHVybiAwOworfQorCitjb25zdCBjaGFyICoqCit4bWxfbGlz dF9vZl9zeXNjYWxscyAoY29uc3Qgc3RydWN0IHN5c2NhbGxzX2luZm8gKnN5 c2luZm8pCit7CisgIHN5c2NhbGxfd2Fybl91c2VyICgpOworICByZXR1cm4g TlVMTDsKK30KKworI2Vsc2UKKworLyogU3RydWN0dXJlIHdoaWNoIGRlc2Ny aWJlcyBhIHN5c2NhbGwuICAqLworCit0eXBlZGVmIHN0cnVjdCBzeXNjYWxs X2Rlc2MKK3sKKyAgLyogVGhlIHN5c2NhbGwgbnVtYmVyLiAgKi8KKworICBp bnQgbnVtYmVyOworCisgIC8qIFRoZSBzeXNjYWxsIG5hbWUuICAqLworCisg IGNoYXIgKm5hbWU7Cit9ICpzeXNjYWxsX2Rlc2NfcDsKK0RFRl9WRUNfUChz eXNjYWxsX2Rlc2NfcCk7CisKKy8qIFN0cnVjdHVyZSB0aGF0IHJlcHJlc2Vu dHMgc3lzY2FsbHMgaW5mb3JtYXRpb24uICAqLworCitzdHJ1Y3Qgc3lzY2Fs bHNfaW5mbworeworICAvKiBUaGUgc3lzY2FsbHMuICAqLworCisgIFZFQyhz eXNjYWxsX2Rlc2NfcCkgKnN5c2NhbGxzOworfTsKKworLyogQ2FsbGJhY2sg ZGF0YSBmb3Igc3lzY2FsbCBpbmZvcm1hdGlvbiBwYXJzaW5nLiAgKi8KKwor c3RydWN0IHN5c2NhbGxfcGFyc2luZ19kYXRhCit7CisgIC8qIFRoZSBzeXNj YWxsc19pbmZvIHdlIGFyZSBidWlsZGluZy4gICovCisKKyAgc3RydWN0IHN5 c2NhbGxzX2luZm8gKnN5c2luZm87Cit9OworCisKK3N0YXRpYyBzdHJ1Y3Qg c3lzY2FsbHNfaW5mbyAqCithbGxvY2F0ZV9zeXNjYWxsc19pbmZvICh2b2lk KQoreworICByZXR1cm4gWFpBTExPQyAoc3RydWN0IHN5c2NhbGxzX2luZm8p OworfQorCitzdGF0aWMgdm9pZAorc3lzaW5mb19mcmVlX3N5c2NhbGxzX2Rl c2MgKHN0cnVjdCBzeXNjYWxsX2Rlc2MgKnNkKQoreworICB4ZnJlZSAoc2Qt Pm5hbWUpOworfQorCitzdGF0aWMgdm9pZAorZnJlZV9zeXNjYWxsc19pbmZv ICh2b2lkICphcmcpCit7CisgIHN0cnVjdCBzeXNjYWxsc19pbmZvICpzeXNp bmZvID0gYXJnOworICBzdHJ1Y3Qgc3lzY2FsbF9kZXNjICpzeXNkZXNjOwor ICBpbnQgaTsKKworICBmb3IgKGkgPSAwOworICAgICAgIFZFQ19pdGVyYXRl IChzeXNjYWxsX2Rlc2NfcCwgc3lzaW5mby0+c3lzY2FsbHMsIGksIHN5c2Rl c2MpOworICAgICAgIGkrKykKKyAgICBzeXNpbmZvX2ZyZWVfc3lzY2FsbHNf ZGVzYyAoc3lzZGVzYyk7CisgIFZFQ19mcmVlIChzeXNjYWxsX2Rlc2NfcCwg c3lzaW5mby0+c3lzY2FsbHMpOworCisgIHhmcmVlIChzeXNpbmZvKTsKK30K Kworc3RydWN0IGNsZWFudXAgKgorbWFrZV9jbGVhbnVwX2ZyZWVfc3lzY2Fs bHNfaW5mbyAoc3RydWN0IHN5c2NhbGxzX2luZm8gKnN5c2luZm8pCit7Cisg IHJldHVybiBtYWtlX2NsZWFudXAgKGZyZWVfc3lzY2FsbHNfaW5mbywgc3lz aW5mbyk7Cit9CisKKy8qIE9wZW4gRklMRU5BTUUsIHJlYWQgYWxsIGl0cyB0 ZXh0IGludG8gbWVtb3J5LCBjbG9zZSBpdCwgYW5kIHJldHVybgorICAgdGhl IHRleHQuICBJZiBzb21ldGhpbmcgZ29lcyB3cm9uZywgcmV0dXJuIE5VTEwg YW5kIHdhcm4uICAqLworCitzdGF0aWMgY2hhciAqCitmZXRjaF94bWxfZnJv bV9maWxlIChjb25zdCBjaGFyICpmaWxlbmFtZSwgdm9pZCAqYmF0b24pCit7 CisgIGNvbnN0IGNoYXIgKmRpcm5hbWUgPSBiYXRvbjsKKyAgRklMRSAqZmls ZTsKKyAgc3RydWN0IGNsZWFudXAgKmJhY2tfdG87CisgIGNoYXIgKnRleHQ7 CisgIHNpemVfdCBsZW4sIG9mZnNldDsKKworICBpZiAoZGlybmFtZSAmJiAq ZGlybmFtZSkKKyAgICB7CisgICAgICBjaGFyICpmdWxsbmFtZSA9IGNvbmNh dCAoZGlybmFtZSwgIi8iLCBmaWxlbmFtZSwgKGNoYXIgKikgTlVMTCk7Cisg ICAgICBpZiAoZnVsbG5hbWUgPT0gTlVMTCkKKwlub21lbSAoMCk7CisgICAg ICBmaWxlID0gZm9wZW4gKGZ1bGxuYW1lLCBGT1BFTl9SVCk7CisgICAgICB4 ZnJlZSAoZnVsbG5hbWUpOworICAgIH0KKyAgZWxzZQorICAgIGZpbGUgPSBm b3BlbiAoZmlsZW5hbWUsIEZPUEVOX1JUKTsKKworICBpZiAoZmlsZSA9PSBO VUxMKQorICAgIHJldHVybiBOVUxMOworCisgIGJhY2tfdG8gPSBtYWtlX2Ns ZWFudXBfZmNsb3NlIChmaWxlKTsKKworICAvKiBSZWFkIGluIHRoZSB3aG9s ZSBmaWxlLCBvbmUgY2h1bmsgYXQgYSB0aW1lLiAgKi8KKyAgbGVuID0gNDA5 NjsKKyAgb2Zmc2V0ID0gMDsKKyAgdGV4dCA9IHhtYWxsb2MgKGxlbik7Cisg IG1ha2VfY2xlYW51cCAoZnJlZV9jdXJyZW50X2NvbnRlbnRzLCAmdGV4dCk7 CisgIHdoaWxlICgxKQorICAgIHsKKyAgICAgIHNpemVfdCBieXRlc19yZWFk OworCisgICAgICAvKiBDb250aW51ZSByZWFkaW5nIHdoZXJlIHRoZSBsYXN0 IHJlYWQgbGVmdCBvZmYuICBMZWF2ZSBhdCBsZWFzdAorCSBvbmUgYnl0ZSBz byB0aGF0IHdlIGNhbiBOVUwtdGVybWluYXRlIHRoZSByZXN1bHQuICAqLwor ICAgICAgYnl0ZXNfcmVhZCA9IGZyZWFkICh0ZXh0ICsgb2Zmc2V0LCAxLCBs ZW4gLSBvZmZzZXQgLSAxLCBmaWxlKTsKKyAgICAgIGlmIChmZXJyb3IgKGZp bGUpKQorCXsKKwkgIHdhcm5pbmcgKF8oIlJlYWQgZXJyb3IgZnJvbSBcIiVz XCIiKSwgZmlsZW5hbWUpOworCSAgZG9fY2xlYW51cHMgKGJhY2tfdG8pOwor CSAgcmV0dXJuIE5VTEw7CisJfQorCisgICAgICBvZmZzZXQgKz0gYnl0ZXNf cmVhZDsKKworICAgICAgaWYgKGZlb2YgKGZpbGUpKQorCWJyZWFrOworCisg ICAgICBsZW4gPSBsZW4gKiAyOworICAgICAgdGV4dCA9IHhyZWFsbG9jICh0 ZXh0LCBsZW4pOworICAgIH0KKworICBmY2xvc2UgKGZpbGUpOworICBkaXNj YXJkX2NsZWFudXBzIChiYWNrX3RvKTsKKworICB0ZXh0W29mZnNldF0gPSAn XDAnOworICByZXR1cm4gdGV4dDsKK30KKworc3RhdGljIHZvaWQKK3N5c2Nh bGxfY3JlYXRlX3N5c2NhbGxfZGVzYyAoc3RydWN0IHN5c2NhbGxzX2luZm8g KnN5c2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKm5hbWUsIGludCBudW1iZXIpCit7CisgIHN0cnVjdCBzeXNjYWxs X2Rlc2MgKnN5c2Rlc2MgPSBYWkFMTE9DIChzdHJ1Y3Qgc3lzY2FsbF9kZXNj KTsKKworICBzeXNkZXNjLT5uYW1lID0geHN0cmR1cCAobmFtZSk7CisgIHN5 c2Rlc2MtPm51bWJlciA9IG51bWJlcjsKKworICBWRUNfc2FmZV9wdXNoIChz eXNjYWxsX2Rlc2NfcCwgc3lzaW5mby0+c3lzY2FsbHMsIHN5c2Rlc2MpOwor fQorCisvKiBIYW5kbGUgdGhlIHN0YXJ0IG9mIGEgPHN5c2NhbGxzX2luZm8+ IGVsZW1lbnQuICAqLworCitzdGF0aWMgdm9pZAorc3lzY2FsbF9zdGFydF9z eXNjYWxsc19pbmZvIChzdHJ1Y3QgZ2RiX3htbF9wYXJzZXIgKnBhcnNlciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGdk Yl94bWxfZWxlbWVudCAqZWxlbWVudCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdm9pZCAqdXNlcl9kYXRhLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWRUMoZ2RiX3htbF92YWx1ZV9zKSAqYXR0cmlidXRlcykK K3sKKyAgc3RydWN0IHN5c2NhbGxfcGFyc2luZ19kYXRhICpkYXRhID0gdXNl cl9kYXRhOworICBzdHJ1Y3Qgc3lzY2FsbHNfaW5mbyAqc3lzaW5mbyA9IGRh dGEtPnN5c2luZm87Cit9CisKKy8qIEhhbmRsZSB0aGUgc3RhcnQgb2YgYSA8 c3lzY2FsbD4gZWxlbWVudC4gICovCisKK3N0YXRpYyB2b2lkCitzeXNjYWxs X3N0YXJ0X3N5c2NhbGwgKHN0cnVjdCBnZGJfeG1sX3BhcnNlciAqcGFyc2Vy LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZ2RiX3ht bF9lbGVtZW50ICplbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICB2 b2lkICp1c2VyX2RhdGEsIFZFQyhnZGJfeG1sX3ZhbHVlX3MpICphdHRyaWJ1 dGVzKQoreworICBzdHJ1Y3Qgc3lzY2FsbF9wYXJzaW5nX2RhdGEgKmRhdGEg PSB1c2VyX2RhdGE7CisgIHN0cnVjdCBnZGJfeG1sX3ZhbHVlICphdHRycyA9 IFZFQ19hZGRyZXNzIChnZGJfeG1sX3ZhbHVlX3MsIGF0dHJpYnV0ZXMpOwor ICBpbnQgbGVuLCBpOworICAvKiBzeXNjYWxsIGluZm8uICAqLworICBjaGFy ICpuYW1lID0gTlVMTDsKKyAgaW50IG51bWJlciA9IDA7CisKKyAgbGVuID0g VkVDX2xlbmd0aCAoZ2RiX3htbF92YWx1ZV9zLCBhdHRyaWJ1dGVzKTsKKwor ICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCisgICAgeworICAgICAgaWYg KHN0cmNtcCAoYXR0cnNbaV0ubmFtZSwgIm5hbWUiKSA9PSAwKQorICAgICAg ICBuYW1lID0gYXR0cnNbaV0udmFsdWU7CisgICAgICBlbHNlIGlmIChzdHJj bXAgKGF0dHJzW2ldLm5hbWUsICJudW1iZXIiKSA9PSAwKQorICAgICAgICBu dW1iZXIgPSAqIChVTE9OR0VTVCAqKSBhdHRyc1tpXS52YWx1ZTsKKyAgICAg IGVsc2UKKyAgICAgICAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJ TkVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgIF8oIlVua25vd24gYXR0 cmlidXRlIG5hbWUgJyVzJy4iKSwgYXR0cnNbaV0ubmFtZSk7CisgICAgfQor CisgIHN5c2NhbGxfY3JlYXRlX3N5c2NhbGxfZGVzYyAoZGF0YS0+c3lzaW5m bywgbmFtZSwgbnVtYmVyKTsKK30KKworCisvKiBUaGUgZWxlbWVudHMgYW5k IGF0dHJpYnV0ZXMgb2YgYW4gWE1MIHN5c2NhbGwgZG9jdW1lbnQuICAqLwor CitzdGF0aWMgY29uc3Qgc3RydWN0IGdkYl94bWxfYXR0cmlidXRlIHN5c2Nh bGxfYXR0cltdID0geworICB7ICJudW1iZXIiLCBHREJfWE1MX0FGX05PTkUs IGdkYl94bWxfcGFyc2VfYXR0cl91bG9uZ2VzdCwgTlVMTCB9LAorICB7ICJu YW1lIiwgR0RCX1hNTF9BRl9OT05FLCBOVUxMLCBOVUxMIH0sCisgIHsgTlVM TCwgR0RCX1hNTF9BRl9OT05FLCBOVUxMLCBOVUxMIH0KK307CisKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgZ2RiX3htbF9lbGVtZW50IHN5c2NhbGxzX2luZm9f Y2hpbGRyZW5bXSA9IHsKKyAgeyAic3lzY2FsbCIsIHN5c2NhbGxfYXR0ciwg TlVMTCwKKyAgICBHREJfWE1MX0VGX09QVElPTkFMIHwgR0RCX1hNTF9FRl9S RVBFQVRBQkxFLAorICAgIHN5c2NhbGxfc3RhcnRfc3lzY2FsbCwgTlVMTCB9 LAorICB7IE5VTEwsIE5VTEwsIE5VTEwsIEdEQl9YTUxfRUZfTk9ORSwgTlVM TCwgTlVMTCB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGdkYl94bWxf ZWxlbWVudCBzeXNlbGVtZW50c1tdID0geworICB7ICJzeXNjYWxsc19pbmZv IiwgTlVMTCwgc3lzY2FsbHNfaW5mb19jaGlsZHJlbiwKKyAgICBHREJfWE1M X0VGX05PTkUsIHN5c2NhbGxfc3RhcnRfc3lzY2FsbHNfaW5mbywgTlVMTCB9 LAorICB7IE5VTEwsIE5VTEwsIE5VTEwsIEdEQl9YTUxfRUZfTk9ORSwgTlVM TCwgTlVMTCB9Cit9OworCitzdGF0aWMgc3RydWN0IHN5c2NhbGxzX2luZm8g Kgorc3lzY2FsbF9wYXJzZV94bWwgKGNvbnN0IGNoYXIgKmRvY3VtZW50LCB4 bWxfZmV0Y2hfYW5vdGhlciBmZXRjaGVyLAorICAgICAgICAgICAgICAgICAg IHZvaWQgKmZldGNoZXJfYmF0b24pCit7CisgIHN0cnVjdCBjbGVhbnVwICpy ZXN1bHRfY2xlYW51cDsKKyAgc3RydWN0IGdkYl94bWxfcGFyc2VyICpwYXJz ZXI7CisgIHN0cnVjdCBzeXNjYWxsX3BhcnNpbmdfZGF0YSBkYXRhOworICBj aGFyICpleHBhbmRlZF90ZXh0OworICBpbnQgaTsKKworICBwYXJzZXIgPSBn ZGJfeG1sX2NyZWF0ZV9wYXJzZXJfYW5kX2NsZWFudXAgKF8oInN5c2NhbGxz IGluZm8iKSwKKwkJCQkJICAgICAgc3lzZWxlbWVudHMsICZkYXRhKTsKKwor ICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKHN0cnVjdCBzeXNjYWxsX3Bh cnNpbmdfZGF0YSkpOworICBkYXRhLnN5c2luZm8gPSBhbGxvY2F0ZV9zeXNj YWxsc19pbmZvICgpOworICByZXN1bHRfY2xlYW51cCA9IG1ha2VfY2xlYW51 cF9mcmVlX3N5c2NhbGxzX2luZm8gKGRhdGEuc3lzaW5mbyk7CisKKyAgaWYg KGdkYl94bWxfcGFyc2UgKHBhcnNlciwgZG9jdW1lbnQpID09IDApCisgICAg eworICAgICAgLyogUGFyc2VkIHN1Y2Nlc3NmdWxseS4gICovCisgICAgICBk aXNjYXJkX2NsZWFudXBzIChyZXN1bHRfY2xlYW51cCk7CisgICAgICByZXR1 cm4gZGF0YS5zeXNpbmZvOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAg IHdhcm5pbmcgKF8oIkNvdWxkIG5vdCBsb2FkIFhNTCBzeXNjYWxscyBpbmZv OyBpZ25vcmluZyIpKTsKKyAgICAgIGRvX2NsZWFudXBzIChyZXN1bHRfY2xl YW51cCk7CisgICAgICByZXR1cm4gTlVMTDsKKyAgICB9Cit9CisKK2NvbnN0 IHN0cnVjdCBzeXNjYWxsc19pbmZvICoKK3htbF9pbml0X3N5c2NhbGxzX2lu Zm8gKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworICBjaGFyICpmdWxsX2Zp bGU7CisgIGNoYXIgKmRpcm5hbWU7CisgIHN0cnVjdCBzeXNjYWxsc19pbmZv ICpzeXNpbmZvOworICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKKworICBm dWxsX2ZpbGUgPSBmZXRjaF94bWxfZnJvbV9maWxlIChmaWxlbmFtZSwgZ2Ri X2RhdGFkaXIpOworICBpZiAoZnVsbF9maWxlID09IE5VTEwpCisgICAgewor ICAgICAgd2FybmluZyAoXygiQ291bGQgbm90IG9wZW4gXCIlc1wiIiksIGZp bGVuYW1lKTsKKyAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICBiYWNr X3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgZnVsbF9maWxlKTsKKworICBk aXJuYW1lID0gbGRpcm5hbWUgKGZpbGVuYW1lKTsKKyAgaWYgKGRpcm5hbWUg IT0gTlVMTCkKKyAgICBtYWtlX2NsZWFudXAgKHhmcmVlLCBkaXJuYW1lKTsK KworICBzeXNpbmZvID0gc3lzY2FsbF9wYXJzZV94bWwgKGZ1bGxfZmlsZSwg ZmV0Y2hfeG1sX2Zyb21fZmlsZSwgZGlybmFtZSk7CisgIGRvX2NsZWFudXBz IChiYWNrX3RvKTsKKworICByZXR1cm4gc3lzaW5mbzsKK30KKworaW50Cit4 bWxfZ2V0X3N5c2NhbGxfbnVtYmVyIChjb25zdCBzdHJ1Y3Qgc3lzY2FsbHNf aW5mbyAqc3lzaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKnN5c2NhbGxfbmFtZSkKK3sKKyAgc3RydWN0IHN5c2NhbGxfZGVz YyAqc3lzZGVzYzsKKyAgaW50IGk7CisKKyAgaWYgKHN5c2luZm8gPT0gTlVM TAorICAgICAgfHwgc3lzY2FsbF9uYW1lID09IE5VTEwpCisgICAgcmV0dXJu IFVOS05PV05fU1lTQ0FMTDsKKworICBmb3IgKGkgPSAwOworICAgICAgIFZF Q19pdGVyYXRlKHN5c2NhbGxfZGVzY19wLCBzeXNpbmZvLT5zeXNjYWxscywg aSwgc3lzZGVzYyk7CisgICAgICAgaSsrKQorICAgIGlmIChzdHJjbXAgKHN5 c2Rlc2MtPm5hbWUsIHN5c2NhbGxfbmFtZSkgPT0gMCkKKyAgICAgIHJldHVy biBzeXNkZXNjLT5udW1iZXI7CisKKyAgcmV0dXJuIFVOS05PV05fU1lTQ0FM TDsKK30KKworY29uc3QgY2hhciAqCit4bWxfZ2V0X3N5c2NhbGxfbmFtZSAo Y29uc3Qgc3RydWN0IHN5c2NhbGxzX2luZm8gKnN5c2luZm8sCisgICAgICAg ICAgICAgICAgICAgICAgaW50IHN5c2NhbGxfbnVtYmVyKQoreworICBzdHJ1 Y3Qgc3lzY2FsbF9kZXNjICpzeXNkZXNjOworICBpbnQgaTsKKworICBpZiAo c3lzaW5mbyA9PSBOVUxMCisgICAgICB8fCBzeXNjYWxsX251bWJlciA8IDAp CisgICAgcmV0dXJuIE5VTEw7CisKKyAgZm9yIChpID0gMDsKKyAgICAgICBW RUNfaXRlcmF0ZShzeXNjYWxsX2Rlc2NfcCwgc3lzaW5mby0+c3lzY2FsbHMs IGksIHN5c2Rlc2MpOworICAgICAgIGkrKykKKyAgICBpZiAoc3lzZGVzYy0+ bnVtYmVyID09IHN5c2NhbGxfbnVtYmVyKQorICAgICAgcmV0dXJuIHN5c2Rl c2MtPm5hbWU7CisKKyAgcmV0dXJuIE5VTEw7Cit9CisKK2ludAoreG1sX251 bWJlcl9vZl9zeXNjYWxscyAoY29uc3Qgc3RydWN0IHN5c2NhbGxzX2luZm8g KnN5c2luZm8pCit7CisgIHJldHVybiAoc3lzaW5mbyA9PSBOVUxMID8gMCA6 IFZFQ19sZW5ndGgoc3lzY2FsbF9kZXNjX3AsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzaW5mby0+c3lzY2FsbHMp KTsKK30KKworY29uc3QgY2hhciAqKgoreG1sX2xpc3Rfb2Zfc3lzY2FsbHMg KGNvbnN0IHN0cnVjdCBzeXNjYWxsc19pbmZvICpzeXNpbmZvKQoreworICBz dHJ1Y3Qgc3lzY2FsbF9kZXNjICpzeXNkZXNjOworICBjb25zdCBjaGFyICoq bmFtZXMgPSBOVUxMOworICBpbnQgbnN5c2NhbGxzOworICBpbnQgaTsKKwor ICBpZiAoc3lzaW5mbyA9PSBOVUxMKQorICAgIHJldHVybiBOVUxMOworCisg IG5zeXNjYWxscyA9IFZFQ19sZW5ndGggKHN5c2NhbGxfZGVzY19wLCBzeXNp bmZvLT5zeXNjYWxscyk7CisgIG5hbWVzID0geG1hbGxvYyAoKG5zeXNjYWxs cyArIDEpICogc2l6ZW9mIChjaGFyICopKTsKKworICBmb3IgKGkgPSAwOwor ICAgICAgIFZFQ19pdGVyYXRlIChzeXNjYWxsX2Rlc2NfcCwgc3lzaW5mby0+ c3lzY2FsbHMsIGksIHN5c2Rlc2MpOworICAgICAgIGkrKykKKyAgICBuYW1l c1tpXSA9IHN5c2Rlc2MtPm5hbWU7CisKKyAgbmFtZXNbaV0gPSBOVUxMOwor CisgIHJldHVybiBuYW1lczsKK30KKworI2VuZGlmIC8qIEhBVkVfTElCRVhQ QVQgKi8KZGlmZiAtLWdpdCBhL2dkYi94bWwtc3lzY2FsbC5oIGIvZ2RiL3ht bC1zeXNjYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZmYxMWYyMAotLS0gL2Rldi9udWxsCisrKyBiL2dkYi94bWwtc3lzY2Fs bC5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qIEZ1bmN0aW9ucyB0aGF0IHByb3Zp ZGUgdGhlIG1lY2hhbmlzbSB0byBwYXJzZSBhIHN5c2NhbGwgWE1MIGZpbGUK KyAgIGFuZCBnZXQgaXRzIHZhbHVlcy4KKworICAgQ29weXJpZ2h0IChDKSAx OTg2LCAxOTg4LCAxOTg5LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0 LCAxOTk1LCAxOTk2LAorICAgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAw MywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOAorICAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdEQi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKwor ICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2lm bmRlZiBYTUxfU1lTQ0FMTF9ICisjZGVmaW5lIFhNTF9TWVNDQUxMX0ggMQor CisvKiBTdHJ1Y3R1cmUgdGhhdCBzdG9yZXMgaW5mb3JtYXRpb24gYWJvdXQg dGhlIHN5c3RlbSdzCisgICBzeXNjYWxscy4gICovCisKK3N0cnVjdCBzeXNj YWxsc19pbmZvOworCisKKy8qIEZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciBp bml0aWFsaXppbmcgdGhlIGluZm9ybWF0aW9uCisgICBhYm91dCB0aGUgc3lz Y2FsbHMuICBJdCByZWFkcyB0aGUgWE1MIGZpbGUgYW5kIGZpbGxzIHRoZQor ICAgc3RydWN0IHN5c2NhbGxzX2luZm8gd2l0aCB0aGUgdmFsdWVzLgorICAg CisgICBSZXR1cm5zIHRoZSBzdHJ1Y3Qgc3lzY2FsbHNfaW5mbyBpZiB0aGUg ZmlsZSBpcyB2YWxpZCwgTlVMTCBvdGhlcndpc2UuICAqLworCitjb25zdCBz dHJ1Y3Qgc3lzY2FsbHNfaW5mbyAqeG1sX2luaXRfc3lzY2FsbHNfaW5mbyAo Y29uc3QgY2hhciAqKTsKKworLyogRnVuY3Rpb24gdGhhdCByZXRyaWV2ZXMg dGhlIHN5c2NhbGwgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVu CisgICBuYW1lLgorCisgICBSZXR1cm5zIHRoZSBzeXNjYWxsIG51bWJlciBp ZiBmb3VuZCwgb3IgIG90aGVyd2lzZS4gICovCisKK2ludCB4bWxfZ2V0X3N5 c2NhbGxfbnVtYmVyIChjb25zdCBzdHJ1Y3Qgc3lzY2FsbHNfaW5mbyAqLCBj b25zdCBjaGFyICopOworCisvKiBGdW5jdGlvbiB0aGF0IHJldHJpZXZlcyB0 aGUgc3lzY2FsbCBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVuCisg ICBudW1iZXIuCisKKyAgIFJldHVybnMgdGhlIHN5c2NhbGwgbmFtZSBpZiBm b3VuZCwgTlVMTCBvdGhlcndpc2UuICAqLworY29uc3QgY2hhciAqeG1sX2dl dF9zeXNjYWxsX25hbWUgKGNvbnN0IHN0cnVjdCBzeXNjYWxsc19pbmZvICos IGludCk7CisKKy8qIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbnVtYmVy IG9mIHN5c2NhbGxzIGRlZmluZWQgaW4gdGhlIHN5c3RlbS4KKworICAgUmV0 dXJucyB0aGUgbnVtYmVyIG9mIHN5c2NhbGxzLCBvciB6ZXJvIG90aGVyd2lz ZS4gICovCitpbnQgeG1sX251bWJlcl9vZl9zeXNjYWxscyAoY29uc3Qgc3Ry dWN0IHN5c2NhbGxzX2luZm8gKik7CisKKy8qIEZ1bmN0aW9uIHVzZWQgdG8g cmV0cmlldmUgdGhlIGxpc3Qgb2Ygc3lzY2FsbHMgaW4gdGhlIHN5c3RlbS4g IFRoaXMgbGlzdAorICAgaXMgcmV0dXJuZWQgYXMgYW4gYXJyYXkgb2Ygc3Ry aW5ncy4KKworICAgUmV0dXJucyB0aGUgbGlzdCBvZiBzeXNjYWxscyBpbiB0 aGUgc3lzdGVtLCBvciBOVUxMIG90aGVyd2lzZS4gICovCitjb25zdCBjaGFy ICoqeG1sX2xpc3Rfb2Zfc3lzY2FsbHMgKGNvbnN0IHN0cnVjdCBzeXNjYWxs c19pbmZvICpzeXNpbmZvKTsKKworI2VuZGlmIC8qIFhNTF9TWVNDQUxMX0gg Ki8K --0016e652ff9a92bd3e0462b37d2f--