From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-43.freemail.mail.aliyun.com (out30-43.freemail.mail.aliyun.com [115.124.30.43]) by sourceware.org (Postfix) with ESMTPS id 25F993858D35 for ; Thu, 12 Jan 2023 05:34:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 25F993858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.alibaba.com X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R161e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045192;MF=jinma@linux.alibaba.com;NM=1;PH=DW;RN=1;SR=0;TI=W4_0.1.41_DEFAULT_210DE7A9_1673501343380_o7001c409; Received: from WS-web (jinma@linux.alibaba.com[W4_0.1.41_DEFAULT_210DE7A9_1673501343380_o7001c409]) at Thu, 12 Jan 2023 13:34:18 +0800 Date: Thu, 12 Jan 2023 13:34:18 +0800 From: "jinma" To: "gcc-patches" Reply-To: "jinma" Message-ID: <38dd7d4f-d522-49af-a56d-cc685eb3c11b.jinma@linux.alibaba.com> Subject: =?UTF-8?B?W1BBVENIIHYzXSBbUklTQ1ZdIEFkZCAnWmZhJyBleHRlbnNpb24gYWNjb3JkaW5nIHRvIHJp?= =?UTF-8?B?c2N2LWlzYS1tYW51YWw=?= X-Mailer: [Alimail-Mailagent][W4_0.1.41][DEFAULT][Chrome] MIME-Version: 1.0 x-aliyun-mail-creator: W4_0.1.41_DEFAULT_M3LTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwOC4wLjAuMCBTYWZhcmkvNTM3LjM2vN Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_122060_7f6f601c8700_63bf9bda_106c78" X-Spam-Status: No, score=-19.3 required=5.0 tests=BAYES_00,ENV_AND_HDR_SPF_MATCH,FREEMAIL_FORGED_REPLYTO,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: ------=ALIBOUNDARY_122060_7f6f601c8700_63bf9bda_106c78 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0ZWUxMWY5OWQyM2QzOWQ1NWJkYWRkODY2OTlhYzM1YTYwYzc5NzA1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpJbi1SZXBseS1UbzogPDc3YTE4 NjY2LWY3MWQtNDhlMi1hNTAyLWE4NzliM2ViNmNjZi5qaW5tYUBsaW51eC5h bGliYWJhLmNvbT4KUmVmZXJlbmNlczogPDc3YTE4NjY2LWY3MWQtNDhlMi1h NTAyLWE4NzliM2ViNmNjZi5qaW5tYUBsaW51eC5hbGliYWJhLmNvbT4KRnJv bTogSmluIE1hIDxqaW5tYUBsaW51eC5hbGliYWJhLmNvbT4KRGF0ZTogVGh1 LCAxMiBKYW4gMjAyMyAxMjo1MTozNyArMDgwMApTdWJqZWN0OiBbUEFUQ0gg djNdIFtSSVNDVl0gQWRkICdaZmEnIGV4dGVuc2lvbiBhY2NvcmRpbmcgdG8g cmlzY3YtaXNhLW1hbnVhbApUaGlzIHBhdGNoIGFkZHMgdGhlICdaZmEnIGV4 dGVuc2lvbiBmb3IgcmlzY3YsIHdoaWNoIGlzIGJhc2VkIG9uOgooIGh0dHBz Oi8vZ2l0aHViLmNvbS9yaXNjdi9yaXNjdi1pc2EtbWFudWFsL2NvbW1pdC9k NzRkOTllMjJkNWY2ODgzMmY3MDk4MmQ4Njc2MTRlMjE0OWEzYmQ3ICkKbGF0 ZXN0ICdaZmEnIGNoYW5nZSBvbiB0aGUgbWFzdGVyIGJyYW5jaCBvZiB0aGUg UklTQy1WIElTQSBNYW51YWwgYXMKb2YgdGhpcyB3cml0aW5nLgpUaGUgV2lr aSBQYWdlIChkZXRhaWxzKToKKCBodHRwczovL2dpdGh1Yi5jb20vYTRsZy9i aW51dGlscy1nZGIvd2lraS9yaXNjdl96ZmEgKQpUaGUgYmludXRpbHMtZ2Ri IGZvciAnWmZhJyBleHRlbnNpb246CiggaHR0cHM6Ly9zb3VyY2V3YXJlLm9y Zy9waXBlcm1haWwvYmludXRpbHMvMjAyMi1TZXB0ZW1iZXIvMTIyOTM4Lmh0 bWwgKQpnY2MvQ2hhbmdlTG9nOgogKiBjb21tb24vY29uZmlnL3Jpc2N2L3Jp c2N2LWNvbW1vbi5jYzoKICogY29uZmlnL3Jpc2N2L2NvbnN0cmFpbnRzLm1k IChaZik6CiAqIGNvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kOgogKiBjb25m aWcvcmlzY3YvcmlzY3YtYnVpbHRpbnMuY2MgKFJJU0NWX0ZUWVBFX05BTUUy KToKIChBVkFJTCk6CiAoUklTQ1ZfQVRZUEVfU0YpOgogKFJJU0NWX0FUWVBF X0RGKToKIChSSVNDVl9GVFlQRV9BVFlQRVMyKToKICogY29uZmlnL3Jpc2N2 L3Jpc2N2LWZ0eXBlcy5kZWYgKDIpOgogKiBjb25maWcvcmlzY3YvcmlzY3Yt b3B0cy5oIChNQVNLX1pGQSk6CiAoVEFSR0VUX1pGQSk6CiAqIGNvbmZpZy9y aXNjdi9yaXNjdi1wcm90b3MuaCAocmlzY3ZfZmxvYXRfY29uc3RfcnR4X2lu ZGV4X2Zvcl9mbGkpOgogKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2 X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpKToKIChyaXNjdl9jYW5u b3RfZm9yY2VfY29uc3RfbWVtKToKIChyaXNjdl9jb25zdF9pbnNucyk6CiAo cmlzY3ZfbGVnaXRpbWl6ZV9jb25zdF9tb3ZlKToKIChyaXNjdl9zcGxpdF82 NGJpdF9tb3ZlX3ApOgogKHJpc2N2X291dHB1dF9tb3ZlKToKIChyaXNjdl9t ZW1tb2RlbF9uZWVkc19yZWxlYXNlX2ZlbmNlKToKIChyaXNjdl9wcmludF9v cGVyYW5kKToKIChyaXNjdl9zZWNvbmRhcnlfbWVtb3J5X25lZWRlZCk6CiAq IGNvbmZpZy9yaXNjdi9yaXNjdi5oIChHUF9SRUdfUlRYX1ApOgogKiBjb25m aWcvcmlzY3YvcmlzY3YubWQgKHJpc2N2X2ZtaW5tPG1vZGU+Myk6CiAocmlz Y3ZfZm1heG08bW9kZT4zKToKIChmaXhfdHJ1bmNkZnNpMl96ZmEpOgogKHJv dW5kPEFOWUY6bW9kZT4yKToKIChyaW50PEFOWUY6bW9kZT4yKToKIChmPHF1 aWV0X3BhdHRlcm4+X3F1aWV0PEFOWUY6bW9kZT48WDptb2RlPjRfemZhKToK ICogY29uZmlnL3Jpc2N2L3Jpc2N2Lm9wdDoKZ2NjL3Rlc3RzdWl0ZS9DaGFu Z2VMb2c6CiAqIGdjYy50YXJnZXQvcmlzY3YvemZhLWZjdnRtb2QuYzogTmV3 IHRlc3QuCiAqIGdjYy50YXJnZXQvcmlzY3YvemZhLWZsZXEtZmx0cS5jOiBO ZXcgdGVzdC4KICogZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmxpLXpmaC5jOiBO ZXcgdGVzdC4KICogZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmxpLmM6IE5ldyB0 ZXN0LgogKiBnY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbWlubS1mbWF4bS5jOiBO ZXcgdGVzdC4KICogZ2NjLnRhcmdldC9yaXNjdi96ZmEtZm1vdmgtZm1vdnAu YzogTmV3IHRlc3QuCiAqIGdjYy50YXJnZXQvcmlzY3YvemZhLWZyb3VuZC5j OiBOZXcgdGVzdC4KLS0tCiBnY2MvY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNj di1jb21tb24uY2MgfCA0ICsKIGdjYy9jb25maWcvcmlzY3YvY29uc3RyYWlu dHMubWQgfCA3ICsrCiBnY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQg fCA0ICsKIGdjYy9jb25maWcvcmlzY3YvcmlzY3YtYnVpbHRpbnMuY2MgfCAx MSArKwogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1mdHlwZXMuZGVmIHwgMiAr CiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaCB8IDMgKwogZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCB8IDEgKwogZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi5jYyB8IDEwOSArKysrKysrKysrKysrKysrLQogZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5oIHwgMSArCiBnY2MvY29uZmlnL3Jpc2N2L3Jp c2N2Lm1kIHwgMTE0ICsrKysrKysrKysrKysrLS0tLQogZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi5vcHQgfCA0ICsKIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi96ZmEtZmN2dG1vZC5jIHwgMTIgKysKIC4uLi9nY2MudGFyZ2V0 L3Jpc2N2L3pmYS1mbGVxLWZsdHEuYyB8IDIwICsrKwogZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGktemZoLmMgfCA0MiArKysrKysr CiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsaS5jIHwg ODAgKysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9yaXNjdi96ZmEtZm1p bm0tZm1heG0uYyB8IDI1ICsrKysKIC4uLi9nY2MudGFyZ2V0L3Jpc2N2L3pm YS1mbW92aC1mbW92cC5jIHwgMTEgKysKIGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi96ZmEtZnJvdW5kLmMgfCAyNSArKysrCiAxOCBmaWxlcyBj aGFuZ2VkLCA0NTIgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3pmYS1mY3Z0bW9kLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsZXEtZmx0cS5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3pmYS1mbGktemZoLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsaS5jCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbWlu bS1mbWF4bS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3pmYS1mbW92aC1mbW92cC5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1m cm91bmQuYwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3Yv cmlzY3YtY29tbW9uLmNjIGIvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3Yvcmlz Y3YtY29tbW9uLmNjCmluZGV4IDBhODlmZGFmZmUyLi5jY2NlYzEyOTc1YyAx MDA2NDQKLS0tIGEvZ2NjL2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29t bW9uLmNjCisrKyBiL2djYy9jb21tb24vY29uZmlnL3Jpc2N2L3Jpc2N2LWNv bW1vbi5jYwpAQCAtMjE3LDYgKzIxNyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgcmlzY3ZfZXh0X3ZlcnNpb24gcmlzY3ZfZXh0X3ZlcnNpb25fdGFibGVb XSA9CiB7InpmaCIsIElTQV9TUEVDX0NMQVNTX05PTkUsIDEsIDB9LAogeyJ6 ZmhtaW4iLCBJU0FfU1BFQ19DTEFTU19OT05FLCAxLCAwfSwKKyB7InpmYSIs IElTQV9TUEVDX0NMQVNTX05PTkUsIDEsIDB9LAorCiB7InptbXVsIiwgSVNB X1NQRUNfQ0xBU1NfTk9ORSwgMSwgMH0sCiB7InN2aW52YWwiLCBJU0FfU1BF Q19DTEFTU19OT05FLCAxLCAwfSwKQEAgLTEyNDIsNiArMTI0NCw4IEBAIHN0 YXRpYyBjb25zdCByaXNjdl9leHRfZmxhZ190YWJsZV90IHJpc2N2X2V4dF9m bGFnX3RhYmxlW10gPQogeyJ6ZmhtaW4iLCAmZ2NjX29wdGlvbnM6Onhfcmlz Y3ZfemZfc3ViZXh0LCBNQVNLX1pGSE1JTn0sCiB7InpmaCIsICZnY2Nfb3B0 aW9uczo6eF9yaXNjdl96Zl9zdWJleHQsIE1BU0tfWkZIfSwKKyB7InpmYSIs ICZnY2Nfb3B0aW9uczo6eF9yaXNjdl96Zl9zdWJleHQsIE1BU0tfWkZBfSwK KwogeyJ6bW11bCIsICZnY2Nfb3B0aW9uczo6eF9yaXNjdl96bV9zdWJleHQs IE1BU0tfWk1NVUx9LAogeyJzdmludmFsIiwgJmdjY19vcHRpb25zOjp4X3Jp c2N2X3N2X3N1YmV4dCwgTUFTS19TVklOVkFMfSwKZGlmZiAtLWdpdCBhL2dj Yy9jb25maWcvcmlzY3YvY29uc3RyYWludHMubWQgYi9nY2MvY29uZmlnL3Jp c2N2L2NvbnN0cmFpbnRzLm1kCmluZGV4IDUxY2ZmYjJiY2I2Li4yZmQ0MDdi MWQ5YyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9jb25zdHJhaW50 cy5tZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2NvbnN0cmFpbnRzLm1kCkBA IC0xMTAsNiArMTEwLDEzIEBAIChkZWZpbmVfY29uc3RyYWludCAiVCIKIChh bmQgKG1hdGNoX29wZXJhbmQgMCAibW92ZV9vcGVyYW5kIikKIChtYXRjaF90 ZXN0ICJDT05TVEFOVF9QIChvcCkiKSkpCis7OyBaZmEgY29uc3RyYWludHMu CisKKyhkZWZpbmVfY29uc3RyYWludCAiWmYiCisgIkEgZmxvYXRpbmcgcG9p bnQgbnVtYmVyIHRoYXQgY2FuIGJlIGxvYWRlZCB1c2luZyBpbnN0cnVjdGlv biBgZmxpYCBpbiB6ZmEuIgorIChhbmQgKG1hdGNoX2NvZGUgImNvbnN0X2Rv dWJsZSIpCisgKG1hdGNoX3Rlc3QgIihyaXNjdl9mbG9hdF9jb25zdF9ydHhf aW5kZXhfZm9yX2ZsaSAob3ApICE9IC0xKSIpKSkKKwogOzsgVmVjdG9yIGNv bnN0cmFpbnRzLgogKGRlZmluZV9yZWdpc3Rlcl9jb25zdHJhaW50ICJ2ciIg IlRBUkdFVF9WRUNUT1IgPyBWX1JFR1MgOiBOT19SRUdTIgpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kIGIvZ2NjL2NvbmZp Zy9yaXNjdi9wcmVkaWNhdGVzLm1kCmluZGV4IDVhNWE0OWJmN2MwLi4wZThj ZjNiMzcwOCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNh dGVzLm1kCisrKyBiL2djYy9jb25maWcvcmlzY3YvcHJlZGljYXRlcy5tZApA QCAtMTQ5LDYgKzE0OSwxMCBAQCAoZGVmaW5lX3ByZWRpY2F0ZSAibW92ZV9v cGVyYW5kIgogY2FzZSBDT05TVF9QT0xZX0lOVDoKIHJldHVybiBrbm93bl9l cSAocnR4X3RvX3BvbHlfaW50NjQgKG9wKSwgQllURVNfUEVSX1JJU0NWX1ZF Q1RPUik7CisgY2FzZSBDT05TVF9ET1VCTEU6CisgcmV0dXJuIGNvbnN0XzBf b3BlcmFuZCAob3AsIG1vZGUpCisgfHwgKHJpc2N2X2Zsb2F0X2NvbnN0X3J0 eF9pbmRleF9mb3JfZmxpIChvcCkgIT0gLTEpOworCiBjYXNlIENPTlNUOgog Y2FzZSBTWU1CT0xfUkVGOgogY2FzZSBMQUJFTF9SRUY6CmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWJ1aWx0aW5zLmNjIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi1idWlsdGlucy5jYwppbmRleCAyNGFlMjJjOTlj ZC4uYTk5YjFlNTBkOTYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtYnVpbHRpbnMuY2MKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di1idWlsdGlucy5jYwpAQCAtNDIsNiArNDIsNyBAQCBhbG9uZyB3aXRoIEdD Qzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiBJZiBub3Qgc2VlCiAvKiBNYWNy b3MgdG8gY3JlYXRlIGFuIGVudW1lcmF0aW9uIGlkZW50aWZpZXIgZm9yIGEg ZnVuY3Rpb24gcHJvdG90eXBlLiAqLwogI2RlZmluZSBSSVNDVl9GVFlQRV9O QU1FMChBKSBSSVNDVl8jI0EjI19GVFlQRQogI2RlZmluZSBSSVNDVl9GVFlQ RV9OQU1FMShBLCBCKSBSSVNDVl8jI0EjI19GVFlQRV8jI0IKKyNkZWZpbmUg UklTQ1ZfRlRZUEVfTkFNRTIoQSwgQiwgQykgUklTQ1ZfIyNBIyNfRlRZUEVf IyNCIyNfIyNDCiAvKiBDbGFzc2lmaWVzIHRoZSBwcm90b3R5cGUgb2YgYSBi dWlsdC1pbiBmdW5jdGlvbi4gKi8KIGVudW0gcmlzY3ZfZnVuY3Rpb25fdHlw ZSB7CkBAIC05OCw2ICs5OSw3IEBAIEFWQUlMICh6ZXJvMzIsIFRBUkdFVF9a SUNCT1ogJiYgIVRBUkdFVF82NEJJVCkKIEFWQUlMICh6ZXJvNjQsIFRBUkdF VF9aSUNCT1ogJiYgVEFSR0VUXzY0QklUKQogQVZBSUwgKHByZWZldGNoaTMy LCBUQVJHRVRfWklDQk9QICYmICFUQVJHRVRfNjRCSVQpCiBBVkFJTCAocHJl ZmV0Y2hpNjQsIFRBUkdFVF9aSUNCT1AgJiYgVEFSR0VUXzY0QklUKQorQVZB SUwgKHpmYSwgVEFSR0VUX1pGQSkKIEFWQUlMIChhbHdheXMsICghMCkpCiAv KiBDb25zdHJ1Y3QgYSByaXNjdl9idWlsdGluX2Rlc2NyaXB0aW9uIGZyb20g dGhlIGdpdmVuIGFyZ3VtZW50cy4KQEAgLTEzNSw2ICsxMzcsOCBAQCBBVkFJ TCAoYWx3YXlzLCAoITApKQogI2RlZmluZSBSSVNDVl9BVFlQRV9TSSBpbnRT SV90eXBlX25vZGUKICNkZWZpbmUgUklTQ1ZfQVRZUEVfREkgaW50RElfdHlw ZV9ub2RlCiAjZGVmaW5lIFJJU0NWX0FUWVBFX1ZPSURfUFRSIHB0cl90eXBl X25vZGUKKyNkZWZpbmUgUklTQ1ZfQVRZUEVfU0YgZmxvYXRfdHlwZV9ub2Rl CisjZGVmaW5lIFJJU0NWX0FUWVBFX0RGIGRvdWJsZV90eXBlX25vZGUKIC8q IFJJU0NWX0ZUWVBFX0FUWVBFU04gdGFrZXMgTiBSSVNDVl9GVFlQRVMtbGlr ZSB0eXBlIGNvZGVzIGFuZCBsaXN0cwogdGhlaXIgYXNzb2NpYXRlZCBSSVND Vl9BVFlQRXMuICovCkBAIC0xNDIsNiArMTQ2LDggQEAgQVZBSUwgKGFsd2F5 cywgKCEwKSkKIFJJU0NWX0FUWVBFXyMjQQogI2RlZmluZSBSSVNDVl9GVFlQ RV9BVFlQRVMxKEEsIEIpIFwKIFJJU0NWX0FUWVBFXyMjQSwgUklTQ1ZfQVRZ UEVfIyNCCisjZGVmaW5lIFJJU0NWX0ZUWVBFX0FUWVBFUzIoQSwgQiwgQykg XAorIFJJU0NWX0FUWVBFXyMjQSwgUklTQ1ZfQVRZUEVfIyNCLCBSSVNDVl9B VFlQRV8jI0MKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmlzY3ZfYnVpbHRpbl9k ZXNjcmlwdGlvbiByaXNjdl9idWlsdGluc1tdID0gewogI2luY2x1ZGUgInJp c2N2LWNtby5kZWYiCkBAIC0xNDksNiArMTU1LDExIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgcmlzY3ZfYnVpbHRpbl9kZXNjcmlwdGlvbiByaXNjdl9idWls dGluc1tdID0gewogRElSRUNUX0JVSUxUSU4gKGZyZmxhZ3MsIFJJU0NWX1VT SV9GVFlQRSwgaGFyZF9mbG9hdCksCiBESVJFQ1RfTk9fVEFSR0VUX0JVSUxU SU4gKGZzZmxhZ3MsIFJJU0NWX1ZPSURfRlRZUEVfVVNJLCBoYXJkX2Zsb2F0 KSwKIERJUkVDVF9OT19UQVJHRVRfQlVJTFRJTiAocGF1c2UsIFJJU0NWX1ZP SURfRlRZUEUsIGFsd2F5cyksCisKKyBSSVNDVl9CVUlMVElOIChmbWlubXNm MywgImZtaW5tZiIsIFJJU0NWX0JVSUxUSU5fRElSRUNULCBSSVNDVl9TRl9G VFlQRV9TRl9TRiwgemZhKSwKKyBSSVNDVl9CVUlMVElOIChmbWlubWRmMywg ImZtaW5tIiwgUklTQ1ZfQlVJTFRJTl9ESVJFQ1QsIFJJU0NWX0RGX0ZUWVBF X0RGX0RGLCB6ZmEpLAorIFJJU0NWX0JVSUxUSU4gKGZtYXhtc2YzLCAiZm1h eG1mIiwgUklTQ1ZfQlVJTFRJTl9ESVJFQ1QsIFJJU0NWX1NGX0ZUWVBFX1NG X1NGLCB6ZmEpLAorIFJJU0NWX0JVSUxUSU4gKGZtYXhtZGYzLCAiZm1heG0i LCBSSVNDVl9CVUlMVElOX0RJUkVDVCwgUklTQ1ZfREZfRlRZUEVfREZfREYs IHpmYSksCiB9OwogLyogSW5kZXggSSBpcyB0aGUgZnVuY3Rpb24gZGVjbGFy YXRpb24gZm9yIHJpc2N2X2J1aWx0aW5zW0ldLCBvciBudWxsIGlmIHRoZQpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1mdHlwZXMuZGVm IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1mdHlwZXMuZGVmCmluZGV4IGJm MmQzMDc4MmQ5Li5kZDNlNmYzOWZmMCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1mdHlwZXMuZGVmCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtZnR5cGVzLmRlZgpAQCAtMzIsMyArMzIsNSBAQCBERUZfUklT Q1ZfRlRZUEUgKDEsIChWT0lELCBVU0kpKQogREVGX1JJU0NWX0ZUWVBFICgx LCAoVk9JRCwgVk9JRF9QVFIpKQogREVGX1JJU0NWX0ZUWVBFICgxLCAoU0ks IFNJKSkKIERFRl9SSVNDVl9GVFlQRSAoMSwgKERJLCBESSkpCitERUZfUklT Q1ZfRlRZUEUgKDIsIChTRiwgU0YsIFNGKSkKK0RFRl9SSVNDVl9GVFlQRSAo MiwgKERGLCBERiwgREYpKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi1vcHRzLmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMu aAppbmRleCAyNWZkODViMDliMS4uM2FiNmQ1NzY2YzQgMTAwNjQ0Ci0tLSBh L2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5oCisrKyBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3Ytb3B0cy5oCkBAIC0xNzIsNiArMTcyLDkgQEAgZW51 bSBzdGFja19wcm90ZWN0b3JfZ3VhcmQgewogI2RlZmluZSBUQVJHRVRfWkZI TUlOICgocmlzY3ZfemZfc3ViZXh0ICYgTUFTS19aRkhNSU4pICE9IDApCiAj ZGVmaW5lIFRBUkdFVF9aRkggKChyaXNjdl96Zl9zdWJleHQgJiBNQVNLX1pG SCkgIT0gMCkKKyNkZWZpbmUgTUFTS19aRkEgKDEgPDwgMCkKKyNkZWZpbmUg VEFSR0VUX1pGQSAoKHJpc2N2X3pmX3N1YmV4dCAmIE1BU0tfWkZBKSAhPSAw KQorCiAjZGVmaW5lIE1BU0tfWk1NVUwgKDEgPDwgMCkKICNkZWZpbmUgVEFS R0VUX1pNTVVMICgocmlzY3Zfem1fc3ViZXh0ICYgTUFTS19aTU1VTCkgIT0g MCkKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9z LmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oCmluZGV4IDY0 ZWU1NmI4YTdjLi5kOTllYzNlOTAwMiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1wcm90b3MuaAorKysgYi9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LXByb3Rvcy5oCkBAIC0zOCw2ICszOCw3IEBAIGVudW0gcmlzY3Zf c3ltYm9sX3R5cGUgewogLyogUm91dGluZXMgaW1wbGVtZW50ZWQgaW4gcmlz Y3YuY2MuICovCiBleHRlcm4gZW51bSByaXNjdl9zeW1ib2xfdHlwZSByaXNj dl9jbGFzc2lmeV9zeW1ib2xpY19leHByZXNzaW9uIChydHgpOwogZXh0ZXJu IGJvb2wgcmlzY3Zfc3ltYm9saWNfY29uc3RhbnRfcCAocnR4LCBlbnVtIHJp c2N2X3N5bWJvbF90eXBlICopOworZXh0ZXJuIGludCByaXNjdl9mbG9hdF9j b25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAocnR4KTsKIGV4dGVybiBpbnQgcmlz Y3ZfcmVnbm9fbW9kZV9va19mb3JfYmFzZV9wIChpbnQsIG1hY2hpbmVfbW9k ZSwgYm9vbCk7CiBleHRlcm4gaW50IHJpc2N2X2FkZHJlc3NfaW5zbnMgKHJ0 eCwgbWFjaGluZV9tb2RlLCBib29sKTsKIGV4dGVybiBpbnQgcmlzY3ZfY29u c3RfaW5zbnMgKHJ0eCk7CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYwppbmRleCA5 YTUzOTk5YTM5ZC4uNzc3NzdlOGE3N2YgMTAwNjQ0Ci0tLSBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YuY2MKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di5jYwpAQCAtNzk5LDYgKzc5OSw1NyBAQCBzdGF0aWMgaW50IHJpc2N2X3N5 bWJvbF9pbnNucyAoZW51bSByaXNjdl9zeW1ib2xfdHlwZSB0eXBlKQogfQog fQorLyogSW1tZWRpYXRlIHZhbHVlcyBsb2FkZWQgYnkgdGhlIEZMSS5TIGlu c3RydWN0aW9uIGluIENoYXB0ZXIgMjUgb2YgdGhlIGxhdGVzdCBSSVNDLVYg SVNBCisgTWFudWFsIGRyYWZ0LiBGb3IgZGV0YWlscywgcGxlYXNlIHNlZToK KyBodHRwczovL2dpdGh1Yi5jb20vcmlzY3YvcmlzY3YtaXNhLW1hbnVhbC9y ZWxlYXNlcy90YWcvZHJhZnQtMjAyMjEyMTctY2IzYjlkMSAqLworCitzdGF0 aWMgdW5zaWduZWQgSE9TVF9XSURFX0lOVCBmbGlfdmFsdWVbMzJdID0KK3sK KyAweGJmODAwMDAwLCAweDAwODAwMDAwLCAweDM3ODAwMDAwLCAweDM4MDAw MDAwLCAweDNiODAwMDAwLCAweDNjMDAwMDAwLCAweDNkODAwMDAwLCAweDNl MDAwMDAwLAorIDB4M2U4MDAwMDAsIDB4M2VhMDAwMDAsIDB4M2VjMDAwMDAs IDB4M2VlMDAwMDAsIDB4M2YwMDAwMDAsIDB4M2YyMDAwMDAsIDB4M2Y0MDAw MDAsIDB4M2Y2MDAwMDAsCisgMHgzZjgwMDAwMCwgMHgzZmEwMDAwMCwgMHgz ZmMwMDAwMCwgMHgzZmUwMDAwMCwgMHg0MDAwMDAwMCwgMHg0MDIwMDAwMCwg MHg0MDQwMDAwMCwgMHg0MDgwMDAwMCwKKyAweDQxMDAwMDAwLCAweDQxODAw MDAwLCAweDQzMDAwMDAwLCAweDQzODAwMDAwLCAweDQ3MDAwMDAwLCAweDQ3 ODAwMDAwLCAweDdmODAwMDAwLCAweDdmYzAwMDAwCit9OworCisvKiBSZXR1 cm4gaW5kZXggb2YgdGhlIEZMSSBpbnN0cnVjdGlvbiB0YWJsZSBpZiBydHgg WCBpcyBhbiBpbW1lZGlhdGUgY29uc3RhbnQgdGhhdAorIGNhbiBiZSBtb3Zl ZCB1c2luZyBhIHNpbmdsZSBGTEkgaW5zdHJ1Y3Rpb24gaW4gemZhIGV4dGVu c2lvbi4gLTEgb3RoZXJ3aXNlLiAqLworCitpbnQKK3Jpc2N2X2Zsb2F0X2Nv bnN0X3J0eF9pbmRleF9mb3JfZmxpIChydHggeCkKK3sKKyBtYWNoaW5lX21v ZGUgbW9kZSA9IEdFVF9NT0RFICh4KTsKKworIGlmICghVEFSR0VUX1pGQSB8 fCBtb2RlID09IFZPSURtb2RlCisgfHwgIUNPTlNUX0RPVUJMRV9QKHgpCisg fHwgKG1vZGUgPT0gSEZtb2RlICYmICFUQVJHRVRfWkZITUlOKQorIHx8ICht b2RlID09IFNGbW9kZSAmJiAhVEFSR0VUX0hBUkRfRkxPQVQpCisgfHwgKG1v ZGUgPT0gREZtb2RlICYmICFUQVJHRVRfRE9VQkxFX0ZMT0FUKSkKKyByZXR1 cm4gLTE7CisKKyBpZiAoU0NBTEFSX0ZMT0FUX01PREVfUCAobW9kZSkKKyAm JiBHRVRfTU9ERV9CSVRTSVpFIChtb2RlKS50b19jb25zdGFudCAoKSA8PSBI T1NUX0JJVFNfUEVSX1dJREVfSU5UCisgLyogT25seSBzdXBwb3J0IHVwIHRv IERGIG1vZGUuICovCisgJiYgR0VUX01PREVfQklUU0laRSAobW9kZSkudG9f Y29uc3RhbnQgKCkgPD0gR0VUX01PREVfQklUU0laRSAoREZtb2RlKSkKKyB7 CisgdW5zaWduZWQgSE9TVF9XSURFX0lOVCBpdmFsID0gMDsKKyBSRUFMX1ZB TFVFX1RZUEUgZDsKKworIGQgPSByZWFsX3ZhbHVlX3RydW5jYXRlIChmbG9h dF9tb2RlX2Zvcl9zaXplICgzMikucmVxdWlyZSAoKSwgKkNPTlNUX0RPVUJM RV9SRUFMX1ZBTFVFICh4KSk7CisgUkVBTF9WQUxVRV9UT19UQVJHRVRfU0lO R0xFIChkLCBpdmFsKTsKKworIGZvciAoaW50IGkgPSAwOyBpIDwgMzI7IGkr KykKKyB7CisgaWYgKGl2YWwgPT0gZmxpX3ZhbHVlW2ldKQorIHJldHVybiBp OworIH0KKworIC8qIFRoZSBtaW5pbXVtIHBvc2l0aXZlIG5vcm1hbCB2YWx1 ZSAoNi4xMDRFLTUpIGZvciBoYWxmLXByZWNpc2lvbi4gKi8KKyBpZiAobW9k ZSA9PSBIRm1vZGUgJiYgaXZhbCA9PSAweDM4ODAwMDAwKQorIHJldHVybiAx OworIH0KKyByZXR1cm4gLTE7Cit9CisKIC8qIEltcGxlbWVudCBUQVJHRVRf TEVHSVRJTUFURV9DT05TVEFOVF9QLiAqLwogc3RhdGljIGJvb2wKQEAgLTgy Niw2ICs4NzcsOSBAQCByaXNjdl9jYW5ub3RfZm9yY2VfY29uc3RfbWVtICht YWNoaW5lX21vZGUgbW9kZSBBVFRSSUJVVEVfVU5VU0VELCBydHggeCkKIGlm IChHRVRfQ09ERSAoeCkgPT0gSElHSCkKIHJldHVybiB0cnVlOworIGlmIChy aXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAoeCkgIT0gLTEp CisgcmV0dXJuIHRydWU7CisKIHNwbGl0X2NvbnN0ICh4LCAmYmFzZSwgJm9m ZnNldCk7CiBpZiAocmlzY3Zfc3ltYm9saWNfY29uc3RhbnRfcCAoYmFzZSwg JnR5cGUpKQogewpAQCAtMTE3OSw2ICsxMjMzLDggQEAgcmlzY3ZfY29uc3Rf aW5zbnMgKHJ0eCB4KQogfQogY2FzZSBDT05TVF9ET1VCTEU6CisgaWYgKHJp c2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpICh4KSAhPSAtMSkK KyByZXR1cm4gNDsKIGNhc2UgQ09OU1RfVkVDVE9SOgogLyogV2UgY2FuIHVz ZSB4MCB0byBsb2FkIGZsb2F0aW5nLXBvaW50IHplcm8uICovCiByZXR1cm4g eCA9PSBDT05TVDBfUlRYIChHRVRfTU9ERSAoeCkpID8gMSA6IDA7CkBAIC0x NzE1LDYgKzE3NzEsMTIgQEAgcmlzY3ZfbGVnaXRpbWl6ZV9jb25zdF9tb3Zl IChtYWNoaW5lX21vZGUgbW9kZSwgcnR4IGRlc3QsIHJ0eCBzcmMpCiByZXR1 cm47CiB9CisgaWYgKHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3Jf ZmxpIChzcmMpICE9IC0xKQorIHsKKyByaXNjdl9lbWl0X3NldCAoZGVzdCwg c3JjKTsKKyByZXR1cm47CisgfQorCiAvKiBTcGxpdCBtb3ZlcyBvZiBzeW1i b2xpYyBjb25zdGFudHMgaW50byBoaWdoL2xvdyBwYWlycy4gKi8KIGlmIChy aXNjdl9zcGxpdF9zeW1ib2wgKGRlc3QsIHNyYywgTUFYX01BQ0hJTkVfTU9E RSwgJnNyYywgRkFMU0UpKQogewpAQCAtMjczMiw2ICsyNzk0LDkgQEAgcmlz Y3Zfc3BsaXRfNjRiaXRfbW92ZV9wIChydHggZGVzdCwgcnR4IHNyYykKICYm ICgoRlBfUkVHX1JUWF9QIChzcmMpICYmIEZQX1JFR19SVFhfUCAoZGVzdCkp CiB8fCAoRlBfUkVHX1JUWF9QIChkZXN0KSAmJiBNRU1fUCAoc3JjKSkKIHx8 IChGUF9SRUdfUlRYX1AgKHNyYykgJiYgTUVNX1AgKGRlc3QpKQorIHx8IChU QVJHRVRfWkZBCisgJiYgKChGUF9SRUdfUlRYX1AgKGRlc3QpICYmIEdQX1JF R19SVFhfUCAoc3JjKSkKKyB8fCAoRlBfUkVHX1JUWF9QIChzcmMpICYmIEdQ X1JFR19SVFhfUCAoZGVzdCkpKSkKIHx8IChGUF9SRUdfUlRYX1AgKGRlc3Qp ICYmIHNyYyA9PSBDT05TVDBfUlRYIChHRVRfTU9ERSAoc3JjKSkpKSkKIHJl dHVybiBmYWxzZTsKQEAgLTI3OTUsNiArMjg2MCw4IEBAIHJpc2N2X291dHB1 dF9tb3ZlIChydHggZGVzdCwgcnR4IHNyYykKIGNhc2UgNDoKIHJldHVybiAi Zm12Lnguc1x0JTAsJTEiOwogY2FzZSA4OgorIGlmICghVEFSR0VUXzY0QklU ICYmIFRBUkdFVF9aRkEpCisgcmV0dXJuICJmbXYueC53XHQlMCwlMVxuXHRm bXZoLnguZFx0JU4wLCUxIjsKIHJldHVybiAiZm12LnguZFx0JTAsJTEiOwog fQpAQCAtMjg1NCw2ICsyOTIxLDggQEAgcmlzY3Zfb3V0cHV0X21vdmUgKHJ0 eCBkZXN0LCBydHggc3JjKQogY2FzZSA4OgogaWYgKFRBUkdFVF82NEJJVCkK IHJldHVybiAiZm12LmQueFx0JTAsJXoxIjsKKyBlbHNlIGlmIChUQVJHRVRf WkZBICYmIHNyYyAhPSBDT05TVDBfUlRYIChtb2RlKSkKKyByZXR1cm4gImZt dnAuZC54XHQlMCwlMSwlTjEiOwogLyogaW4gUlYzMiwgd2UgY2FuIGVtdWxh dGUgZm12LmQueCAlMCwgeDAgdXNpbmcgZmN2dC5kLncgKi8KIGdjY19hc3Nl cnQgKHNyYyA9PSBDT05TVDBfUlRYIChtb2RlKSk7CiByZXR1cm4gImZjdnQu ZC53XHQlMCx4MCI7CkBAIC0yOTA2LDYgKzI5NzUsMTQgQEAgcmlzY3Zfb3V0 cHV0X21vdmUgKHJ0eCBkZXN0LCBydHggc3JjKQogY2FzZSA4OgogcmV0dXJu ICJmbGRcdCUwLCUxIjsKIH0KKworIGlmIChzcmNfY29kZSA9PSBDT05TVF9E T1VCTEUgJiYgKHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxp IChzcmMpICE9IC0xKSkKKyBzd2l0Y2ggKHdpZHRoKQorIHsKKyBjYXNlIDI6 IHJldHVybiAiZmxpLmhcdCUwLCUxIjsKKyBjYXNlIDQ6IHJldHVybiAiZmxp LnNcdCUwLCUxIjsKKyBjYXNlIDg6IHJldHVybiAiZmxpLmRcdCUwLCUxIjsK KyB9CiB9CiBpZiAoZGVzdF9jb2RlID09IFJFRyAmJiBHUF9SRUdfUCAoUkVH Tk8gKGRlc3QpKSAmJiBzcmNfY29kZSA9PSBDT05TVF9QT0xZX0lOVCkKIHsK QEAgLTQyMDksNiArNDI4Niw3IEBAIHJpc2N2X21lbW1vZGVsX25lZWRzX3Jl bGVhc2VfZmVuY2UgKGVudW0gbWVtbW9kZWwgbW9kZWwpCiAnUycgUHJpbnQg c2hpZnQtaW5kZXggb2Ygc2luZ2xlLWJpdCBtYXNrIE9QLgogJ1QnIFByaW50 IHNoaWZ0LWluZGV4IG9mIGludmVydGVkIHNpbmdsZS1iaXQgbWFzayBPUC4K ICd+JyBQcmludCB3IGlmIFRBUkdFVF82NEJJVCBpcyB0cnVlOyBvdGhlcndp c2Ugbm90IHByaW50IGFueXRoaW5nLgorICdOJyBQcmludCBuZXh0IHJlZ2lz dGVyLgogTm90ZSBwbGVhc2Uga2VlcCB0aGlzIGxpc3QgYW5kIHRoZSBsaXN0 IGluIHJpc2N2Lm1kIGluIHN5bmMuICovCkBAIC00MzUwLDYgKzQ0MjgsOSBA QCByaXNjdl9wcmludF9vcGVyYW5kIChGSUxFICpmaWxlLCBydHggb3AsIGlu dCBsZXR0ZXIpCiBvdXRwdXRfYWRkcl9jb25zdCAoZmlsZSwgbmV3b3ApOwog YnJlYWs7CiB9CisgY2FzZSAnTic6CisgZnB1dHMgKHJlZ19uYW1lc1tSRUdO TyAob3ApICsgMV0sIGZpbGUpOworIGJyZWFrOwogZGVmYXVsdDoKIHN3aXRj aCAoY29kZSkKIHsKQEAgLTQzNjYsNiArNDQ0NywzMSBAQCByaXNjdl9wcmlu dF9vcGVyYW5kIChGSUxFICpmaWxlLCBydHggb3AsIGludCBsZXR0ZXIpCiBv dXRwdXRfYWRkcmVzcyAobW9kZSwgWEVYUCAob3AsIDApKTsKIGJyZWFrOwor IGNhc2UgQ09OU1RfRE9VQkxFOgorIHsKKyBpZiAobGV0dGVyID09ICd6JyAm JiBvcCA9PSBDT05TVDBfUlRYIChHRVRfTU9ERSAob3ApKSkKKyB7CisgZnB1 dHMgKHJlZ19uYW1lc1tHUF9SRUdfRklSU1RdLCBmaWxlKTsKKyBicmVhazsK KyB9CisKKyBpZiAocmlzY3ZfZmxvYXRfY29uc3RfcnR4X2luZGV4X2Zvcl9m bGkgKG9wKSA9PSAtMSkKKyBvdXRwdXRfb3BlcmFuZF9sb3NzYWdlICgiaW52 YWxpZCB1c2Ugb2YgJyUlJWMnIiwgbGV0dGVyKTsKKworIGlmIChyaXNjdl9m bGlfdmFsdWVfYnlfaW50KQorIHsKKyBhc21fZnByaW50ZiAoZmlsZSwgIiVk IiwgcmlzY3ZfZmxvYXRfY29uc3RfcnR4X2luZGV4X2Zvcl9mbGkgKG9wKSk7 CisgYnJlYWs7CisgfQorCisgY29uc3QgdW5zaWduZWQgaW50IGJ1Zl9zaXpl ID0gMzI7CisgY2hhciBmbG9hdF9idWZbYnVmX3NpemVdID0geydcMCd9Owor IHJlYWxfdG9fZGVjaW1hbF9mb3JfbW9kZSAoZmxvYXRfYnVmLCBDT05TVF9E T1VCTEVfUkVBTF9WQUxVRSAob3ApLAorIGJ1Zl9zaXplLCBidWZfc2l6ZSwg MSwgR0VUX01PREUob3ApKTsKKyBhc21fZnByaW50ZiAoZmlsZSwgIiVzIiwg ZmxvYXRfYnVmKTsKKyBicmVhazsKKyB9CisKIGRlZmF1bHQ6CiBpZiAobGV0 dGVyID09ICd6JyAmJiBvcCA9PSBDT05TVDBfUlRYIChHRVRfTU9ERSAob3Ap KSkKIGZwdXRzIChyZWdfbmFtZXNbR1BfUkVHX0ZJUlNUXSwgZmlsZSk7CkBA IC01Njc2LDcgKzU3ODIsOCBAQCByaXNjdl9zZWNvbmRhcnlfbWVtb3J5X25l ZWRlZCAobWFjaGluZV9tb2RlIG1vZGUsIHJlZ19jbGFzc190IGNsYXNzMSwK IHsKIHJldHVybiAoIXJpc2N2X3ZfZXh0X3ZlY3Rvcl9tb2RlX3AgKG1vZGUp CiAmJiBHRVRfTU9ERV9TSVpFIChtb2RlKS50b19jb25zdGFudCAoKSA+IFVO SVRTX1BFUl9XT1JECi0gJiYgKGNsYXNzMSA9PSBGUF9SRUdTKSAhPSAoY2xh c3MyID09IEZQX1JFR1MpKTsKKyAmJiAoY2xhc3MxID09IEZQX1JFR1MpICE9 IChjbGFzczIgPT0gRlBfUkVHUykKKyAmJiAhVEFSR0VUX1pGQSk7CiB9CiAv KiBJbXBsZW1lbnQgVEFSR0VUX1JFR0lTVEVSX01PVkVfQ09TVC4gKi8KZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuaCBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3YuaAppbmRleCAwYWI3MzliZDZlYi4uODkxOGYzNTBl YzAgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuaAorKysg Yi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmgKQEAgLTM3Nyw2ICszNzcsNyBA QCBBU01fTUlTQV9TUEVDCiAjZGVmaW5lIFNJQkNBTExfUkVHX1AoUkVHTk8p IFwKIFRFU1RfSEFSRF9SRUdfQklUIChyZWdfY2xhc3NfY29udGVudHNbU0lC Q0FMTF9SRUdTXSwgUkVHTk8pCisjZGVmaW5lIEdQX1JFR19SVFhfUChYKSAo UkVHX1AgKFgpICYmIEdQX1JFR19QIChSRUdOTyAoWCkpKQogI2RlZmluZSBG UF9SRUdfUlRYX1AoWCkgKFJFR19QIChYKSAmJiBGUF9SRUdfUCAoUkVHTk8g KFgpKSkKIC8qIFVzZSBzMCBhcyB0aGUgZnJhbWUgcG9pbnRlciBpZiBpdCBp cyBzbyByZXF1ZXN0ZWQuICovCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2Lm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZAppbmRl eCBhMTBjZWUyYTBkYy4uZDkwZWE4ZDM1ZTcgMTAwNjQ0Ci0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YubWQKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5tZApAQCAtNTksNiArNTksOCBAQCAoZGVmaW5lX2NfZW51bSAidW5z cGVjIiBbCiBVTlNQRUNfTFJPVU5ECiBVTlNQRUNfRk1JTgogVU5TUEVDX0ZN QVgKKyBVTlNQRUNfRk1JTk0KKyBVTlNQRUNfRk1BWE0KIDs7IFN0YWNrIHRp ZQogVU5TUEVDX1RJRQpAQCAtMTIyMCw2ICsxMjIyLDI2IEBAIChkZWZpbmVf aW5zbiAibmVnPG1vZGU+MiIKIDs7CiA7OyAuLi4uLi4uLi4uLi4uLi4uLi4u LgorKGRlZmluZV9pbnNuICJyaXNjdl9mbWlubTxtb2RlPjMiCisgWyhzZXQg KG1hdGNoX29wZXJhbmQ6QU5ZRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWYi KQorICh1bnNwZWM6QU5ZRiBbKHVzZSAobWF0Y2hfb3BlcmFuZDpBTllGIDEg InJlZ2lzdGVyX29wZXJhbmQiICIgZiIpKQorICh1c2UgKG1hdGNoX29wZXJh bmQ6QU5ZRiAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiIGYiKSldCisgVU5TUEVD X0ZNSU5NKSldCisgIlRBUkdFVF9IQVJEX0ZMT0FUICYmIFRBUkdFVF9aRkEg JiYgIUhPTk9SX1NOQU5TICg8TU9ERT5tb2RlKSIKKyAiZm1pbm0uPGZtdD5c dCUwLCUxLCUyIgorIFsoc2V0X2F0dHIgInR5cGUiICJmbW92ZSIpCisgKHNl dF9hdHRyICJtb2RlIiAiPFVOSVRNT0RFPiIpXSkKKworKGRlZmluZV9pbnNu ICJyaXNjdl9mbWF4bTxtb2RlPjMiCisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 QU5ZRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWYiKQorICh1bnNwZWM6QU5Z RiBbKHVzZSAobWF0Y2hfb3BlcmFuZDpBTllGIDEgInJlZ2lzdGVyX29wZXJh bmQiICIgZiIpKQorICh1c2UgKG1hdGNoX29wZXJhbmQ6QU5ZRiAyICJyZWdp c3Rlcl9vcGVyYW5kIiAiIGYiKSldCisgVU5TUEVDX0ZNQVhNKSldCisgIlRB UkdFVF9IQVJEX0ZMT0FUICYmIFRBUkdFVF9aRkEgJiYgIUhPTk9SX1NOQU5T ICg8TU9ERT5tb2RlKSIKKyAiZm1heG0uPGZtdD5cdCUwLCUxLCUyIgorIFso c2V0X2F0dHIgInR5cGUiICJmbW92ZSIpCisgKHNldF9hdHRyICJtb2RlIiAi PFVOSVRNT0RFPiIpXSkKKwogKGRlZmluZV9pbnNuICJmbWluPG1vZGU+MyIK IFsoc2V0IChtYXRjaF9vcGVyYW5kOkFOWUYgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgIj1mIikKICh1bnNwZWM6QU5ZRiBbKHVzZSAobWF0Y2hfb3BlcmFuZDpB TllGIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgZiIpKQpAQCAtMTQ5NCwxMyAr MTUxNiwxMyBAQCAoZGVmaW5lX2V4cGFuZCAibW92aGYiCiB9KQogKGRlZmlu ZV9pbnNuICIqbW92aGZfaGFyZGZsb2F0IgotIFsoc2V0IChtYXRjaF9vcGVy YW5kOkhGIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPWYsZixmLG0sbSwq ZiwqciwgKnIsKnIsKm0iKQotIChtYXRjaF9vcGVyYW5kOkhGIDEgIm1vdmVf b3BlcmFuZCIgIiBmLEcsbSxmLEcsKnIsKmYsKkcqciwqbSwqciIpKV0KKyBb KHNldCAobWF0Y2hfb3BlcmFuZDpIRiAwICJub25pbW1lZGlhdGVfb3BlcmFu ZCIgIj1mLCBmLGYsZixtLG0sKmYsKnIsICpyLCpyLCptIikKKyAobWF0Y2hf b3BlcmFuZDpIRiAxICJtb3ZlX29wZXJhbmQiICIgZixaZixHLG0sZixHLCpy LCpmLCpHKnIsKm0sKnIiKSldCiAiVEFSR0VUX1pGSE1JTgogJiYgKHJlZ2lz dGVyX29wZXJhbmQgKG9wZXJhbmRzWzBdLCBIRm1vZGUpCiB8fCByZWdfb3Jf MF9vcGVyYW5kIChvcGVyYW5kc1sxXSwgSEZtb2RlKSkiCiB7IHJldHVybiBy aXNjdl9vdXRwdXRfbW92ZSAob3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdKTsg fQotIFsoc2V0X2F0dHIgIm1vdmVfdHlwZSIgImZtb3ZlLG10YyxmcGxvYWQs ZnBzdG9yZSxzdG9yZSxtdGMsbWZjLG1vdmUsbG9hZCxzdG9yZSIpCisgWyhz ZXRfYXR0ciAibW92ZV90eXBlIiAiZm1vdmUsZm1vdmUsbXRjLGZwbG9hZCxm cHN0b3JlLHN0b3JlLG10YyxtZmMsbW92ZSxsb2FkLHN0b3JlIikKIChzZXRf YXR0ciAibW9kZSIgIkhGIildKQogKGRlZmluZV9pbnNuICIqbW92aGZfc29m dGZsb2F0IgpAQCAtMTUyMCw2ICsxNTQyLDE1IEBAIChkZWZpbmVfaW5zbiAi Km1vdmhmX3NvZnRmbG9hdCIKIDs7CiA7OyAuLi4uLi4uLi4uLi4uLi4uLi4u LgorKGRlZmluZV9pbnNuICJmaXhfdHJ1bmNkZnNpMl96ZmEiCisgWyhzZXQg KG1hdGNoX29wZXJhbmQ6U0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1yIikK KyAoZml4OlNJCisgKG1hdGNoX29wZXJhbmQ6REYgMSAicmVnaXN0ZXJfb3Bl cmFuZCIgIiBmIikpKV0KKyAiVEFSR0VUX1pGQSAmJiAoVEFSR0VUX0hBUkRf RkxPQVQgfHwgVEFSR0VUX1pGSU5YKSIKKyAiZmN2dG1vZC53LmRcdCUwLCUx LHJ0eiIKKyBbKHNldF9hdHRyICJ0eXBlIiAiZmN2dCIpCisgKHNldF9hdHRy ICJtb2RlIiAiREYiKV0pCisKIChkZWZpbmVfaW5zbiAiZml4X3RydW5jPEFO WUY6bW9kZT48R1BSOm1vZGU+MiIKIFsoc2V0IChtYXRjaF9vcGVyYW5kOkdQ UiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQogKGZpeDpHUFIKQEAgLTE1 NjYsNiArMTU5NywyNiBAQCAoZGVmaW5lX2luc24gImw8cmludF9wYXR0ZXJu PjxBTllGOm1vZGU+PEdQUjptb2RlPjIiCiBbKHNldF9hdHRyICJ0eXBlIiAi ZmN2dCIpCiAoc2V0X2F0dHIgIm1vZGUiICI8QU5ZRjpNT0RFPiIpXSkKKyhk ZWZpbmVfaW5zbiAicm91bmQ8QU5ZRjptb2RlPjIiCisgWyhzZXQgKG1hdGNo X29wZXJhbmQ6QU5ZRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWYiKQorICh1 bnNwZWM6QU5ZRgorIFsobWF0Y2hfb3BlcmFuZDpBTllGIDEgInJlZ2lzdGVy X29wZXJhbmQiICIgZiIpXQorIFVOU1BFQ19MUk9VTkQpKV0KKyAiVEFSR0VU X0hBUkRfRkxPQVQgJiYgVEFSR0VUX1pGQSIKKyAiZnJvdW5kLjxBTllGOmZt dD5cdCUwLCUxIgorIFsoc2V0X2F0dHIgInR5cGUiICJmY3Z0IikKKyAoc2V0 X2F0dHIgIm1vZGUiICI8QU5ZRjpNT0RFPiIpXSkKKworKGRlZmluZV9pbnNu ICJyaW50PEFOWUY6bW9kZT4yIgorIFsoc2V0IChtYXRjaF9vcGVyYW5kOkFO WUYgMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1mIikKKyAodW5zcGVjOkFOWUYK KyBbKG1hdGNoX29wZXJhbmQ6QU5ZRiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAi IGYiKV0KKyBVTlNQRUNfTFJJTlQpKV0KKyAiVEFSR0VUX0hBUkRfRkxPQVQg JiYgVEFSR0VUX1pGQSIKKyAiZnJvdW5kbnguPEFOWUY6Zm10Plx0JTAsJTEi CisgWyhzZXRfYXR0ciAidHlwZSIgImZjdnQiKQorIChzZXRfYXR0ciAibW9k ZSIgIjxBTllGOk1PREU+IildKQorCiA7OwogOzsgLi4uLi4uLi4uLi4uLi4u Li4uLi4KIDs7CkBAIC0xODIzLDEzICsxODc0LDEzIEBAIChkZWZpbmVfZXhw YW5kICJtb3ZzZiIKIH0pCiAoZGVmaW5lX2luc24gIiptb3ZzZl9oYXJkZmxv YXQiCi0gWyhzZXQgKG1hdGNoX29wZXJhbmQ6U0YgMCAibm9uaW1tZWRpYXRl X29wZXJhbmQiICI9ZixmLGYsbSxtLCpmLCpyLCAqciwqciwqbSIpCi0gKG1h dGNoX29wZXJhbmQ6U0YgMSAibW92ZV9vcGVyYW5kIiAiIGYsRyxtLGYsRywq ciwqZiwqRypyLCptLCpyIikpXQorIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNG IDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPWYsIGYsZixmLG0sbSwqZiwq ciwgKnIsKnIsKm0iKQorIChtYXRjaF9vcGVyYW5kOlNGIDEgIm1vdmVfb3Bl cmFuZCIgIiBmLFpmLEcsbSxmLEcsKnIsKmYsKkcqciwqbSwqciIpKV0KICJU QVJHRVRfSEFSRF9GTE9BVAogJiYgKHJlZ2lzdGVyX29wZXJhbmQgKG9wZXJh bmRzWzBdLCBTRm1vZGUpCiB8fCByZWdfb3JfMF9vcGVyYW5kIChvcGVyYW5k c1sxXSwgU0Ztb2RlKSkiCiB7IHJldHVybiByaXNjdl9vdXRwdXRfbW92ZSAo b3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdKTsgfQotIFsoc2V0X2F0dHIgIm1v dmVfdHlwZSIgImZtb3ZlLG10YyxmcGxvYWQsZnBzdG9yZSxzdG9yZSxtdGMs bWZjLG1vdmUsbG9hZCxzdG9yZSIpCisgWyhzZXRfYXR0ciAibW92ZV90eXBl IiAiZm1vdmUsZm1vdmUsbXRjLGZwbG9hZCxmcHN0b3JlLHN0b3JlLG10Yyxt ZmMsbW92ZSxsb2FkLHN0b3JlIikKIChzZXRfYXR0ciAibW9kZSIgIlNGIild KQogKGRlZmluZV9pbnNuICIqbW92c2Zfc29mdGZsb2F0IgpAQCAtMTg1Niwy MyArMTkwNywyMyBAQCAoZGVmaW5lX2V4cGFuZCAibW92ZGYiCiA7OyBJbiBS VjMyLCB3ZSBsYWNrIGZtdi54LmQgYW5kIGZtdi5kLnguIEdvIHRocm91Z2gg bWVtb3J5IGluc3RlYWQuCiA7OyAoSG93ZXZlciwgd2UgY2FuIHN0aWxsIHVz ZSBmY3Z0LmQudyB0byB6ZXJvIGEgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXIu KQogKGRlZmluZV9pbnNuICIqbW92ZGZfaGFyZGZsb2F0X3J2MzIiCi0gWyhz ZXQgKG1hdGNoX29wZXJhbmQ6REYgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQi ICI9ZixmLGYsbSxtLCAqciwqciwqbSIpCi0gKG1hdGNoX29wZXJhbmQ6REYg MSAibW92ZV9vcGVyYW5kIiAiIGYsRyxtLGYsRywqcipHLCptLCpyIikpXQor IFsoc2V0IChtYXRjaF9vcGVyYW5kOkRGIDAgIm5vbmltbWVkaWF0ZV9vcGVy YW5kIiAiPWYsIGYsZixmLG0sbSwqZiwqciwgKnIsKnIsKm0iKQorIChtYXRj aF9vcGVyYW5kOkRGIDEgIm1vdmVfb3BlcmFuZCIgIiBmLFpmLEcsbSxmLEcs KnIsKmYsKnIqRywqbSwqciIpKV0KICIhVEFSR0VUXzY0QklUICYmIFRBUkdF VF9ET1VCTEVfRkxPQVQKICYmIChyZWdpc3Rlcl9vcGVyYW5kIChvcGVyYW5k c1swXSwgREZtb2RlKQogfHwgcmVnX29yXzBfb3BlcmFuZCAob3BlcmFuZHNb MV0sIERGbW9kZSkpIgogeyByZXR1cm4gcmlzY3Zfb3V0cHV0X21vdmUgKG9w ZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSk7IH0KLSBbKHNldF9hdHRyICJtb3Zl X3R5cGUiICJmbW92ZSxtdGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbW92ZSxs b2FkLHN0b3JlIikKKyBbKHNldF9hdHRyICJtb3ZlX3R5cGUiICJmbW92ZSxm bW92ZSxtdGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbXRjLG1mYyxtb3ZlLGxv YWQsc3RvcmUiKQogKHNldF9hdHRyICJtb2RlIiAiREYiKV0pCiAoZGVmaW5l X2luc24gIiptb3ZkZl9oYXJkZmxvYXRfcnY2NCIKLSBbKHNldCAobWF0Y2hf b3BlcmFuZDpERiAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgIj1mLGYsZixt LG0sKmYsKnIsICpyLCpyLCptIikKLSAobWF0Y2hfb3BlcmFuZDpERiAxICJt b3ZlX29wZXJhbmQiICIgZixHLG0sZixHLCpyLCpmLCpyKkcsKm0sKnIiKSld CisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6REYgMCAibm9uaW1tZWRpYXRlX29w ZXJhbmQiICI9ZiwgZixmLGYsbSxtLCpmLCpyLCAqciwqciwqbSIpCisgKG1h dGNoX29wZXJhbmQ6REYgMSAibW92ZV9vcGVyYW5kIiAiIGYsWmYsRyxtLGYs RywqciwqZiwqcipHLCptLCpyIikpXQogIlRBUkdFVF82NEJJVCAmJiBUQVJH RVRfRE9VQkxFX0ZMT0FUCiAmJiAocmVnaXN0ZXJfb3BlcmFuZCAob3BlcmFu ZHNbMF0sIERGbW9kZSkKIHx8IHJlZ19vcl8wX29wZXJhbmQgKG9wZXJhbmRz WzFdLCBERm1vZGUpKSIKIHsgcmV0dXJuIHJpc2N2X291dHB1dF9tb3ZlIChv cGVyYW5kc1swXSwgb3BlcmFuZHNbMV0pOyB9Ci0gWyhzZXRfYXR0ciAibW92 ZV90eXBlIiAiZm1vdmUsbXRjLGZwbG9hZCxmcHN0b3JlLHN0b3JlLG10Yyxt ZmMsbW92ZSxsb2FkLHN0b3JlIikKKyBbKHNldF9hdHRyICJtb3ZlX3R5cGUi ICJmbW92ZSxmbW92ZSxtdGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbXRjLG1m Yyxtb3ZlLGxvYWQsc3RvcmUiKQogKHNldF9hdHRyICJtb2RlIiAiREYiKV0p CiAoZGVmaW5lX2luc24gIiptb3ZkZl9zb2Z0ZmxvYXQiCkBAIC0yNDc5LDE2 ICsyNTMwLDIzIEBAIChkZWZpbmVfZXhwYW5kICJmPHF1aWV0X3BhdHRlcm4+ X3F1aWV0PEFOWUY6bW9kZT48WDptb2RlPjQiCiBydHggb3AwID0gb3BlcmFu ZHNbMF07CiBydHggb3AxID0gb3BlcmFuZHNbMV07CiBydHggb3AyID0gb3Bl cmFuZHNbMl07Ci0gcnR4IHRtcCA9IGdlbl9yZWdfcnR4IChTSW1vZGUpOwot IHJ0eCBjbXAgPSBnZW5fcnR4XzxRVUlFVF9QQVRURVJOPiAoPFg6TU9ERT5t b2RlLCBvcDEsIG9wMik7Ci0gcnR4IGZyZmxhZ3MgPSBnZW5fcnR4X1VOU1BF Q19WT0xBVElMRSAoU0ltb2RlLCBnZW5fcnR2ZWMgKDEsIGNvbnN0MF9ydHgp LAotIFVOU1BFQ1ZfRlJGTEFHUyk7Ci0gcnR4IGZzZmxhZ3MgPSBnZW5fcnR4 X1VOU1BFQ19WT0xBVElMRSAoU0ltb2RlLCBnZW5fcnR2ZWMgKDEsIHRtcCks Ci0gVU5TUEVDVl9GU0ZMQUdTKTsKLQotIGVtaXRfaW5zbiAoZ2VuX3J0eF9T RVQgKHRtcCwgZnJmbGFncykpOwotIGVtaXRfaW5zbiAoZ2VuX3J0eF9TRVQg KG9wMCwgY21wKSk7Ci0gZW1pdF9pbnNuIChmc2ZsYWdzKTsKKworIGlmIChU QVJHRVRfWkZBKQorIGVtaXRfaW5zbiAoZ2VuX2Y8cXVpZXRfcGF0dGVybj5f cXVpZXQ8QU5ZRjptb2RlPjxYOm1vZGU+NF96ZmEob3AwLCBvcDEsIG9wMikp OworIGVsc2UKKyB7CisgcnR4IHRtcCA9IGdlbl9yZWdfcnR4IChTSW1vZGUp OworIHJ0eCBjbXAgPSBnZW5fcnR4XzxRVUlFVF9QQVRURVJOPiAoPFg6TU9E RT5tb2RlLCBvcDEsIG9wMik7CisgcnR4IGZyZmxhZ3MgPSBnZW5fcnR4X1VO U1BFQ19WT0xBVElMRSAoU0ltb2RlLCBnZW5fcnR2ZWMgKDEsIGNvbnN0MF9y dHgpLAorIFVOU1BFQ1ZfRlJGTEFHUyk7CisgcnR4IGZzZmxhZ3MgPSBnZW5f cnR4X1VOU1BFQ19WT0xBVElMRSAoU0ltb2RlLCBnZW5fcnR2ZWMgKDEsIHRt cCksCisgVU5TUEVDVl9GU0ZMQUdTKTsKKworIGVtaXRfaW5zbiAoZ2VuX3J0 eF9TRVQgKHRtcCwgZnJmbGFncykpOworIGVtaXRfaW5zbiAoZ2VuX3J0eF9T RVQgKG9wMCwgY21wKSk7CisgZW1pdF9pbnNuIChmc2ZsYWdzKTsKKyB9CisK IGlmIChIT05PUl9TTkFOUyAoPEFOWUY6TU9ERT5tb2RlKSkKIGVtaXRfaW5z biAoZ2VuX3J0eF9VTlNQRUNfVk9MQVRJTEUgKDxBTllGOk1PREU+bW9kZSwK IGdlbl9ydHZlYyAoMiwgb3AxLCBvcDIpLApAQCAtMjQ5Niw2ICsyNTU0LDE4 IEBAIChkZWZpbmVfZXhwYW5kICJmPHF1aWV0X3BhdHRlcm4+X3F1aWV0PEFO WUY6bW9kZT48WDptb2RlPjQiCiBET05FOwogfSkKKyhkZWZpbmVfaW5zbiAi ZjxxdWlldF9wYXR0ZXJuPl9xdWlldDxBTllGOm1vZGU+PFg6bW9kZT40X3pm YSIKKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpYIDAgInJlZ2lzdGVyX29wZXJh bmQiICI9ciIpCisgKHVuc3BlYzpYCisgWyhtYXRjaF9vcGVyYW5kOkFOWUYg MSAicmVnaXN0ZXJfb3BlcmFuZCIgIiBmIikKKyAobWF0Y2hfb3BlcmFuZDpB TllGIDIgInJlZ2lzdGVyX29wZXJhbmQiICIgZiIpXQorIFFVSUVUX0NPTVBB UklTT04pKV0KKyAiVEFSR0VUX0hBUkRfRkxPQVQgJiYgVEFSR0VUX1pGQSIK KyAiZjxxdWlldF9wYXR0ZXJuPnEuPGZtdD5cdCUwLCUxLCUyIgorIFsoc2V0 X2F0dHIgInR5cGUiICJmY21wIikKKyAoc2V0X2F0dHIgIm1vZGUiICI8VU5J VE1PREU+IikKKyAoc2V0IChhdHRyICJsZW5ndGgiKSAoY29uc3RfaW50IDE2 KSldKQorCiAoZGVmaW5lX2luc24gIipzZXFfemVyb188WDptb2RlPjxHUFI6 bW9kZT4iCiBbKHNldCAobWF0Y2hfb3BlcmFuZDpHUFIgMCAicmVnaXN0ZXJf b3BlcmFuZCIgIj1yIikKIChlcTpHUFIgKG1hdGNoX29wZXJhbmQ6WCAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiIHIiKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi5vcHQgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm9w dAppbmRleCA3YzNjYTQ4ZDFjYy4uMTQ0Mjc2MjQzOTIgMTAwNjQ0Ci0tLSBh L2djYy9jb25maWcvcmlzY3YvcmlzY3Yub3B0CisrKyBiL2djYy9jb25maWcv cmlzY3YvcmlzY3Yub3B0CkBAIC0xNjIsNiArMTYyLDEwIEBAIG1hbGlnbi1k YXRhPQogVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIEpvaW5lZCBWYXIocmlzY3Zf YWxpZ25fZGF0YV90eXBlKSBFbnVtKHJpc2N2X2FsaWduX2RhdGEpIEluaXQo cmlzY3ZfYWxpZ25fZGF0YV90eXBlX3hsZW4pCiBVc2UgdGhlIGdpdmVuIGRh dGEgYWxpZ25tZW50LgorbWZsaV92YWx1ZV9ieV9pbnQKK1RhcmdldCBWYXIo cmlzY3ZfZmxpX3ZhbHVlX2J5X2ludCkgSW5pdCgxKSBVbmRvY3VtZW50ZWQK K1RoZSBmbGkgaW5zdHJ1Y3Rpb24gaW4gdGhlIHpmYSBleHRlbnNpb24gdXNl cyBpbnRlZ2VycyB0byByZXByZXNlbnQgZmxvYXRpbmctcG9pbnQgdmFsdWVz LgorCiBFbnVtCiBOYW1lKHJpc2N2X2FsaWduX2RhdGEpIFR5cGUoZW51bSBy aXNjdl9hbGlnbl9kYXRhKQogS25vd24gZGF0YSBhbGlnbm1lbnQgY2hvaWNl cyAoZm9yIHVzZSB3aXRoIHRoZSAtbWFsaWduLWRhdGE9IG9wdGlvbik6CmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZh LWZjdnRtb2QuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96 ZmEtZmN2dG1vZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi42NTQ1NTUxNmE3NwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmN2dG1vZC5jCkBAIC0w LDAgKzEsMTIgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIioiIH0geyAiLW1hcmNoPXJ2NjQq IC1PMiIgfSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z196 ZmEgLW1hYmk9bHA2NGQiIH0gKi8KKworZXh0ZXJuIGRvdWJsZSBhOworCit2 b2lkIGZvbyhpbnQgKngsIGRvdWJsZSBhKQoreworICp4ID0gYTsKK30KKwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmY3Z0bW9k LncuZCIgMSB9IH0gKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZh LWZsZXEtZmx0cS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3pmYS1mbGVxLWZsdHEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uYjU3YjA4MTBlOTYKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsZXEtZmx0cS5j CkBAIC0wLDAgKzEsMjAgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIioiIH0geyAiLW1hcmNo PXJ2NjQqIC1PMiIgfSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djY0Z196ZmEgLW1hYmk9bHA2NGQiIH0gKi8KKworZXh0ZXJuIHZvaWQgYWJv cnQodm9pZCk7CitleHRlcm4gZmxvYXQgYSwgYjsKK2V4dGVybiBkb3VibGUg YywgZDsKKwordm9pZAorZm9vKCkKK3sKKyBpZiAoKF9fYnVpbHRpbl9pc2xl c3MoYSwgYikgfHwgX19idWlsdGluX2lzbGVzc2VxdWFsKGMsIGQpKQorICYm IChfX2J1aWx0aW5faXNsZXNzZXF1YWwoYSwgYil8fCBfX2J1aWx0aW5faXNs ZXNzKGMsIGQpKSkKKyBhYm9ydCgpOworfQorCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgImZsZXEucyIgMSB9IH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmx0cS5zIiAxIH0g fSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJm bGVxLmQiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMgImZsdHEuZCIgMSB9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmxpLXpmaC5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGktemZoLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI2YjQzZjYx Nzc0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3pmYS1mbGktemZoLmMKQEAgLTAsMCArMSw0MiBAQAorLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICot Ki0qIH0geyAiKiIgfSB7ICItbWFyY2g9cnY2NCogLU8yIiB9IH0gKi8KKy8q IHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnX3pmYV96ZmggLW1hYmk9bHA2 NGQiIH0gKi8KKwordm9pZCBmb29fZmxvYXQxNiAoKQoreworIHZvbGF0aWxl IF9GbG9hdDE2IGE7CisgYSA9IC0xLjA7CisgYSA9IDYuMTA0RS01OworIGEg PSAxLjAvKDEgPDwgMTYpOworIGEgPSAxLjAvKDEgPDwgMTUpOworIGEgPSAx LjAvKDEgPDwgOCk7CisgYSA9IDEuMC8oMSA8PCA3KTsKKyBhID0gMS4wLygx IDw8IDQpOworIGEgPSAxLjAvKDEgPDwgMyk7CisgYSA9IDEuMC8oMSA8PCAy KTsKKyBhID0gMC4zMTI1OworIGEgPSAwLjM3NTsKKyBhID0gMC40Mzc1Owor IGEgPSAwLjU7CisgYSA9IDAuNjI1OworIGEgPSAwLjc1OworIGEgPSAwLjg3 NTsKKyBhID0gMS4wOworIGEgPSAxLjI1OworIGEgPSAxLjU7CisgYSA9IDEu NzU7CisgYSA9IDIuMDsKKyBhID0gMi41OworIGEgPSAzLjA7CisgYSA9IDEu MCooMSA8PCAyKTsKKyBhID0gMS4wKigxIDw8IDMpOworIGEgPSAxLjAqKDEg PDwgNCk7CisgYSA9IDEuMCooMSA8PCA3KTsKKyBhID0gMS4wKigxIDw8IDgp OworIGEgPSAxLjAqKDEgPDwgMTUpOworIGEgPSAxLjAqKDEgPDwgMTYpOwor IGEgPSBfX2J1aWx0aW5faW5mZiAoKTsKKyBhID0gX19idWlsdGluX25hbmYg KCIiKTsKK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzICJmbGkuaCIgMzEgfSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsaS5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbGkuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTMzOTBjNjk3Y2UKLS0tIC9kZXYv bnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZh LWZsaS5jCkBAIC0wLDAgKzEsODAgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovCisvKiB7IGRnLXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIioiIH0geyAi LW1hcmNoPXJ2NjQqIC1PMiIgfSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1t YXJjaD1ydjY0Z196ZmEgLW1hYmk9bHA2NGQiIH0gKi8KKwordm9pZCBmb29f ZmxvYXQzMiAoKQoreworIHZvbGF0aWxlIGZsb2F0IGE7CisgYSA9IC0xLjA7 CisgYSA9IDEuMTc1NDk0NGUtMzg7CisgYSA9IDEuMC8oMSA8PCAxNik7Cisg YSA9IDEuMC8oMSA8PCAxNSk7CisgYSA9IDEuMC8oMSA8PCA4KTsKKyBhID0g MS4wLygxIDw8IDcpOworIGEgPSAxLjAvKDEgPDwgNCk7CisgYSA9IDEuMC8o MSA8PCAzKTsKKyBhID0gMS4wLygxIDw8IDIpOworIGEgPSAwLjMxMjU7Cisg YSA9IDAuMzc1OworIGEgPSAwLjQzNzU7CisgYSA9IDAuNTsKKyBhID0gMC42 MjU7CisgYSA9IDAuNzU7CisgYSA9IDAuODc1OworIGEgPSAxLjA7CisgYSA9 IDEuMjU7CisgYSA9IDEuNTsKKyBhID0gMS43NTsKKyBhID0gMi4wOworIGEg PSAyLjU7CisgYSA9IDMuMDsKKyBhID0gMS4wKigxIDw8IDIpOworIGEgPSAx LjAqKDEgPDwgMyk7CisgYSA9IDEuMCooMSA8PCA0KTsKKyBhID0gMS4wKigx IDw8IDcpOworIGEgPSAxLjAqKDEgPDwgOCk7CisgYSA9IDEuMCooMSA8PCAx NSk7CisgYSA9IDEuMCooMSA8PCAxNik7CisgYSA9IF9fYnVpbHRpbl9pbmZm ICgpOworIGEgPSBfX2J1aWx0aW5fbmFuZiAoIiIpOworfQorCit2b2lkIGZv b19kb3VibGU2NCAoKQoreworIHZvbGF0aWxlIGRvdWJsZSBhOworIGEgPSAt MS4wOworIGEgPSAxLjE3NTQ5NDM1MDgyMjI4NzVFLTM4OworIGEgPSAxLjAv KDEgPDwgMTYpOworIGEgPSAxLjAvKDEgPDwgMTUpOworIGEgPSAxLjAvKDEg PDwgOCk7CisgYSA9IDEuMC8oMSA8PCA3KTsKKyBhID0gMS4wLygxIDw8IDQp OworIGEgPSAxLjAvKDEgPDwgMyk7CisgYSA9IDEuMC8oMSA8PCAyKTsKKyBh ID0gMC4zMTI1OworIGEgPSAwLjM3NTsKKyBhID0gMC40Mzc1OworIGEgPSAw LjU7CisgYSA9IDAuNjI1OworIGEgPSAwLjc1OworIGEgPSAwLjg3NTsKKyBh ID0gMS4wOworIGEgPSAxLjI1OworIGEgPSAxLjU7CisgYSA9IDEuNzU7Cisg YSA9IDIuMDsKKyBhID0gMi41OworIGEgPSAzLjA7CisgYSA9IDEuMCooMSA8 PCAyKTsKKyBhID0gMS4wKigxIDw8IDMpOworIGEgPSAxLjAqKDEgPDwgNCk7 CisgYSA9IDEuMCooMSA8PCA3KTsKKyBhID0gMS4wKigxIDw8IDgpOworIGEg PSAxLjAqKDEgPDwgMTUpOworIGEgPSAxLjAqKDEgPDwgMTYpOworIGEgPSBf X2J1aWx0aW5faW5mICgpOworIGEgPSBfX2J1aWx0aW5fbmFuICgiIik7Cit9 CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmxp LnMiIDMyIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJmbGkuZCIgMzIgfSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZtaW5tLWZtYXhtLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZtaW5tLWZtYXht LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM4 NjcyNWE5MDMwCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3pmYS1mbWlubS1mbWF4bS5jCkBAIC0wLDAgKzEs MjUgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLXNraXAt aWYgIiIgeyAqLSotKiB9IHsgIioiIH0geyAiLW1hcmNoPXJ2NjQqIC1PMiIg fSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z196ZmEgLW1h Ymk9bHA2NGQiIH0gKi8KKworZXh0ZXJuIGZsb2F0IGEsIGI7CitleHRlcm4g ZG91YmxlIGMsIGQ7CisKK3ZvaWQKK2ZvbyhmbG9hdCAqeCwgZG91YmxlICp5 KQoreworIHsKKyAqeCA9IF9fYnVpbHRpbl9yaXNjdl9mbWlubWYoYSwgYik7 CisgKnkgPSBfX2J1aWx0aW5fcmlzY3ZfZm1pbm0oYywgZCk7CisgfQorCisg eworICp4ID0gX19idWlsdGluX3Jpc2N2X2ZtYXhtZihhLCBiKTsKKyAqeSA9 IF9fYnVpbHRpbl9yaXNjdl9mbWF4bShjLCBkKTsKKyB9Cit9CisKKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZm1pbm0ucyIgMSB9 IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAi Zm1pbm0uZCIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyAiZm1heG0ucyIgMSB9IH0gKi8KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZm1heG0uZCIgMSB9IH0gKi8KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEt Zm1vdmgtZm1vdnAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di96ZmEtZm1vdmgtZm1vdnAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uOTAwNWU3NWQ4NjgKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZtb3ZoLWZt b3ZwLmMKQEAgLTAsMCArMSwxMSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0qIH0geyAiKiIgfSB7ICIt bWFyY2g9cnYzMiogLU8wIiB9IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1h cmNoPXJ2MzJnX3pmYSAtbWFiaT1pbHAzMiIgfSAqLworCitkb3VibGUgZm9v KGxvbmcgbG9uZyBhKQoreworIHJldHVybiAoZG91YmxlKShhICsgMyk7Cit9 CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZm12 cC5kLngiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMgImZtdmgueC5kIiAxIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mcm91bmQuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZnJvdW5kLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU4NGEwYmQx OTk4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3pmYS1mcm91bmQuYwpAQCAtMCwwICsxLDI1IEBACisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1za2lwLWlmICIiIHsgKi0q LSogfSB7ICIqIiB9IHsgIi1tYXJjaD1ydjY0KiAtTzIiIH0gfSAqLworLyog eyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdfemZhIC1tYWJpPWxwNjRkIiB9 ICovCisKKyNpbmNsdWRlIDxtYXRoLmg+CisKK2V4dGVybiBmbG9hdCBhOwor ZXh0ZXJuIGRvdWJsZSBiOworCit2b2lkIGZvbyAoZmxvYXQgKngsIGRvdWJs ZSAqeSkKK3sKKyB7CisgKnggPSByb3VuZGYgKGEpOworICp5ID0gcm91bmQg KGIpOworIH0KKyB7CisgKnggPSByaW50ZiAoYSk7CisgKnkgPSByaW50IChi KTsKKyB9Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAiZnJvdW5kLnMiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMgImZyb3VuZC5kIiAxIH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmcm91bmRueC5zIiAx IH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz ICJmcm91bmRueC5kIiAxIH0gfSAqLwotLQoyLjE3LjEK ------=ALIBOUNDARY_122060_7f6f601c8700_63bf9bda_106c78--