From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id B604D385BF83 for ; Tue, 7 Apr 2020 09:01:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B604D385BF83 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=andre.simoesdiasvieira@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 67E0930E for ; Tue, 7 Apr 2020 02:01:38 -0700 (PDT) Received: from [10.57.25.163] (unknown [10.57.25.163]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6ECF43F73D; Tue, 7 Apr 2020 02:01:37 -0700 (PDT) To: "gcc-patches@gcc.gnu.org" Cc: Kyrill Tkachov From: "Andre Vieira (lists)" Subject: [PATCH][GCC][Arm]: MVE: Do not use typeof for pointer parameters Message-ID: Date: Tue, 7 Apr 2020 10:01:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------81F4649AD3AA36FD157C3E6C" Content-Language: en-US X-Spam-Status: No, score=-28.0 required=5.0 tests=BAYES_00, BODY_8BITS, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2020 09:01:50 -0000 This is a multi-part message in MIME format. --------------81F4649AD3AA36FD157C3E6C Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi, To make sure our inlining of _Generic doesn't go crazy we added an in between declaration of the parameters used for _Generic selection. However, this will not work if the parameter being passed in is an array. Since none of our intrinsics return pointers we do not need to use typeof here as we will never be able to nest intrinsics through this parameter. I also removed the unnecessary const pointers in mve_typeid. Regression tested on arm-none-eabi. Is this OK for trunk? gcc/ChangeLog: 2020-04-07  Andre Vieira          * config/arm/arm_mve.h: Remove use of typeof for addr pointer parameters and         remove const_ptr enums. --------------81F4649AD3AA36FD157C3E6C Content-Type: text/plain; charset=UTF-8; name="mve_typeof_pointers.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mve_typeof_pointers.patch" ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybV9tdmUuaCBiL2djYy9jb25maWcvYXJt L2FybV9tdmUuaAppbmRleCA5MjFiYzBkOTg4Nzc4MTMzZDFlZGFhMTc4NDQ3YjJhZjQ1OTMz MjNkLi5lMzFjMmU4ZmRjNGY1MDBiZjk0MDhkMDVhZDg2ZTE1MTM5NzYyN2Y3IDEwMDY0NAot LS0gYS9nY2MvY29uZmlnL2FybS9hcm1fbXZlLmgKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJt X212ZS5oCkBAIC0yMDIwMSw0OCArMjAyMDEsMzggQEAgZW51bSB7CiAgICAgX19BUk1fbXZl X3R5cGVfZnBfbiA9IDEsCiAgICAgX19BUk1fbXZlX3R5cGVfaW50X24sCiAgICAgX19BUk1f bXZlX3R5cGVfZmxvYXQxNl90X3B0ciwKLSAgICBfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3Rf Y29uc3RfcHRyLAogICAgIF9fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90LAogICAgIF9fQVJN X212ZV90eXBlX2Zsb2F0MTZ4OHgyX3QsCiAgICAgX19BUk1fbXZlX3R5cGVfZmxvYXQxNng4 eDRfdCwKICAgICBfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyLAotICAgIF9fQVJNX212 ZV90eXBlX2Zsb2F0MzJfdF9jb25zdF9wdHIsCiAgICAgX19BUk1fbXZlX3R5cGVfZmxvYXQz Mng0X3QsCiAgICAgX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0eDJfdCwKICAgICBfX0FSTV9t dmVfdHlwZV9mbG9hdDMyeDR4NF90LAogICAgIF9fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy LAotICAgIF9fQVJNX212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRyLAogICAgIF9fQVJNX212 ZV90eXBlX2ludDE2eDhfdCwKICAgICBfX0FSTV9tdmVfdHlwZV9pbnQxNng4eDJfdCwKICAg ICBfX0FSTV9tdmVfdHlwZV9pbnQxNng4eDRfdCwKICAgICBfX0FSTV9tdmVfdHlwZV9pbnQz Ml90X3B0ciwKLSAgICBfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2NvbnN0X3B0ciwKICAgICBf X0FSTV9tdmVfdHlwZV9pbnQzMng0X3QsCiAgICAgX19BUk1fbXZlX3R5cGVfaW50MzJ4NHgy X3QsCiAgICAgX19BUk1fbXZlX3R5cGVfaW50MzJ4NHg0X3QsCiAgICAgX19BUk1fbXZlX3R5 cGVfaW50NjRfdF9wdHIsCi0gICAgX19BUk1fbXZlX3R5cGVfaW50NjRfdF9jb25zdF9wdHIs CiAgICAgX19BUk1fbXZlX3R5cGVfaW50NjR4Ml90LAogICAgIF9fQVJNX212ZV90eXBlX2lu dDhfdF9wdHIsCi0gICAgX19BUk1fbXZlX3R5cGVfaW50OF90X2NvbnN0X3B0ciwKICAgICBf X0FSTV9tdmVfdHlwZV9pbnQ4eDE2X3QsCiAgICAgX19BUk1fbXZlX3R5cGVfaW50OHgxNngy X3QsCiAgICAgX19BUk1fbXZlX3R5cGVfaW50OHgxNng0X3QsCiAgICAgX19BUk1fbXZlX3R5 cGVfdWludDE2X3RfcHRyLAotICAgIF9fQVJNX212ZV90eXBlX3VpbnQxNl90X2NvbnN0X3B0 ciwKICAgICBfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90LAogICAgIF9fQVJNX212ZV90eXBl X3VpbnQxNng4eDJfdCwKICAgICBfX0FSTV9tdmVfdHlwZV91aW50MTZ4OHg0X3QsCiAgICAg X19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyLAotICAgIF9fQVJNX212ZV90eXBlX3VpbnQz Ml90X2NvbnN0X3B0ciwKICAgICBfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90LAogICAgIF9f QVJNX212ZV90eXBlX3VpbnQzMng0eDJfdCwKICAgICBfX0FSTV9tdmVfdHlwZV91aW50MzJ4 NHg0X3QsCiAgICAgX19BUk1fbXZlX3R5cGVfdWludDY0X3RfcHRyLAotICAgIF9fQVJNX212 ZV90eXBlX3VpbnQ2NF90X2NvbnN0X3B0ciwKICAgICBfX0FSTV9tdmVfdHlwZV91aW50NjR4 Ml90LAogICAgIF9fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyLAotICAgIF9fQVJNX212ZV90 eXBlX3VpbnQ4X3RfY29uc3RfcHRyLAogICAgIF9fQVJNX212ZV90eXBlX3VpbnQ4eDE2X3Qs CiAgICAgX19BUk1fbXZlX3R5cGVfdWludDh4MTZ4Ml90LAogICAgIF9fQVJNX212ZV90eXBl X3VpbnQ4eDE2eDRfdCwKQEAgLTIwMjUzLDU3ICsyMDI0Myw1NyBAQCBlbnVtIHsKICNkZWZp bmUgX19BUk1fbXZlX3R5cGVpZCh4KSBfR2VuZXJpYyh4LCBcCiAgICAgZmxvYXQxNl90OiBf X0FSTV9tdmVfdHlwZV9mcF9uLCBcCiAgICAgZmxvYXQxNl90ICo6IF9fQVJNX212ZV90eXBl X2Zsb2F0MTZfdF9wdHIsIFwKLSAgICBmbG9hdDE2X3QgY29uc3QgKjogX19BUk1fbXZlX3R5 cGVfZmxvYXQxNl90X2NvbnN0X3B0ciwgXAorICAgIGZsb2F0MTZfdCBjb25zdCAqOiBfX0FS TV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyLCBcCiAgICAgZmxvYXQxNng4X3Q6IF9fQVJNX212 ZV90eXBlX2Zsb2F0MTZ4OF90LCBcCiAgICAgZmxvYXQxNng4eDJfdDogX19BUk1fbXZlX3R5 cGVfZmxvYXQxNng4eDJfdCwgXAogICAgIGZsb2F0MTZ4OHg0X3Q6IF9fQVJNX212ZV90eXBl X2Zsb2F0MTZ4OHg0X3QsIFwKICAgICBmbG9hdDMyX3Q6IF9fQVJNX212ZV90eXBlX2ZwX24s IFwKICAgICBmbG9hdDMyX3QgKjogX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0ciwgXAot ICAgIGZsb2F0MzJfdCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfY29uc3Rf cHRyLCBcCisgICAgZmxvYXQzMl90IGNvbnN0ICo6IF9fQVJNX212ZV90eXBlX2Zsb2F0MzJf dF9wdHIsIFwKICAgICBmbG9hdDMyeDRfdDogX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3Qs IFwKICAgICBmbG9hdDMyeDR4Ml90OiBfX0FSTV9tdmVfdHlwZV9mbG9hdDMyeDR4Ml90LCBc CiAgICAgZmxvYXQzMng0eDRfdDogX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0eDRfdCwgXAog ICAgIGludDE2X3Q6IF9fQVJNX212ZV90eXBlX2ludF9uLCBcCiAgICAgaW50MTZfdCAqOiBf X0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0ciwgXAotICAgIGludDE2X3QgY29uc3QgKjogX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9jb25zdF9wdHIsIFwKKyAgICBpbnQxNl90IGNvbnN0ICo6 IF9fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyLCBcCiAgICAgaW50MTZ4OF90OiBfX0FSTV9t dmVfdHlwZV9pbnQxNng4X3QsIFwKICAgICBpbnQxNng4eDJfdDogX19BUk1fbXZlX3R5cGVf aW50MTZ4OHgyX3QsIFwKICAgICBpbnQxNng4eDRfdDogX19BUk1fbXZlX3R5cGVfaW50MTZ4 OHg0X3QsIFwKICAgICBpbnQzMl90OiBfX0FSTV9tdmVfdHlwZV9pbnRfbiwgXAogICAgIGlu dDMyX3QgKjogX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHIsIFwKLSAgICBpbnQzMl90IGNv bnN0ICo6IF9fQVJNX212ZV90eXBlX2ludDMyX3RfY29uc3RfcHRyLCBcCisgICAgaW50MzJf dCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0ciwgXAogICAgIGludDMyeDRf dDogX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90LCBcCiAgICAgaW50MzJ4NHgyX3Q6IF9fQVJN X212ZV90eXBlX2ludDMyeDR4Ml90LCBcCiAgICAgaW50MzJ4NHg0X3Q6IF9fQVJNX212ZV90 eXBlX2ludDMyeDR4NF90LCBcCiAgICAgaW50NjRfdDogX19BUk1fbXZlX3R5cGVfaW50X24s IFwKICAgICBpbnQ2NF90ICo6IF9fQVJNX212ZV90eXBlX2ludDY0X3RfcHRyLCBcCi0gICAg aW50NjRfdCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV9pbnQ2NF90X2NvbnN0X3B0ciwgXAor ICAgIGludDY0X3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfaW50NjRfdF9wdHIsIFwKICAg ICBpbnQ2NHgyX3Q6IF9fQVJNX212ZV90eXBlX2ludDY0eDJfdCwgXAogICAgIGludDhfdDog X19BUk1fbXZlX3R5cGVfaW50X24sIFwKICAgICBpbnQ4X3QgKjogX19BUk1fbXZlX3R5cGVf aW50OF90X3B0ciwgXAotICAgIGludDhfdCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV9pbnQ4 X3RfY29uc3RfcHRyLCBcCisgICAgaW50OF90IGNvbnN0ICo6IF9fQVJNX212ZV90eXBlX2lu dDhfdF9wdHIsIFwKICAgICBpbnQ4eDE2X3Q6IF9fQVJNX212ZV90eXBlX2ludDh4MTZfdCwg XAogICAgIGludDh4MTZ4Ml90OiBfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2eDJfdCwgXAogICAg IGludDh4MTZ4NF90OiBfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2eDRfdCwgXAogICAgIHVpbnQx Nl90OiBfX0FSTV9tdmVfdHlwZV9pbnRfbiwgXAogICAgIHVpbnQxNl90ICo6IF9fQVJNX212 ZV90eXBlX3VpbnQxNl90X3B0ciwgXAotICAgIHVpbnQxNl90IGNvbnN0ICo6IF9fQVJNX212 ZV90eXBlX3VpbnQxNl90X2NvbnN0X3B0ciwgXAorICAgIHVpbnQxNl90IGNvbnN0ICo6IF9f QVJNX212ZV90eXBlX3VpbnQxNl90X3B0ciwgXAogICAgIHVpbnQxNng4X3Q6IF9fQVJNX212 ZV90eXBlX3VpbnQxNng4X3QsIFwKICAgICB1aW50MTZ4OHgyX3Q6IF9fQVJNX212ZV90eXBl X3VpbnQxNng4eDJfdCwgXAogICAgIHVpbnQxNng4eDRfdDogX19BUk1fbXZlX3R5cGVfdWlu dDE2eDh4NF90LCBcCiAgICAgdWludDMyX3Q6IF9fQVJNX212ZV90eXBlX2ludF9uLCBcCiAg ICAgdWludDMyX3QgKjogX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyLCBcCi0gICAgdWlu dDMyX3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfdWludDMyX3RfY29uc3RfcHRyLCBcCisg ICAgdWludDMyX3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyLCBcCiAg ICAgdWludDMyeDRfdDogX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdCwgXAogICAgIHVpbnQz Mng0eDJfdDogX19BUk1fbXZlX3R5cGVfdWludDMyeDR4Ml90LCBcCiAgICAgdWludDMyeDR4 NF90OiBfX0FSTV9tdmVfdHlwZV91aW50MzJ4NHg0X3QsIFwKICAgICB1aW50NjRfdDogX19B Uk1fbXZlX3R5cGVfaW50X24sIFwKICAgICB1aW50NjRfdCAqOiBfX0FSTV9tdmVfdHlwZV91 aW50NjRfdF9wdHIsIFwKLSAgICB1aW50NjRfdCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV91 aW50NjRfdF9jb25zdF9wdHIsIFwKKyAgICB1aW50NjRfdCBjb25zdCAqOiBfX0FSTV9tdmVf dHlwZV91aW50NjRfdF9wdHIsIFwKICAgICB1aW50NjR4Ml90OiBfX0FSTV9tdmVfdHlwZV91 aW50NjR4Ml90LCBcCiAgICAgdWludDhfdDogX19BUk1fbXZlX3R5cGVfaW50X24sIFwKICAg ICB1aW50OF90ICo6IF9fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyLCBcCi0gICAgdWludDhf dCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV91aW50OF90X2NvbnN0X3B0ciwgXAorICAgIHVp bnQ4X3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHIsIFwKICAgICB1aW50 OHgxNl90OiBfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90LCBcCiAgICAgdWludDh4MTZ4Ml90 OiBfX0FSTV9tdmVfdHlwZV91aW50OHgxNngyX3QsIFwKICAgICB1aW50OHgxNng0X3Q6IF9f QVJNX212ZV90eXBlX3VpbnQ4eDE2eDRfdCwgXApAQCAtMjAzMjMsNDUgKzIwMzEzLDQ1IEBA IGVudW0gewogI2RlZmluZSBfX0FSTV9tdmVfdHlwZWlkKHgpIF9HZW5lcmljKHgsIFwKICAg ICBpbnQxNl90OiBfX0FSTV9tdmVfdHlwZV9pbnRfbiwgXAogICAgIGludDE2X3QgKjogX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9wdHIsIFwKLSAgICBpbnQxNl90IGNvbnN0ICo6IF9fQVJN X212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRyLCBcCisgICAgaW50MTZfdCBjb25zdCAqOiBf X0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0ciwgXAogICAgIGludDE2eDhfdDogX19BUk1fbXZl X3R5cGVfaW50MTZ4OF90LCBcCiAgICAgaW50MTZ4OHgyX3Q6IF9fQVJNX212ZV90eXBlX2lu dDE2eDh4Ml90LCBcCiAgICAgaW50MTZ4OHg0X3Q6IF9fQVJNX212ZV90eXBlX2ludDE2eDh4 NF90LCBcCiAgICAgaW50MzJfdDogX19BUk1fbXZlX3R5cGVfaW50X24sIFwKICAgICBpbnQz Ml90ICo6IF9fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyLCBcCi0gICAgaW50MzJfdCBjb25z dCAqOiBfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2NvbnN0X3B0ciwgXAorICAgIGludDMyX3Qg Y29uc3QgKjogX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHIsIFwKICAgICBpbnQzMng0X3Q6 IF9fQVJNX212ZV90eXBlX2ludDMyeDRfdCwgXAogICAgIGludDMyeDR4Ml90OiBfX0FSTV9t dmVfdHlwZV9pbnQzMng0eDJfdCwgXAogICAgIGludDMyeDR4NF90OiBfX0FSTV9tdmVfdHlw ZV9pbnQzMng0eDRfdCwgXAogICAgIGludDY0X3Q6IF9fQVJNX212ZV90eXBlX2ludF9uLCBc CiAgICAgaW50NjRfdCAqOiBfX0FSTV9tdmVfdHlwZV9pbnQ2NF90X3B0ciwgXAotICAgIGlu dDY0X3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfaW50NjRfdF9jb25zdF9wdHIsIFwKKyAg ICBpbnQ2NF90IGNvbnN0ICo6IF9fQVJNX212ZV90eXBlX2ludDY0X3RfcHRyLCBcCiAgICAg aW50NjR4Ml90OiBfX0FSTV9tdmVfdHlwZV9pbnQ2NHgyX3QsIFwKICAgICBpbnQ4X3Q6IF9f QVJNX212ZV90eXBlX2ludF9uLCBcCiAgICAgaW50OF90ICo6IF9fQVJNX212ZV90eXBlX2lu dDhfdF9wdHIsIFwKLSAgICBpbnQ4X3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfaW50OF90 X2NvbnN0X3B0ciwgXAorICAgIGludDhfdCBjb25zdCAqOiBfX0FSTV9tdmVfdHlwZV9pbnQ4 X3RfcHRyLCBcCiAgICAgaW50OHgxNl90OiBfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2X3QsIFwK ICAgICBpbnQ4eDE2eDJfdDogX19BUk1fbXZlX3R5cGVfaW50OHgxNngyX3QsIFwKICAgICBp bnQ4eDE2eDRfdDogX19BUk1fbXZlX3R5cGVfaW50OHgxNng0X3QsIFwKICAgICB1aW50MTZf dDogX19BUk1fbXZlX3R5cGVfaW50X24sIFwKICAgICB1aW50MTZfdCAqOiBfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9wdHIsIFwKLSAgICB1aW50MTZfdCBjb25zdCAqOiBfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9jb25zdF9wdHIsIFwKKyAgICB1aW50MTZfdCBjb25zdCAqOiBfX0FS TV9tdmVfdHlwZV91aW50MTZfdF9wdHIsIFwKICAgICB1aW50MTZ4OF90OiBfX0FSTV9tdmVf dHlwZV91aW50MTZ4OF90LCBcCiAgICAgdWludDE2eDh4Ml90OiBfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OHgyX3QsIFwKICAgICB1aW50MTZ4OHg0X3Q6IF9fQVJNX212ZV90eXBlX3VpbnQx Nng4eDRfdCwgXAogICAgIHVpbnQzMl90OiBfX0FSTV9tdmVfdHlwZV9pbnRfbiwgXAogICAg IHVpbnQzMl90ICo6IF9fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0ciwgXAotICAgIHVpbnQz Ml90IGNvbnN0ICo6IF9fQVJNX212ZV90eXBlX3VpbnQzMl90X2NvbnN0X3B0ciwgXAorICAg IHVpbnQzMl90IGNvbnN0ICo6IF9fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0ciwgXAogICAg IHVpbnQzMng0X3Q6IF9fQVJNX212ZV90eXBlX3VpbnQzMng0X3QsIFwKICAgICB1aW50MzJ4 NHgyX3Q6IF9fQVJNX212ZV90eXBlX3VpbnQzMng0eDJfdCwgXAogICAgIHVpbnQzMng0eDRf dDogX19BUk1fbXZlX3R5cGVfdWludDMyeDR4NF90LCBcCiAgICAgdWludDY0X3Q6IF9fQVJN X212ZV90eXBlX2ludF9uLCBcCiAgICAgdWludDY0X3QgKjogX19BUk1fbXZlX3R5cGVfdWlu dDY0X3RfcHRyLCBcCi0gICAgdWludDY0X3QgY29uc3QgKjogX19BUk1fbXZlX3R5cGVfdWlu dDY0X3RfY29uc3RfcHRyLCBcCisgICAgdWludDY0X3QgY29uc3QgKjogX19BUk1fbXZlX3R5 cGVfdWludDY0X3RfcHRyLCBcCiAgICAgdWludDY0eDJfdDogX19BUk1fbXZlX3R5cGVfdWlu dDY0eDJfdCwgXAogICAgIHVpbnQ4X3Q6IF9fQVJNX212ZV90eXBlX2ludF9uLCBcCiAgICAg dWludDhfdCAqOiBfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0ciwgXAotICAgIHVpbnQ4X3Qg Y29uc3QgKjogX19BUk1fbXZlX3R5cGVfdWludDhfdF9jb25zdF9wdHIsIFwKKyAgICB1aW50 OF90IGNvbnN0ICo6IF9fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyLCBcCiAgICAgdWludDh4 MTZfdDogX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdCwgXAogICAgIHVpbnQ4eDE2eDJfdDog X19BUk1fbXZlX3R5cGVfdWludDh4MTZ4Ml90LCBcCiAgICAgdWludDh4MTZ4NF90OiBfX0FS TV9tdmVfdHlwZV91aW50OHgxNng0X3QsIFwKQEAgLTIyNTUwLDI4MyArMjI1NDAsMjY0IEBA IGV4dGVybiB2b2lkICpfX0FSTV91bmRlZjsKICAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9m bG9hdDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdW19fQVJNX212ZV90eXBl X2Zsb2F0MzJ4NF90XTogX19hcm1fdm9ycnFfbV9mMzIgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgZmxvYXQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZsb2F0MzJ4NF90KSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDMyeDRfdCksIHAzKSk7fSkKIAogI2RlZmlu ZSB2bGQxcShwMCkgX19hcm1fdmxkMXEocDApCi0jZGVmaW5lIF9fYXJtX3ZsZDFxKHAwKSAo eyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19f QVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQ4X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMXFfczggKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50OF90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2 X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMXFfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGludDE2X3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJf dF9jb25zdF9wdHJdOiBfX2FybV92bGQxcV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwg aW50MzJfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90 X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQ4X3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3Rf Y29uc3RfcHRyXTogX19hcm1fdmxkMXFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQxNl90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90 X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1 aW50MzJfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2 X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMXFfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGZsb2F0MTZfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9h dDMyX3RfY29uc3RfcHRyXTogX19hcm1fdmxkMXFfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIGZsb2F0MzJfdCBjb25zdCAqKSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZDFxKHAwKSAo XAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldKTAsIFwKKyAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXTogX19hcm1fdmxkMXFfczggKF9f QVJNX212ZV9jb2VyY2UocDAsIGludDhfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV9pbnQxNl90X3B0cl06IF9fYXJtX3ZsZDFxX3MxNiAoX19BUk1fbXZlX2Nv ZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV9pbnQzMl90X3B0cl06IF9fYXJtX3ZsZDFxX3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwg aW50MzJfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90 X3B0cl06IF9fYXJtX3ZsZDFxX3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90IGNv bnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl06IF9f YXJtX3ZsZDFxX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKikp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXTogX19hcm1fdmxk MXFfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJfdCBjb25zdCAqKSksIFwKKyAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXTogX19hcm1fdmxkMXFfZjE2 IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgY29uc3QgKikpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0cl06IF9fYXJtX3ZsZDFxX2YzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgZmxvYXQzMl90IGNvbnN0ICopKSkpCiAKICNkZWZpbmUgdmxk MXFfeihwMCxwMSkgX19hcm1fdmxkMXFfeihwMCwgcDEpCi0jZGVmaW5lIF9fYXJtX3ZsZDFx X3oocDAscDEpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfR2VuZXJpYygg KGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV0pMCwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX2ludDhfdF9jb25zdF9wdHJdOiBfX2FybV92bGQxcV96X3M4IChfX0FSTV9t dmVfY29lcmNlKF9fcDAsIGludDhfdCBjb25zdCAqKSwgcDEpLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9jb25zdF9wdHJdOiBfX2FybV92bGQxcV96X3MxNiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90IGNvbnN0ICopLCBwMSksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3pfczMy IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDMyX3QgY29uc3QgKiksIHAxKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMXFf el91OCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90IGNvbnN0ICopLCBwMSksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9jb25zdF9wdHJdOiBfX2FybV92 bGQxcV96X3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCBjb25zdCAqKSwg cDEpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfY29uc3RfcHRyXTog X19hcm1fdmxkMXFfel91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgY29u c3QgKiksIHAxKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9jb25z dF9wdHJdOiBfX2FybV92bGQxcV96X2YxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBmbG9h dDE2X3QgY29uc3QgKiksIHAxKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0 MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGQxcV96X2YzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBmbG9hdDMyX3QgY29uc3QgKiksIHAxKSk7fSkKKyNkZWZpbmUgX19hcm1fdmxkMXFf eihwMCxwMSkgKCBcCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAw KV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdOiBfX2FybV92 bGQxcV96X3M4IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4X3QgY29uc3QgKiksIHAxKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXTogX19hcm1fdmxkMXFf el9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgY29uc3QgKiksIHAxKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXTogX19hcm1fdmxkMXFfel9z MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDMyX3QgY29uc3QgKiksIHAxKSwgXAorICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXTogX19hcm1fdmxkMXFfel91OCAo X19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhfdCBjb25zdCAqKSwgcDEpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXTogX19hcm1fdmxkMXFfel91MTYgKF9f QVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90IGNvbnN0ICopLCBwMSksIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGQxcV96X3UzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgY29uc3QgKiksIHAxKSwgXAorICBpbnQgKCop W19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJdOiBfX2FybV92bGQxcV96X2YxNiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgZmxvYXQxNl90IGNvbnN0ICopLCBwMSksIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXTogX19hcm1fdmxkMXFfel9mMzIgKF9f QVJNX212ZV9jb2VyY2UocDAsIGZsb2F0MzJfdCBjb25zdCAqKSwgcDEpKSkKIAogI2RlZmlu ZSB2bGQycShwMCkgX19hcm1fdmxkMnEocDApCi0jZGVmaW5lIF9fYXJtX3ZsZDJxKHAwKSAo eyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19f QVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQ4X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMnFfczggKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50OF90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2 X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMnFfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGludDE2X3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJf dF9jb25zdF9wdHJdOiBfX2FybV92bGQycV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwg aW50MzJfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90 X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDJxX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQ4X3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3Rf Y29uc3RfcHRyXTogX19hcm1fdmxkMnFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQxNl90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90 X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDJxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1 aW50MzJfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2 X3RfY29uc3RfcHRyXTogX19hcm1fdmxkMnFfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGZsb2F0MTZfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9h dDMyX3RfY29uc3RfcHRyXTogX19hcm1fdmxkMnFfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIGZsb2F0MzJfdCBjb25zdCAqKSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZDJxKHAwKSAo IFwKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXSkwLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl06IF9fYXJtX3ZsZDJxX3M4IChf X0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4X3QgY29uc3QgKikpLCBcCisgIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdOiBfX2FybV92bGQycV9zMTYgKF9fQVJNX212ZV9j b2VyY2UocDAsIGludDE2X3QgY29uc3QgKikpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfaW50MzJfdF9wdHJdOiBfX2FybV92bGQycV9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAs IGludDMyX3QgY29uc3QgKikpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhf dF9wdHJdOiBfX2FybV92bGQycV91OCAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhfdCBj b25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdOiBf X2FybV92bGQycV91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90IGNvbnN0ICop KSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl06IF9fYXJtX3Zs ZDJxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgY29uc3QgKikpLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X3B0cl06IF9fYXJtX3ZsZDJxX2Yx NiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQxNl90IGNvbnN0ICopKSwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9wdHJdOiBfX2FybV92bGQycV9mMzIgKF9f QVJNX212ZV9jb2VyY2UocDAsIGZsb2F0MzJfdCBjb25zdCAqKSkpKQogCiAjZGVmaW5lIHZs ZDRxKHAwKSBfX2FybV92bGQ0cShwMCkKLSNkZWZpbmUgX19hcm1fdmxkNHEocDApICh7IF9f dHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChfX3AwKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhf dF9jb25zdF9wdHJdOiBfX2FybV92bGQ0cV9zOCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBp bnQ4X3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9j b25zdF9wdHJdOiBfX2FybV92bGQ0cV9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50 MTZfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2Nv bnN0X3B0cl06IF9fYXJtX3ZsZDRxX3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQz Ml90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfY29u c3RfcHRyXTogX19hcm1fdmxkNHFfdTggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhf dCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9jb25z dF9wdHJdOiBfX2FybV92bGQ0cV91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2 X3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfY29u c3RfcHRyXTogX19hcm1fdmxkNHFfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQz Ml90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9j b25zdF9wdHJdOiBfX2FybV92bGQ0cV9mMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxv YXQxNl90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJf dF9jb25zdF9wdHJdOiBfX2FybV92bGQ0cV9mMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwg ZmxvYXQzMl90IGNvbnN0ICopKSk7fSkKKyNkZWZpbmUgX19hcm1fdmxkNHEocDApICggXAor ICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldKTAsIFwKKyAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXTogX19hcm1fdmxkNHFfczggKF9fQVJN X212ZV9jb2VyY2UocDAsIGludDhfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQxNl90X3B0cl06IF9fYXJtX3ZsZDRxX3MxNiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgaW50MTZfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQzMl90X3B0cl06IF9fYXJtX3ZsZDRxX3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50 MzJfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0 cl06IF9fYXJtX3ZsZDRxX3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90IGNvbnN0 ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl06IF9fYXJt X3ZsZDRxX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKikpLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXTogX19hcm1fdmxkNHFf dTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJfdCBjb25zdCAqKSksIFwKKyAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXTogX19hcm1fdmxkNHFfZjE2IChf X0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgY29uc3QgKikpLCBcCisgIGludCAoKilb X19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0cl06IF9fYXJtX3ZsZDRxX2YzMiAoX19BUk1f bXZlX2NvZXJjZShwMCwgZmxvYXQzMl90IGNvbnN0ICopKSkpCiAKICNkZWZpbmUgdmxkcmhx X2dhdGhlcl9vZmZzZXQocDAscDEpIF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0KHAwLHAx KQotI2RlZmluZSBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldChwMCxwMSkgKHsgX190eXBl b2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAot ICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZl X3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3Rf Y29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dh dGhlcl9vZmZzZXRfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgY29uc3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfaW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2Vy Y2UoX19wMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MzJ4NF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9jb25zdF9w dHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29m ZnNldF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgY29uc3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XTogX19hcm1fdmxkcmhxX2dhdGhlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0 X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9jb25zdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNl dF9mMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQxNl90IGNvbnN0ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSk7fSkKKyNkZWZpbmUgX19hcm1fdmxk cmhxX2dhdGhlcl9vZmZzZXQocDAscDEpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJf b2Zmc2V0X3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJt X3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZf dCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSksIFwKKyAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF91MTYgKF9fQVJNX212ZV9j b2VyY2UocDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0 X3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfZmxvYXQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3Zs ZHJocV9nYXRoZXJfb2Zmc2V0X2YxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQxNl90 IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSk7fSkKIAog I2RlZmluZSB2bGRyaHFfZ2F0aGVyX29mZnNldF96KHAwLHAxLHAyKSBfX2FybV92bGRyaHFf Z2F0aGVyX29mZnNldF96KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92bGRyaHFfZ2F0aGVy X29mZnNldF96KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAg X190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FS TV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBcCi0gIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF96X3MxNiAoX19BUk1f bXZlX2NvZXJjZShfX3AwLCBpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQxNng4X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQx Nl90X2NvbnN0X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJo cV9nYXRoZXJfb2Zmc2V0X3pfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3Qg Y29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIHAyKSwgXAot ICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X2NvbnN0X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3pfdTE2IChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29l cmNlKF9fcDEsIHVpbnQxNng4X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV91aW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2Fy bV92bGRyaHFfZ2F0aGVyX29mZnNldF96X3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1 aW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwg cDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X2NvbnN0X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0 X3pfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MTZfdCBjb25zdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpKTt9KQorI2RlZmluZSBfX2Fy bV92bGRyaHFfZ2F0aGVyX29mZnNldF96KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19w MSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDAp XVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRy aHFfZ2F0aGVyX29mZnNldF96X3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCBj b25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF96X3MzMiAoX19BUk1fbXZl X2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1 aW50MzJ4NF90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9v ZmZzZXRfel91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90IGNvbnN0ICopLCBf X0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBwMiksIFwKKyAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3Rd OiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF96X3UzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRf dCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJdW19f QVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF96 X2YxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQxNl90IGNvbnN0ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBwMikpO30pCiAKICNkZWZpbmUgdmxkcmhx X2dhdGhlcl9zaGlmdGVkX29mZnNldChwMCxwMSkgX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlm dGVkX29mZnNldChwMCxwMSkKLSNkZWZpbmUgX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVk X29mZnNldChwMCxwMSkgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlw ZW9mKHAxKSBfX3AxID0gKHAxKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZl X3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQgKCop W19fQVJNX212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50 MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF9zMTYgKF9fQVJN X212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCB1aW50MTZ4OF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90 X2NvbnN0X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9n YXRoZXJfc2hpZnRlZF9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2 X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF91 MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19h cm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMy eDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X2NvbnN0X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hp ZnRlZF9vZmZzZXRfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MTZfdCBjb25z dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSkpO30pCisjZGVmaW5l IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpICh7IF9fdHlwZW9m KHAxKSBfX3AxID0gKHAxKTsgXAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5 cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldKTAsIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9f YXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfczE2IChfX0FSTV9tdmVfY29lcmNl KHAwLCBpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4 X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9t dmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNl dF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgY29uc3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxk cmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVp bnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfdTMy IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9m bG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhx X2dhdGhlcl9zaGlmdGVkX29mZnNldF9mMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGZsb2F0 MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSkpO30p CiAKICNkZWZpbmUgdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96KHAwLHAxLHAyKSBf X2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3oocDAscDEscDIpCi0jZGVmaW5l IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfeihwMCxwMSxwMikgKHsgX190 eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1f bXZlX3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2 X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhx X2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBp bnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBw MiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X2NvbnN0X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9v ZmZzZXRfel9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCBjb25zdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgcDIpLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50 MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3UxNiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVf dWludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1f dmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3UzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCB1aW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4 NF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X2NvbnN0 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJf c2hpZnRlZF9vZmZzZXRfel9mMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQxNl90 IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBwMikpO30p CisjZGVmaW5lIF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfeihwMCxwMSxw MikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisgIF9HZW5lcmljKCAoaW50ICgq KVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3MxNiAo X19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVf aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92bGRyaHFf Z2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQx Nl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMiks IFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pf dTE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZl X2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1f dmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3UzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRf dCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJdW19f QVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRf b2Zmc2V0X3pfZjE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgY29uc3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSk7fSkKIAogI2RlZmlu ZSB2bGRyd3FfZ2F0aGVyX29mZnNldChwMCxwMSkgX19hcm1fdmxkcndxX2dhdGhlcl9vZmZz ZXQocDAscDEpCi0jZGVmaW5lIF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0KHAwLHAxKSAo eyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19f QVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQzMl90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0X3MzMiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90IGNvbnN0ICopLCBwMSksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0 aGVyX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgY29uc3Qg KiksIHAxKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9jb25zdF9w dHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF9mMzIgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgZmxvYXQzMl90IGNvbnN0ICopLCBwMSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZHJ3 cV9nYXRoZXJfb2Zmc2V0KHAwLHAxKSAoIFwKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJN X212ZV90eXBlaWQocDApXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJf dF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2Vy Y2UocDAsIGludDMyX3QgY29uc3QgKiksIHAxKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX3VpbnQzMl90X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0X3UzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgY29uc3QgKiksIHAxKSwgXAorICBpbnQgKCop W19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX29m ZnNldF9mMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGZsb2F0MzJfdCBjb25zdCAqKSwgcDEp KSkKIAogI2RlZmluZSB2bGRyd3FfZ2F0aGVyX29mZnNldF96KHAwLHAxLHAyKSBfX2FybV92 bGRyd3FfZ2F0aGVyX29mZnNldF96KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92bGRyd3Ff Z2F0aGVyX29mZnNldF96KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7 IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2NvbnN0X3B0cl06IF9fYXJtX3Zs ZHJ3cV9nYXRoZXJfb2Zmc2V0X3pfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDMy X3QgY29uc3QgKiksIHAxLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50 MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF96X3UzMiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCBjb25zdCAqKSwgcDEsIHAyKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGRy d3FfZ2F0aGVyX29mZnNldF96X2YzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBmbG9hdDMy X3QgY29uc3QgKiksIHAxLCBwMikpO30pCisjZGVmaW5lIF9fYXJtX3ZsZHJ3cV9nYXRoZXJf b2Zmc2V0X3oocDAscDEscDIpICggXAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZl X3R5cGVpZChwMCldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0 cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0X3pfczMyIChfX0FSTV9tdmVfY29lcmNl KHAwLCBpbnQzMl90IGNvbnN0ICopLCBwMSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfdWludDMyX3RfcHRyXTogX19hcm1fdmxkcndxX2dhdGhlcl9vZmZzZXRfel91MzIg KF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQzMl90IGNvbnN0ICopLCBwMSwgcDIpLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0cl06IF9fYXJtX3ZsZHJ3cV9n YXRoZXJfb2Zmc2V0X3pfZjMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDMyX3QgY29u c3QgKiksIHAxLCBwMikpKQogCiAjZGVmaW5lIHZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZz ZXQocDAscDEpIF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpCi0j ZGVmaW5lIF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpICh7IF9f dHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChfX3AwKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMy X3RfY29uc3RfcHRyXTogX19hcm1fdmxkcndxX2dhdGhlcl9zaGlmdGVkX29mZnNldF9zMzIg KF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCBjb25zdCAqKSwgcDEpLCBcCi0gIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfY29uc3RfcHRyXTogX19hcm1fdmxkcndx X2dhdGhlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWlu dDMyX3QgY29uc3QgKiksIHAxKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0 MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X2Yz MiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBmbG9hdDMyX3QgY29uc3QgKiksIHAxKSk7fSkK KyNkZWZpbmUgX19hcm1fdmxkcndxX2dhdGhlcl9zaGlmdGVkX29mZnNldChwMCxwMSkgKCBc CisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV0pMCwgXAorICBp bnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXTogX19hcm1fdmxkcndxX2dhdGhl cl9zaGlmdGVkX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDMyX3QgY29u c3QgKiksIHAxKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl06 IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29l cmNlKHAwLCB1aW50MzJfdCBjb25zdCAqKSwgcDEpLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfZmxvYXQzMl90X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZz ZXRfZjMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDMyX3QgY29uc3QgKiksIHAxKSkp CiAKICNkZWZpbmUgdmxkcndxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96KHAwLHAxLHAyKSBf X2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3oocDAscDEscDIpCi0jZGVmaW5l IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfeihwMCxwMSxwMikgKHsgX190 eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9t dmVfdHlwZWlkKF9fcDApXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJf dF9jb25zdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfczMy IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDMyX3QgY29uc3QgKiksIHAxLCBwMiksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9jb25zdF9wdHJdOiBfX2FybV92 bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIHVpbnQzMl90IGNvbnN0ICopLCBwMSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZl X3R5cGVfZmxvYXQzMl90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRl ZF9vZmZzZXRfel9mMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQzMl90IGNvbnN0 ICopLCBwMSwgcDIpKTt9KQorI2RlZmluZSBfX2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRf b2Zmc2V0X3oocDAscDEscDIpICggXAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZl X3R5cGVpZChwMCldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0 cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfel9zMzIgKF9fQVJNX212 ZV9jb2VyY2UocDAsIGludDMyX3QgY29uc3QgKiksIHAxLCBwMiksIFwKKyAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0 ZWRfb2Zmc2V0X3pfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJfdCBjb25zdCAq KSwgcDEsIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9wdHJd OiBfX2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfZjMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCBmbG9hdDMyX3QgY29uc3QgKiksIHAxLCBwMikpKQogCiAjZGVmaW5lIHZz dDFxX3AocDAscDEscDIpIF9fYXJtX3ZzdDFxX3AocDAscDEscDIpCi0jZGVmaW5lIF9fYXJt X3ZzdDFxX3AocDAscDEscDIpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBf X3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJN X212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldKTAsIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2 X3RdOiBfX2FybV92c3QxcV9wX3M4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDhfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2X3QpLCBwMiksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90 XTogX19hcm1fdnN0MXFfcF9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpLCBwMiksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90 XTogX19hcm1fdnN0MXFfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpLCBwMiksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZf dF06IF9fYXJtX3ZzdDFxX3BfdTggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNl90KSwgcDIpLCBcCi0gIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4 OF90XTogX19hcm1fdnN0MXFfcF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2 X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF06IF9fYXJtX3ZzdDFxX3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMiksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV9mbG9hdDE2eDhfdF06IF9fYXJtX3ZzdDFxX3BfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBmbG9hdDE2eDhfdCks IHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9wdHJdW19fQVJN X212ZV90eXBlX2Zsb2F0MzJ4NF90XTogX19hcm1fdnN0MXFfcF9mMzIgKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgZmxvYXQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZsb2F0 MzJ4NF90KSwgcDIpKTt9KQorI2RlZmluZSBfX2FybV92c3QxcV9wKHAwLHAxLHAyKSAoeyBf X3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJN X212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50OHgxNl90 XTogX19hcm1fdnN0MXFfcF9zOCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50OF90ICopLCBf X0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDh4MTZfdCksIHAyKSwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBf X2FybV92c3QxcV9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19h cm1fdnN0MXFfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDMyX3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgaW50MzJ4NF90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQ4eDE2X3RdOiBfX2Fy bV92c3QxcV9wX3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2Fy bV92c3QxcV9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9f YXJtX3ZzdDFxX3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJfdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgcDIpLCBcCisgIGludCAoKilbX19B Uk1fbXZlX3R5cGVfZmxvYXQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQxNng4X3Rd OiBfX2FybV92c3QxcV9wX2YxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQxNl90ICop LCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZsb2F0MTZ4OF90KSwgcDIpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQz Mng0X3RdOiBfX2FybV92c3QxcV9wX2YzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQz Ml90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZsb2F0MzJ4NF90KSwgcDIpKTt9KQog CiAjZGVmaW5lIHZzdDJxKHAwLHAxKSBfX2FybV92c3QycShwMCxwMSkKLSNkZWZpbmUgX19h cm1fdnN0MnEocDAscDEpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5 cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212 ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldKTAsIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2eDJf dF06IF9fYXJtX3ZzdDJxX3M4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDhfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2eDJfdCkpLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDE2eDh4Ml90XTog X19hcm1fdnN0MnFfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4OHgyX3QpKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0eDJfdF06IF9f YXJtX3ZzdDJxX3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDR4Ml90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZ4Ml90XTogX19h cm1fdnN0MnFfdTggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNngyX3QpKSwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDh4Ml90XTogX19h cm1fdnN0MnFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4eDJfdCkpLCBcCi0gIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NHgyX3RdOiBf X2FybV92c3QycV91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDR4Ml90KSksIFwKLSAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2eDh4Ml90 XTogX19hcm1fdnN0MnFfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBmbG9hdDE2eDh4Ml90KSksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMy eDR4Ml90XTogX19hcm1fdnN0MnFfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0 MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBmbG9hdDMyeDR4Ml90KSkpO30pCisj ZGVmaW5lIF9fYXJtX3ZzdDJxKHAwLHAxKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7 IFwKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9t dmVfdHlwZWlkKF9fcDEpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90 X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50OHgxNngyX3RdOiBfX2FybV92c3QycV9zOCAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGlu dDh4MTZ4Ml90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfaW50MTZ4OHgyX3RdOiBfX2FybV92c3QycV9zMTYgKF9fQVJNX212 ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4 OHgyX3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FS TV9tdmVfdHlwZV9pbnQzMng0eDJfdF06IF9fYXJtX3ZzdDJxX3MzMiAoX19BUk1fbXZlX2Nv ZXJjZShwMCwgaW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0eDJf dCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212 ZV90eXBlX3VpbnQ4eDE2eDJfdF06IF9fYXJtX3ZzdDJxX3U4IChfX0FSTV9tdmVfY29lcmNl KHAwLCB1aW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2eDJfdCkp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50MTZ4OHgyX3RdOiBfX2FybV92c3QycV91MTYgKF9fQVJNX212ZV9jb2VyY2Uo cDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4eDJfdCkp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50MzJ4NHgyX3RdOiBfX2FybV92c3QycV91MzIgKF9fQVJNX212ZV9jb2VyY2Uo cDAsIHVpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0eDJfdCkp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X3B0cl1bX19BUk1fbXZl X3R5cGVfZmxvYXQxNng4eDJfdF06IF9fYXJtX3ZzdDJxX2YxNiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgZmxvYXQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZsb2F0MTZ4OHgy X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9wdHJdW19fQVJN X212ZV90eXBlX2Zsb2F0MzJ4NHgyX3RdOiBfX2FybV92c3QycV9mMzIgKF9fQVJNX212ZV9j b2VyY2UocDAsIGZsb2F0MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBmbG9hdDMy eDR4Ml90KSkpO30pCiAKICNkZWZpbmUgdnN0MXEocDAscDEpIF9fYXJtX3ZzdDFxKHAwLHAx KQotI2RlZmluZSBfX2FybV92c3QxcShwMCxwMSkgKHsgX190eXBlb2YocDApIF9fcDAgPSAo cDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAotICBfR2VuZXJpYyggKGlu dCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0p MCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90 eXBlX2ludDh4MTZfdF06IF9fYXJtX3ZzdDFxX3M4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2X3QpKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQx Nng4X3RdOiBfX2FybV92c3QxcV9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZf dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpKSwgXAotICBpbnQgKCop W19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3Rd OiBfX2FybV92c3QxcV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19h cm1fdnN0MXFfdTggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNl90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92 c3QxcV91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0 MXFfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQzMl90ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X2Zsb2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0 MXFfZjE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZl X2NvZXJjZShfX3AxLCBmbG9hdDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5 cGVfZmxvYXQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92 c3QxcV9mMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQzMl90ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIGZsb2F0MzJ4NF90KSkpO30pCisjZGVmaW5lIF9fYXJtX3ZzdDFx KHAwLHAxKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChp bnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkw LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5 cGVfaW50OHgxNl90XTogX19hcm1fdnN0MXFfczggKF9fQVJNX212ZV9jb2VyY2UocDAsIGlu dDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2X3QpKSwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4 X3RdOiBfX2FybV92c3QxcV9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19h cm1fdnN0MXFfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQzMl90ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIGludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQ4eDE2X3RdOiBfX2FybV92c3Qx cV91OCAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50OHgxNl90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50 MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3QxcV91MTYg KF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQxNng4X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdDFxX3UzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQxNng4X3RdOiBfX2FybV92c3QxcV9mMTYgKF9fQVJN X212ZV9jb2VyY2UocDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBm bG9hdDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3QxcV9mMzIgKF9fQVJN X212ZV9jb2VyY2UocDAsIGZsb2F0MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBm bG9hdDMyeDRfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJocShwMCxwMSkgX19hcm1fdnN0cmhx KHAwLHAxKQotI2RlZmluZSBfX2FybV92c3RyaHEocDAscDEpICh7IF9fdHlwZW9mKHAwKSBf X3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVy aWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQo X19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19B Uk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3MxNiAoX19BUk1fbXZlX2Nv ZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDE2eDhf dCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212 ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zMzIgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpKSwg XAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBc Ci0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3Aw LCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV9mbG9hdDE2eDhfdF06IF9fYXJtX3ZzdHJocV9mMTYgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgZmxvYXQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZsb2F0MTZ4OF90KSkp O30pCisjZGVmaW5lIF9fYXJtX3ZzdHJocShwMCxwMSkgKHsgX190eXBlb2YocDEpIF9fcDEg PSAocDEpOyBcCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1b X19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFf czE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNl KF9fcDEsIGludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZf dF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zMzIgKF9f QVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg aW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3RyaHFfdTE2IChfX0FSTV9t dmVfY29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19f QVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfdTMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4 NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FS TV9tdmVfdHlwZV9mbG9hdDE2eDhfdF06IF9fYXJtX3ZzdHJocV9mMTYgKF9fQVJNX212ZV9j b2VyY2UocDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBmbG9hdDE2 eDhfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJocV9wKHAwLHAxLHAyKSBfX2FybV92c3RyaHFf cChwMCxwMSxwMikKLSNkZWZpbmUgX19hcm1fdnN0cmhxX3AocDAscDEscDIpICh7IF9fdHlw ZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwK LSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3BfczE2IChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgaW50MTZ4OF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZf dF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9wX3MzMiAo X19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIGludDMyeDRfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQx Nl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9wX3Ux NiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVf dWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhx X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2eDhfdF06IF9fYXJt X3ZzdHJocV9wX2YxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBmbG9hdDE2X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgZmxvYXQxNng4X3QpLCBwMikpO30pCisjZGVmaW5lIF9f YXJtX3ZzdHJocV9wKHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwK KyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVf dHlwZWlkKF9fcDEpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9w dHJdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9wX3MxNiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBp bnQxNng4X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3BfczMyIChfX0FS TV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGlu dDMyeDRfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9wX3UxNiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDE2eDhfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9wX3UzMiAo X19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDMyeDRfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0 MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3Bf ZjE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgZmxvYXQxNng4X3QpLCBwMikpO30pCiAKICNkZWZpbmUgdnN0cmhxX3NjYXR0 ZXJfb2Zmc2V0X3AocDAscDEscDIscDMpIF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9w KHAwLHAxLHAyLHAzKQotI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcChw MCxwMSxwMixwMykgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9m KHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZz ZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9f dHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5 cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3Rd OiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcF9zMTYgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpLCBwMyksIFwKLSAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1b X19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0 X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4 NF90KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTog X19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwKLSAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3Rd W19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZz ZXRfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWlu dDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9w dHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4 OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfZjE2IChfX0FSTV9tdmVfY29l cmNlKF9fcDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4 OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDE2eDhfdCksIHAzKSk7fSkKKyAg X0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlw ZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19f QVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9w X3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3Qp LCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1f bXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1f dnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQx Nl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZl X3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9wX3UxNiAo X19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhfdCksIHAz KSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3Zz dHJocV9zY2F0dGVyX29mZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2 X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9j b2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX2Zsb2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212 ZV90eXBlX2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfZjE2 IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2Uo X19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQxNng4X3Qp LCBwMykpO30pCiAKICNkZWZpbmUgdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKSBf X2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXQocDAscDEscDIpCi0jZGVmaW5lIF9fYXJtX3Zz dHJocV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDApIF9fcDAgPSAo cDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92 c3RyaHFfc2NhdHRlcl9vZmZzZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0g KHAxKTsgXAogICBfX3R5cGVvZihwMikgX19wMiA9IChwMik7IFwKLSAgX0dlbmVyaWMoIChp bnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMSld W19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5 cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3MxNiAoX19BUk1f bXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDE2eDhfdCkpLCBcCi0gIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBp bnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06 IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9f QVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FS TV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3Uz MiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90 KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9t dmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2eDhfdF06IF9fYXJt X3ZzdHJocV9zY2F0dGVyX29mZnNldF9mMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxv YXQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGZsb2F0MTZ4OF90KSkpO30pCisgIF9HZW5lcmljKCAoaW50ICgq KVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1f bXZlX3R5cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2 X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQx Nng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfczE2IChfX0FSTV9tdmVfY29l cmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3Qp LCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19f QVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9z MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2Uo X19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSks IFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3Ry aHFfc2NhdHRlcl9vZmZzZXRfdTE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJj ZShfX3AyLCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50 MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4 NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSksIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4 OF90XVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X29mZnNldF9mMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGZsb2F0MTZfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBm bG9hdDE2eDhfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zm c2V0X3AocDAscDEscDIscDMpIF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3AocDAscDEscDIscDMpCi0jZGVmaW5lIF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRf b2Zmc2V0X3AocDAscDEscDIscDMpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAot ICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cmhxX3Nj YXR0ZXJfc2hpZnRlZF9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9f cDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJp YyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChf X3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9t dmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNl dF9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDE2 eDhfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBf X2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3MzMiAoX19BUk1fbXZlX2Nv ZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0 X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2 eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X3NoaWZ0ZWRfb2Zmc2V0X3BfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90 ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29l cmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90 eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9w X3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4 NF90KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfZmxvYXQxNng4X3Rd OiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX2YxNiAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQxNng4X3QpLCBwMykpO30p CisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZl X3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCop W19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90 XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlm dGVkX29mZnNldF9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3Ay LCBpbnQxNng4X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4 NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF9zMzIgKF9fQVJN X212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSwgcDMpLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3Nj YXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQx Nl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212 ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNl dF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMy eDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF9mMTYgKF9fQVJNX212 ZV9jb2VyY2UocDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDE2eDhfdCksIHAzKSk7fSkK IAogI2RlZmluZSB2c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxwMSxwMikgX19h cm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXQocDAscDEscDIpCi0jZGVmaW5lIF9f YXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKSAoeyBfX3R5cGVv ZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisj ZGVmaW5lIF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKSAo eyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAo cDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtf X0FSTV9tdmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQxNng4X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0 dGVyX3NoaWZ0ZWRfb2Zmc2V0X3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90 ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29l cmNlKF9fcDIsIGludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50 MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX2lu dDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCkpLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3Nj YXR0ZXJfc2hpZnRlZF9vZmZzZXRfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQx Nl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDIsIHVpbnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3Uz MiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90 KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2X3RfcHRyXVtfX0FSTV9t dmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9mbG9hdDE2eDhfdF06IF9fYXJt X3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X2YxNiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCks IF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQxNng4X3QpKSk7fSkKKyAgX0dlbmVyaWMo IChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEp XVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90 eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3Mx NiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFf c2NhdHRlcl9zaGlmdGVkX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2 X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9j b2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91 aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF91MTYg KF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJo cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWlu dDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212 ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfZmxvYXQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZl X3R5cGVfZmxvYXQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNl dF9mMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDE2 eDhfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJ3cV9wKHAwLHAxLHAyKSBfX2FybV92c3Ryd3Ff cChwMCxwMSxwMikKLSNkZWZpbmUgX19hcm1fdnN0cndxX3AocDAscDEscDIpICh7IF9fdHlw ZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwK LSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cndxX3BfczMyIChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDMyX3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgaW50MzJ4NF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMy X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3BfdTMy IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNl KF9fcDEsIHVpbnQzMng0X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9m bG9hdDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3 cV9wX2YzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBmbG9hdDMyX3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgZmxvYXQzMng0X3QpLCBwMikpO30pCisjZGVmaW5lIF9fYXJtX3Zz dHJ3cV9wKHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dl bmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlk KF9fcDEpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19f QVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9wX3MzMiAoX19BUk1fbXZl X2NvZXJjZShwMCwgaW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0 X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19f QVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3Ryd3FfcF91MzIgKF9fQVJNX212 ZV9jb2VyY2UocDAsIHVpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQz Mng0X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRy XVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9wX2YzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgZmxvYXQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IGZsb2F0MzJ4NF90KSwgcDIpKTt9KQogCiAjZGVmaW5lIHZzdHJ3cShwMCxwMSkgX19hcm1f dnN0cndxKHAwLHAxKQotI2RlZmluZSBfX2FybV92c3Ryd3EocDAscDEpICh7IF9fdHlwZW9m KHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAg X0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90 eXBlaWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cndxX3MzMiAoX19BUk1f bXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGlu dDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3UzMiAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCB1aW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MzJ4NF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXVtf X0FSTV9tdmVfdHlwZV9mbG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9mMzIgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgZmxvYXQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGZs b2F0MzJ4NF90KSkpO30pCisjZGVmaW5lIF9fYXJtX3ZzdHJ3cShwMCxwMSkgKHsgX190eXBl b2YocDEpIF9fcDEgPSAocDEpOyBcCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVf dHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBf X2FybV92c3Ryd3FfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQzMl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1f dnN0cndxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfZmxvYXQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92 c3Ryd3FfZjMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDMyX3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgZmxvYXQzMng0X3QpKSk7fSkKIAogI2RlZmluZSB2c3RyaHFfc2Nh dHRlcl9vZmZzZXQocDAscDEscDIpIF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldChwMCxw MSxwMikKLSNkZWZpbmUgX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKSAo eyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAo cDEpOyBcCisjZGVmaW5lIF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikg KHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0g KHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1b X19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAot ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2Nh dHRlcl9vZmZzZXRfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgaW50MTZ4OF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FS TV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3Ux NiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90 KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212 ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92 c3RyaHFfc2NhdHRlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQx Nl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDIsIHVpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X2Zsb2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90 eXBlX2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X2YxNiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQxNng4X3QpKSk7 fSkKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9t dmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4 X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29m ZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MTZ4 OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1f bXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1f dnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZf dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVf dWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF91MTYgKF9fQVJNX212 ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQx Nng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpKSwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMy eDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVp bnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X2YxNiAoX19BUk1fbXZlX2NvZXJjZShw MCwgZmxvYXQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MTZ4OF90KSkpO30pCiAKICNkZWZpbmUgdnN0 cmhxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEscDIscDMpIF9fYXJtX3ZzdHJocV9zY2F0dGVy X29mZnNldF9wKHAwLHAxLHAyLHAzKQotI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9v ZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0g IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92c3RyaHFfc2Nh dHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEp OyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAo KilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19B Uk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2lu dDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9p bnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcF9zMTYgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpLCBwMyksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0 ZXJfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgaW50MzJ4NF90KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2 X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50 MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfdTE2IChfX0FSTV9tdmVf Y29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQx Nng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2Nh dHRlcl9vZmZzZXRfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2Uo X19wMiwgdWludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zs b2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBl X2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfZjE2IChfX0FS TV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDE2eDhfdCksIHAz KSk7fSkKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FS TV9tdmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQx Nng4X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X29mZnNldF9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBp bnQxNng4X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNl KHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNl dF9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2 eDhfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06 IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9f QVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3Rd W19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zm c2V0X3BfZjE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxv YXQxNng4X3QpLCBwMykpO30pCiAKICNkZWZpbmUgdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9v ZmZzZXQocDAscDEscDIpIF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAw LHAxLHAyKQotI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldChw MCxwMSxwMikgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAx KSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVk X29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9f dHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5 cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3Rd OiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9zMTYgKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4 OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwgXAotICBpbnQgKCop W19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlm dGVkX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3Ay LCBpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhf dF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3UxNiAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90KSksIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRl cl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMiwgdWludDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxv YXQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVf ZmxvYXQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9mMTYg KF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNl KF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MTZ4OF90 KSkpO30pCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19B Uk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAorICBp bnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50 MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRl cl9zaGlmdGVkX29mZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2Uo X19wMiwgaW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfaW50MzJ4 NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfczMyIChfX0FSTV9t dmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQz Mng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCkpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4 OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJf c2hpZnRlZF9vZmZzZXRfdTE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZf dF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJN X212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpKSwgXAorICBp bnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQxNng4X3RdW19fQVJNX212ZV90eXBlX2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3Nj YXR0ZXJfc2hpZnRlZF9vZmZzZXRfZjE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2 X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9j b2VyY2UoX19wMiwgZmxvYXQxNng4X3QpKSk7fSkKIAogI2RlZmluZSB2c3RyaHFfc2NhdHRl cl9zaGlmdGVkX29mZnNldF9wKHAwLHAxLHAyLHAzKSBfX2FybV92c3RyaHFfc2NhdHRlcl9z aGlmdGVkX29mZnNldF9wKHAwLHAxLHAyLHAzKQotI2RlZmluZSBfX2FybV92c3RyaHFfc2Nh dHRlcl9zaGlmdGVkX29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihwMCkgX19w MCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisjZGVmaW5lIF9f YXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpICh7IF9f dHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAogICBfX3R5cGVvZihwMikgX19wMiA9IChwMik7 IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJN X212ZV90eXBlaWQoX19wMSldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2 eDhfdF1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJf c2hpZnRlZF9vZmZzZXRfcF9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJj ZShfX3AyLCBpbnQxNng4X3QpLCBwMyksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVf aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF9zMzIg KF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpLCBw MyksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212 ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92 c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90KSwgcDMpLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hp ZnRlZF9vZmZzZXRfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2Uo X19wMiwgdWludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zs b2F0MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBl X2Zsb2F0MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF9m MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQxNl90ICopLCBfX0FSTV9tdmVfY29l cmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MTZ4 OF90KSwgcDMpKTt9KQorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChw MCldW19fQVJNX212ZV90eXBlaWQoX19wMSldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAs IFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhx X3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGlu dDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212 ZV9jb2VyY2UoX19wMiwgaW50MTZ4OF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212 ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29l cmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRf dCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9f YXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTE2IChfX0FSTV9tdmVfY29l cmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90 KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90KSwgcDMpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4 NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJf c2hpZnRlZF9vZmZzZXRfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICop LCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIHVpbnQzMng0X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9m bG9hdDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlw ZV9mbG9hdDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3Bf ZjE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDE2X3QgKiksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQxNng4 X3QpLCBwMykpO30pCiAKICNkZWZpbmUgdnN0cndxX3NjYXR0ZXJfYmFzZShwMCxwMSxwMikg X19hcm1fdnN0cndxX3NjYXR0ZXJfYmFzZShwMCxwMSxwMikKICNkZWZpbmUgX19hcm1fdnN0 cndxX3NjYXR0ZXJfYmFzZShwMCxwMSxwMikgKHsgX190eXBlb2YocDIpIF9fcDIgPSAocDIp OyBcCkBAIC0yMjg0Myw3NiArMjI4MTQsNjggQEAgZXh0ZXJuIHZvaWQgKl9fQVJNX3VuZGVm OwogICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJ4NF90XTogX19hcm1fdnN0cndx X3NjYXR0ZXJfYmFzZV9wX2YzMihwMCwgcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxv YXQzMng0X3QpLCBwMykpO30pCiAKICNkZWZpbmUgdnN0cndxX3NjYXR0ZXJfb2Zmc2V0KHAw LHAxLHAyKSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXQocDAscDEscDIpCi0jZGVmaW5l IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDAp IF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmlu ZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAx KSBfX3AxID0gKHAxKTsgXAogICBfX3R5cGVvZihwMikgX19wMiA9IChwMik7IFwKLSAgX0dl bmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBl aWQoX19wMildKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1b X19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0 X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0 cndxX3NjYXR0ZXJfb2Zmc2V0X3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJf dCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9m bG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9mMzIgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgZmxvYXQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9f cDIsIGZsb2F0MzJ4NF90KSkpO30pCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVf dHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBf X2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBp bnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCkpLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3UzMiAoX19BUk1f bXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRl cl9vZmZzZXRfZjMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDMyX3QgKiksIF9fcDEs IF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQzMng0X3QpKSk7fSkKIAogI2RlZmluZSB2 c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykgX19hcm1fdnN0cndxX3NjYXR0 ZXJfb2Zmc2V0X3AocDAscDEscDIscDMpCi0jZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVy X29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwK LSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisjZGVmaW5lIF9fYXJtX3ZzdHJ3cV9z Y2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChw MSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50 ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkw LCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90 eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9wX3MzMiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9z Y2F0dGVyX29mZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCAq KSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSwgcDMpLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVf ZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcF9mMzIgKF9fQVJN X212ZV9jb2VyY2UoX19wMCwgZmxvYXQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIGZsb2F0MzJ4NF90KSwgcDMpKTt9KQorICBfR2VuZXJpYyggKGludCAoKilbX19B Uk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4 NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29l cmNlKHAwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMy eDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNl dF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJN X212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJN X212ZV90eXBlX2Zsb2F0MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2Zsb2F0MzJ4NF90XTog X19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3BfZjMyIChfX0FSTV9tdmVfY29lcmNlKHAw LCBmbG9hdDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQzMng0 X3QpLCBwMykpO30pCiAKICNkZWZpbmUgdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEs cDIscDMpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKQotI2Rl ZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190 eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAorI2RlZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykg KHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0g KHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1b X19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3Ryd3Ff c2NhdHRlcl9vZmZzZXRfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCAq KSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpLCBwMyksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcF91MzIgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgdWludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0 MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2Zsb2F0MzJ4NF90XTogX19hcm1fdnN0cndxX3Nj YXR0ZXJfb2Zmc2V0X3BfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MzJfdCAq KSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDMyeDRfdCksIHAzKSk7fSkK KyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVf dHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9w dHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29m ZnNldF9wX3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MzJfdCAqKSwgX19wMSwgX19B Uk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBf X2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAs IHVpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3Qp LCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXVtfX0FS TV9tdmVfdHlwZV9mbG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9w X2YzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQzMl90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGZsb2F0MzJ4NF90KSwgcDMpKTt9KQogCiAjZGVmaW5lIHZzdHJ3 cV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikgX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0 KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXQocDAscDEs cDIpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19w MSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAx LHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9f cDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9f cDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3Zz dHJ3cV9zY2F0dGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJf dCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF91MzIgKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwg dWludDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9v ZmZzZXRfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MzJfdCAqKSwgX19wMSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDMyeDRfdCkpKTt9KQorICBfR2VuZXJpYygg KGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMild KTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZl X3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3MzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVy X29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQzMl90ICopLCBfX3AxLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJN X212ZV90eXBlX2Zsb2F0MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2Zsb2F0MzJ4NF90XTog X19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X2YzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwg ZmxvYXQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MzJ4NF90 KSkpO30pCiAKICNkZWZpbmUgdnN0cndxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXQocDAscDEs cDIpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKQotI2Rl ZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxwMSxwMikgKHsg X190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAx KTsgXAorI2RlZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxw MSxwMikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBf X3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChf X3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92 c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3Qp KSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCAqKSwgX19wMSwgX19BUk1f bXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV9mbG9hdDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyeDRfdF06IF9fYXJt X3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X2YzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBmbG9hdDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQz Mng0X3QpKSk7fSkKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDAp XVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3 cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50 MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVf dWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3UzMiAo X19BUk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2Vy Y2UoX19wMiwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxv YXQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ff c2NhdHRlcl9zaGlmdGVkX29mZnNldF9mMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGZsb2F0 MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDMyeDRfdCkpKTt9 KQogCiAjZGVmaW5lIHZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIs cDMpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMp Ci0jZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEs cDIscDMpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkg X19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfc2hpZnRlZF9v ZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAg IF9fdHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19B Uk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQz Mng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3MzMiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9z Y2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpLCBw MyksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXVtfX0FSTV9t dmVfdHlwZV9mbG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zm c2V0X3BfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MzJfdCAqKSwgX19wMSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDMyeDRfdCksIHAzKSk7fSkKKyAgX0dlbmVy aWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9f cDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJN X212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zm c2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FS TV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9f YXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29l cmNlKHAwLCB1aW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50 MzJ4NF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9z aGlmdGVkX29mZnNldF9wX2YzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQzMl90ICop LCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MzJ4NF90KSwgcDMpKTt9KQog CiAjZGVmaW5lIHZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMp IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpCi0j ZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIs cDMpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19w MSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfc2hpZnRlZF9vZmZz ZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9f dHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0 X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3MzMiAoX19BUk1f bXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9f cDIsIGludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQz Ml90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0 dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQz Ml90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpLCBwMyks IFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9mbG9hdDMyX3RfcHRyXVtfX0FSTV9tdmVf dHlwZV9mbG9hdDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3BfZjMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGZsb2F0MzJfdCAqKSwgX19wMSwgX19B Uk1fbXZlX2NvZXJjZShfX3AyLCBmbG9hdDMyeDRfdCksIHAzKSk7fSkKKyAgX0dlbmVyaWMo IChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIp XSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212 ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJt X3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNl KHAwLCB1aW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4 NF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQzMl90X3B0cl1b X19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlm dGVkX29mZnNldF9wX2YzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgZmxvYXQzMl90ICopLCBf X3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MzJ4NF90KSwgcDMpKTt9KQogCiAj ZGVmaW5lIHZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKSBfX2FybV92 c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxwMSxwMikKLSNkZWZpbmUgX19hcm1f dnN0cndxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAw KSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZp bmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXQocDAscDEscDIpICh7IF9f dHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAogICBfX3R5cGVvZihwMikgX19wMiA9IChwMik7 IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJN X212ZV90eXBlaWQoX19wMildKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQz Ml90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0 ZXJfc2hpZnRlZF9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDMyX3Qg KiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJN X212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2Uo X19wMiwgdWludDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfZmxvYXQz Ml90X3B0cl1bX19BUk1fbXZlX3R5cGVfZmxvYXQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2Nh dHRlcl9zaGlmdGVkX29mZnNldF9mMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgZmxvYXQz Ml90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGZsb2F0MzJ4NF90KSkpO30p CisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZl X3R5cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9z aGlmdGVkX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDMyX3QgKiksIF9f cDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3Rd OiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJNX212ZV9j b2VyY2UocDAsIHVpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVp bnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2Zsb2F0MzJfdF9wdHJd W19fQVJNX212ZV90eXBlX2Zsb2F0MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfc2hp ZnRlZF9vZmZzZXRfZjMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBmbG9hdDMyX3QgKiksIF9f cDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgZmxvYXQzMng0X3QpKSk7fSkKIAogI2RlZmlu ZSB2dW5pbml0aWFsaXplZHEocDApIF9fYXJtX3Z1bmluaXRpYWxpemVkcShwMCkKICNkZWZp bmUgX19hcm1fdnVuaW5pdGlhbGl6ZWRxKHAwKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChw MCk7IFwKQEAgLTIzNDE2LDE1ICsyMzM3OSwxNCBAQCBleHRlcm4gdm9pZCAqX19BUk1fdW5k ZWY7CiAgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3 cV9zY2F0dGVyX2Jhc2Vfd2JfcF91MzIgKHAwLCBwMSwgX19BUk1fbXZlX2NvZXJjZShfX3Ay LCB1aW50MzJ4NF90KSwgcDMpKTt9KQogCiAjZGVmaW5lIHZzdDRxKHAwLHAxKSBfX2FybV92 c3Q0cShwMCxwMSkKLSNkZWZpbmUgX19hcm1fdnN0NHEocDAscDEpICh7IF9fdHlwZW9mKHAw KSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dl bmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBl aWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV9pbnQ4eDE2eDRfdF06IF9fYXJtX3ZzdDRxX3M4IChfX0FSTV9tdmVf Y29lcmNlKF9fcDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2 eDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJN X212ZV90eXBlX2ludDE2eDh4NF90XTogX19hcm1fdnN0NHFfczE2IChfX0FSTV9tdmVfY29l cmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4OHg0 X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9t dmVfdHlwZV9pbnQzMng0eDRfdF06IF9fYXJtX3ZzdDRxX3MzMiAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCBpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDR4NF90 KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDh4MTZ4NF90XTogX19hcm1fdnN0NHFfdTggKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNng0X3Qp KSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDE2eDh4NF90XTogX19hcm1fdnN0NHFfdTE2IChfX0FSTV9tdmVfY29lcmNl KF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4eDRf dCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9t dmVfdHlwZV91aW50MzJ4NHg0X3RdOiBfX2FybV92c3Q0cV91MzIgKF9fQVJNX212ZV9jb2Vy Y2UoX19wMCwgdWludDMyX3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDR4 NF90KSkpO30pCisjZGVmaW5lIF9fYXJtX3ZzdDRxKHAwLHAxKSAoeyBfX3R5cGVvZihwMSkg X19wMSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQo cDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50OHgxNng0X3RdOiBfX2FybV92 c3Q0cV9zOCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50OF90ICopLCBfX0FSTV9tdmVfY29l cmNlKF9fcDEsIGludDh4MTZ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OHg0X3RdOiBfX2FybV92c3Q0cV9z MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2Uo X19wMSwgaW50MTZ4OHg0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMy X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0eDRfdF06IF9fYXJtX3ZzdDRxX3MzMiAo X19BUk1fbXZlX2NvZXJjZShwMCwgaW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCBpbnQzMng0eDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9w dHJdW19fQVJNX212ZV90eXBlX3VpbnQ4eDE2eDRfdF06IF9fYXJtX3ZzdDRxX3U4IChfX0FS TV9tdmVfY29lcmNlKHAwLCB1aW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQ4eDE2eDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OHg0X3RdOiBfX2FybV92c3Q0cV91MTYgKF9fQVJN X212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4eDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NHg0X3RdOiBfX2FybV92c3Q0cV91MzIgKF9fQVJN X212ZV9jb2VyY2UocDAsIHVpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQzMng0eDRfdCkpKTt9KQogCiAjZGVmaW5lIHZhYnNxKHAwKSBfX2FybV92YWJzcShwMCkK ICNkZWZpbmUgX19hcm1fdmFic3EocDApICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsg XApAQCAtMjQ5NDEsMTUgKzI0OTAzLDE0IEBAIGV4dGVybiB2b2lkICpfX0FSTV91bmRlZjsK ICAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdm11bHFfbV91 MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRf dCksIHAzKSk7fSkKIAogI2RlZmluZSB2c3RyYnEocDAscDEpIF9fYXJtX3ZzdHJicShwMCxw MSkKLSNkZWZpbmUgX19hcm1fdnN0cmJxKHAwLHAxKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9 IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCi0gIF9HZW5lcmljKCAo aW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEp XSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZl X3R5cGVfaW50OHgxNl90XTogX19hcm1fdnN0cmJxX3M4IChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2X3QpKSwgXAot ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX2lu dDE2eDhfdF06IF9fYXJtX3ZzdHJicV9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50 OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDE2eDhfdCkpLCBcCi0gIGludCAo KilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90 XTogX19hcm1fdnN0cmJxX3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MzJ4NF90KSksIFwKLSAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdF06IF9f YXJtX3ZzdHJicV91OCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1f dnN0cmJxX3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90 eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0 cmJxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQzMng0X3QpKSk7fSkKKyNkZWZpbmUgX19hcm1fdnN0cmJxKHAw LHAxKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChpbnQg KCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVf aW50OHgxNl90XTogX19hcm1fdnN0cmJxX3M4IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4 X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50OHgxNl90KSksIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3Rd OiBfX2FybV92c3RyYnFfczE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92 c3RyYnFfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgaW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91 aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdF06IF9fYXJtX3ZzdHJicV91 OCAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCB1aW50OHgxNl90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJicV91MTYgKF9f QVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyYnFfdTMyIChfX0FSTV9t dmVfY29lcmNlKHAwLCB1aW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQz Mng0X3QpKSk7fSkKIAogI2RlZmluZSB2c3Ryd3Ffc2NhdHRlcl9iYXNlKHAwLHAxLHAyKSBf X2FybV92c3Ryd3Ffc2NhdHRlcl9iYXNlKHAwLHAxLHAyKQogI2RlZmluZSBfX2FybV92c3Ry d3Ffc2NhdHRlcl9iYXNlKHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMikgX19wMiA9IChwMik7 IFwKQEAgLTI0OTU4LDE1ICsyNDkxOSwxNCBAQCBleHRlcm4gdm9pZCAqX19BUk1fdW5kZWY7 CiAgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9z Y2F0dGVyX2Jhc2VfdTMyKHAwLCBwMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4 NF90KSkpO30pCiAKICNkZWZpbmUgdmxkcmJxX2dhdGhlcl9vZmZzZXQocDAscDEpIF9fYXJt X3ZsZHJicV9nYXRoZXJfb2Zmc2V0KHAwLHAxKQotI2RlZmluZSBfX2FybV92bGRyYnFfZ2F0 aGVyX29mZnNldChwMCxwMSkgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9f dHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDhfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQ4eDE2X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF9zOCAoX19BUk1fbXZlX2Nv ZXJjZShfX3AwLCBpbnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDh4MTZfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X2NvbnN0X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zm c2V0X3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgY29uc3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50OF90X2NvbnN0X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9f YXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBp bnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpLCBc Ci0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9jb25zdF9wdHJdW19fQVJNX212 ZV90eXBlX3VpbnQ4eDE2X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF91OCAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNl KF9fcDEsIHVpbnQ4eDE2X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4 X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmJx X2dhdGhlcl9vZmZzZXRfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgY29u c3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF91MzIgKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgdWludDhfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1 aW50MzJ4NF90KSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0KHAw LHAxKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChpbnQg KCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVf dWludDh4MTZfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3M4IChfX0FSTV9tdmVf Y29lcmNlKHAwLCBpbnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDh4MTZfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3Mx NiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29l cmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2lu dDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92bGRyYnFfZ2F0 aGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCBjb25zdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdF06IF9f YXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50 OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OF90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfdTE2IChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRf dTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQzMng0X3QpKSk7fSkKIAogI2RlZmluZSB2c3Ryd3Ffc2NhdHRl cl9iYXNlX3AocDAscDEscDIscDMpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX2Jhc2VfcChwMCxw MSxwMixwMykKICNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfYmFzZV9wKHAwLHAxLHAy LHAzKSAoeyBfX3R5cGVvZihwMikgX19wMiA9IChwMik7IFwKQEAgLTI0OTc1LDI2OCArMjQ5 MzUsMjQyIEBAIGV4dGVybiB2b2lkICpfX0FSTV91bmRlZjsKICAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfYmFzZV9wX3UzMiAo cDAsIHAxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpLCBwMykpO30pCiAK ICNkZWZpbmUgdmxkMXEocDApIF9fYXJtX3ZsZDFxKHAwKQotI2RlZmluZSBfX2FybV92bGQx cShwMCkgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9HZW5lcmljKCAoaW50 ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50OF90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3M4IChfX0FSTV9tdmVfY29l cmNlKF9fcDAsIGludDhfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV9pbnQxNl90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3MxNiAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCBpbnQxNl90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDMyX3RfY29uc3RfcHRyXTogX19hcm1fdmxkMXFfczMyIChfX0FSTV9tdmVfY29lcmNl KF9fcDAsIGludDMyX3QgY29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVf dWludDhfdF9jb25zdF9wdHJdOiBfX2FybV92bGQxcV91OCAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCB1aW50OF90IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQxNl90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3UxNiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCB1aW50MTZfdCBjb25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91 aW50MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGQxcV91MzIgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgdWludDMyX3QgY29uc3QgKikpKTt9KQorI2RlZmluZSBfX2FybV92bGQxcShwMCkg KF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV0pMCwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdOiBfX2FybV92bGQxcV9zOCAoX19BUk1f bXZlX2NvZXJjZShwMCwgaW50OF90IGNvbnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDE2X3RfcHRyXTogX19hcm1fdmxkMXFfczE2IChfX0FSTV9tdmVfY29lcmNl KHAwLCBpbnQxNl90IGNvbnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2lu dDMyX3RfcHRyXTogX19hcm1fdmxkMXFfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQz Ml90IGNvbnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRy XTogX19hcm1fdmxkMXFfdTggKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgY29uc3Qg KikpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXTogX19hcm1f dmxkMXFfdTE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCBjb25zdCAqKSksIFwK KyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGQxcV91 MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQzMl90IGNvbnN0ICopKSkpCiAKICNkZWZp bmUgdmxkcmhxX2dhdGhlcl9vZmZzZXQocDAscDEpIF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zm c2V0KHAwLHAxKQotI2RlZmluZSBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldChwMCxwMSkg KHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0g KHAxKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1b X19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1f dmxkcmhxX2dhdGhlcl9vZmZzZXRfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2 X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQzMng0X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF9zMzIgKF9fQVJN X212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCB1aW50MzJ4NF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZf dF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFf Z2F0aGVyX29mZnNldF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgY29u c3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVf Y29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IHVpbnQzMng0X3QpKSk7fSkKKyNkZWZpbmUgX19hcm1fdmxkcmhxX2dhdGhlcl9vZmZzZXQo cDAscDEpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorICBfR2VuZXJpYyggKGlu dCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldKTAs IFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3MxNiAoX19BUk1f bXZlX2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zm c2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92 bGRyaHFfZ2F0aGVyX29mZnNldF91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90 IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAorICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3UzMiAoX19BUk1fbXZlX2Nv ZXJjZShwMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDMyeDRfdCkpKTt9KQogCiAjZGVmaW5lIHZsZHJocV9nYXRoZXJfb2Zmc2V0X3oocDAscDEs cDIpIF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3oocDAscDEscDIpCi0jZGVmaW5lIF9f YXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3oocDAscDEscDIpICh7IF9fdHlwZW9mKHAwKSBf X3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVy aWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQo X19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X2NvbnN0X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zm c2V0X3pfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgY29uc3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAotICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4 NF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9vZmZzZXRfel9zMzIgKF9fQVJNX212ZV9jb2Vy Y2UoX19wMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MzJ4NF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29u c3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhl cl9vZmZzZXRfel91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgY29uc3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X2NvbnN0X3B0cl1bX19BUk1fbXZlX3R5cGVf dWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3pfdTMyIChfX0FSTV9t dmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQzMng0X3QpLCBwMikpO30pCisjZGVmaW5lIF9fYXJtX3ZsZHJocV9nYXRoZXJf b2Zmc2V0X3oocDAscDEscDIpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorICBf R2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBl aWQoX19wMSldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfb2Zmc2V0 X3pfczE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJt X3ZsZHJocV9nYXRoZXJfb2Zmc2V0X3pfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQx Nl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMiks IFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX29mZnNldF96X3UxNiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2Uo X19wMSwgdWludDE2eDhfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJocV9n YXRoZXJfb2Zmc2V0X3pfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCBjb25z dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgcDIpKTt9KQogCiAj ZGVmaW5lIHZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpIF9fYXJtX3ZsZHJo cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpCi0jZGVmaW5lIF9fYXJtX3ZsZHJocV9n YXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAw KTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVyaWMoIChpbnQg KCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldKTAs IFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X2NvbnN0X3B0cl1bX19BUk1f bXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZz ZXRfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgY29uc3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBf X2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCBpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQz Mng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X2NvbnN0X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hp ZnRlZF9vZmZzZXRfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0 ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAotICBpbnQgKCop W19fQVJNX212ZV90eXBlX3VpbnQxNl90X2NvbnN0X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF06IF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfdTMyIChfX0FS TV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNl KF9fcDEsIHVpbnQzMng0X3QpKSk7fSkKKyNkZWZpbmUgX19hcm1fdmxkcmhxX2dhdGhlcl9z aGlmdGVkX29mZnNldChwMCxwMSkgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisg IF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5 cGVpZChfX3AxKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlm dGVkX29mZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgY29uc3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBf X2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgaW50MTZfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4 NF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJN X212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zm c2V0X3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1f dmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAs IHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3Qp KSk7fSkKIAogI2RlZmluZSB2bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3oocDAscDEs cDIpIF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfeihwMCxwMSxwMikKLSNk ZWZpbmUgX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96KHAwLHAxLHAyKSAo eyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAo cDEpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtf X0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVf aW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92 bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfczE2IChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIGludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhf dCksIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlm dGVkX29mZnNldF96X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90IGNvbnN0 ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMiksIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfdTE2 IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBf X2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfdTMyIChfX0FSTV9tdmVfY29l cmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQzMng0X3QpLCBwMikpO30pCisjZGVmaW5lIF9fYXJtX3ZsZHJocV9nYXRoZXJfc2hpZnRl ZF9vZmZzZXRfeihwMCxwMSxwMikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisg IF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5 cGVpZChfX3AxKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlm dGVkX29mZnNldF96X3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0 X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3pfczMyIChfX0FSTV9t dmVfY29lcmNlKHAwLCBpbnQxNl90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IHVpbnQzMng0X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZf dF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyaHFfZ2F0aGVy X3NoaWZ0ZWRfb2Zmc2V0X3pfdTE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCBj b25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XTogX19hcm1fdmxkcmhxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3UzMiAo X19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgdWludDMyeDRfdCksIHAyKSk7fSkKIAogI2RlZmluZSB2bGRyd3FfZ2F0aGVy X29mZnNldChwMCxwMSkgX19hcm1fdmxkcndxX2dhdGhlcl9vZmZzZXQocDAscDEpCiAjZGVm aW5lIF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0KHAwLHAxKSAoeyBfX3R5cGVvZihwMCkg X19wMCA9IChwMCk7IFwKICAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQo X19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2NvbnN0X3B0 cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBpbnQzMl90IGNvbnN0ICopLCBwMSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV91aW50MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF91MzIg KF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgY29uc3QgKiksIHAxKSk7fSkKKyAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRo ZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90IGNvbnN0ICop LCBwMSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2Fy bV92bGRyd3FfZ2F0aGVyX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWlu dDMyX3QgY29uc3QgKiksIHAxKSk7fSkKIAogI2RlZmluZSB2bGRyd3FfZ2F0aGVyX29mZnNl dF96KHAwLHAxLHAyKSBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF96KHAwLHAxLHAyKQog I2RlZmluZSBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF96KHAwLHAxLHAyKSAoeyBfX3R5 cGVvZihwMCkgX19wMCA9IChwMCk7IFwKICAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212 ZV90eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90 X2NvbnN0X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0X3pfczMyIChfX0FSTV9t dmVfY29lcmNlKF9fcDAsIGludDMyX3QgY29uc3QgKiksIHAxLCBwMiksIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0 aGVyX29mZnNldF96X3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCBjb25z dCAqKSwgcDEsIHAyKSk7fSkKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0 cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfb2Zmc2V0X3pfczMyIChfX0FSTV9tdmVfY29lcmNl KF9fcDAsIGludDMyX3QgY29uc3QgKiksIHAxLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX29mZnNldF96X3Uz MiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCBjb25zdCAqKSwgcDEsIHAyKSk7 fSkKIAogI2RlZmluZSB2bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxKSBfX2Fy bV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxKQogI2RlZmluZSBfX2FybV92 bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxKSAoeyBfX3R5cGVvZihwMCkgX19w MCA9IChwMCk7IFwKICAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19w MCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X2NvbnN0X3B0cl06 IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29l cmNlKF9fcDAsIGludDMyX3QgY29uc3QgKiksIHAxKSwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQzMl90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRl ZF9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQzMl90IGNvbnN0ICop LCBwMSkpO30pCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdOiBfX2Fy bV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBpbnQzMl90IGNvbnN0ICopLCBwMSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3Uz MiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCBjb25zdCAqKSwgcDEpKTt9KQog CiAjZGVmaW5lIHZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfeihwMCxwMSxwMikgX19h cm1fdmxkcndxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96KHAwLHAxLHAyKQogI2RlZmluZSBf X2FybV92bGRyd3FfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3oocDAscDEscDIpICh7IF9fdHlw ZW9mKHAwKSBfX3AwID0gKHAwKTsgXAogICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZl X3R5cGVpZChfX3AwKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3Rf Y29uc3RfcHRyXTogX19hcm1fdmxkcndxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3MzMiAo X19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90IGNvbnN0ICopLCBwMSwgcDIpLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfY29uc3RfcHRyXTogX19hcm1fdmxk cndxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96X3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3Aw LCB1aW50MzJfdCBjb25zdCAqKSwgcDEsIHAyKSk7fSkKKyAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV9pbnQzMl90X3B0cl06IF9fYXJtX3ZsZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRf el9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCBjb25zdCAqKSwgcDEsIHAy KSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl06IF9fYXJtX3Zs ZHJ3cV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfel91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgdWludDMyX3QgY29uc3QgKiksIHAxLCBwMikpO30pCiAKICNkZWZpbmUgdnN0MXEocDAs cDEpIF9fYXJtX3ZzdDFxKHAwLHAxKQotI2RlZmluZSBfX2FybV92c3QxcShwMCxwMSkgKHsg X190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAx KTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19B Uk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2lu dDhfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDh4MTZfdF06IF9fYXJtX3ZzdDFxX3M4IChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCBpbnQ4eDE2X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3QxcV9zMTYgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQx Nng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FS TV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3QxcV9zMzIgKF9fQVJNX212ZV9jb2Vy Y2UoX19wMCwgaW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3Qp KSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50OHgxNl90XTogX19hcm1fdnN0MXFfdTggKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNl90KSksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdOiBfX2FybV92c3QxcV91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwg dWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XTogX19hcm1fdnN0MXFfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpKSk7fSkKKyNk ZWZpbmUgX19hcm1fdnN0MXEocDAscDEpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2X3RdOiBfX2FybV92c3QxcV9zOCAoX19BUk1f bXZlX2NvZXJjZShwMCwgaW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDh4 MTZfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJN X212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdDFxX3MxNiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV9pbnQzMng0X3RdOiBfX2FybV92c3QxcV9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGlu dDMyX3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MzJ4NF90KSksIFwKKyAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4 MTZfdF06IF9fYXJtX3ZzdDFxX3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90ICop LCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpKSwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06 IF9fYXJtX3ZzdDFxX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19h cm1fdnN0MXFfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSkpO30pCiAKICNkZWZpbmUgdnN0MXFfcChw MCxwMSxwMikgX19hcm1fdnN0MXFfcChwMCxwMSxwMikKLSNkZWZpbmUgX19hcm1fdnN0MXFf cChwMCxwMSxwMikgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9m KHAxKSBfX3AxID0gKHAxKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5 cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAotICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDh4MTZfdF06IF9f YXJtX3ZzdDFxX3BfczggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50OF90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIGludDh4MTZfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2Fy bV92c3QxcV9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIGludDE2eDhfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2Fy bV92c3QxcV9wX3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDRfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19h cm1fdnN0MXFfcF91OCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBf X2FybV92c3QxcV9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XTogX19hcm1fdnN0MXFfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIHAyKSk7fSkKKyNkZWZp bmUgX19hcm1fdnN0MXFfcChwMCxwMSxwMikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEp OyBcCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1f bXZlX3R5cGVpZChfX3AxKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhf dF9wdHJdW19fQVJNX212ZV90eXBlX2ludDh4MTZfdF06IF9fYXJtX3ZzdDFxX3BfczggKF9f QVJNX212ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBp bnQ4eDE2X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0MXFfcF9zMTYgKF9fQVJN X212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50 MTZ4OF90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJd W19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdDFxX3BfczMyIChfX0FSTV9t dmVfY29lcmNlKHAwLCBpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDMy eDRfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19hcm1fdnN0MXFfcF91OCAoX19BUk1fbXZl X2NvZXJjZShwMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgx Nl90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0MXFfcF91MTYgKF9fQVJNX212 ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQx Nng4X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3QxcV9wX3UzMiAoX19BUk1f bXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDMyeDRfdCksIHAyKSk7fSkKIAogI2RlZmluZSB2c3QycShwMCxwMSkgX19hcm1fdnN0MnEo cDAscDEpCi0jZGVmaW5lIF9fYXJtX3ZzdDJxKHAwLHAxKSAoeyBfX3R5cGVvZihwMCkgX19w MCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCi0gIF9HZW5lcmlj KCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9f cDEpXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1f bXZlX3R5cGVfaW50OHgxNngyX3RdOiBfX2FybV92c3QycV9zOCAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50OHgxNngyX3Qp KSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVf dHlwZV9pbnQxNng4eDJfdF06IF9fYXJtX3ZzdDJxX3MxNiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDE2eDh4Ml90KSks IFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfaW50MzJ4NHgyX3RdOiBfX2FybV92c3QycV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0eDJfdCkpLCBc Ci0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQ4eDE2eDJfdF06IF9fYXJtX3ZzdDJxX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDh4MTZ4Ml90KSksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQxNng4eDJfdF06IF9fYXJtX3ZzdDJxX3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3Aw LCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OHgyX3QpKSwg XAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDR4Ml90XTogX19hcm1fdnN0MnFfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIHVpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0eDJfdCkp KTt9KQorI2RlZmluZSBfX2FybV92c3QycShwMCxwMSkgKHsgX190eXBlb2YocDEpIF9fcDEg PSAocDEpOyBcCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1b X19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDh4MTZ4Ml90XTogX19hcm1fdnN0MnFf czggKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCBpbnQ4eDE2eDJfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZf dF9wdHJdW19fQVJNX212ZV90eXBlX2ludDE2eDh4Ml90XTogX19hcm1fdnN0MnFfczE2IChf X0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IGludDE2eDh4Ml90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NHgyX3RdOiBfX2FybV92c3QycV9zMzIgKF9fQVJN X212ZV9jb2VyY2UocDAsIGludDMyX3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50 MzJ4NHgyX3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50OHgxNngyX3RdOiBfX2FybV92c3QycV91OCAoX19BUk1fbXZl X2NvZXJjZShwMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgx NngyX3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDE2eDh4Ml90XTogX19hcm1fdnN0MnFfdTE2IChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4 OHgyX3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDMyeDR4Ml90XTogX19hcm1fdnN0MnFfdTMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4 NHgyX3QpKSk7fSkKIAogI2RlZmluZSB2c3RyaHEocDAscDEpIF9fYXJtX3ZzdHJocShwMCxw MSkKLSNkZWZpbmUgX19hcm1fdnN0cmhxKHAwLHAxKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9 IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCi0gIF9HZW5lcmljKCAo aW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEp XSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212 ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zMTYgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpKSwg XAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MzJ4NF90KSksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQxNng4X3RdOiBfX2FybV92c3RyaHFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVp bnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF06IF9fYXJtX3ZzdHJocV91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWlu dDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpKTt9KQorI2Rl ZmluZSBfX2FybV92c3RyaHEocDAscDEpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3MxNiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBp bnQxNng4X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfczMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDRf dCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9t dmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3UxNiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpKTt9 KQogCiAjZGVmaW5lIHZzdHJocV9wKHAwLHAxLHAyKSBfX2FybV92c3RyaHFfcChwMCxwMSxw MikKLSNkZWZpbmUgX19hcm1fdnN0cmhxX3AocDAscDEscDIpICh7IF9fdHlwZW9mKHAwKSBf X3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVy aWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQo X19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19B Uk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3BfczE2IChfX0FSTV9tdmVf Y29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4 OF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19f QVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9wX3MzMiAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDMy eDRfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9wX3UxNiAoX19BUk1f bXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1 aW50MTZ4OF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3BfdTMyIChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQzMng0X3QpLCBwMikpO30pCisjZGVmaW5lIF9fYXJtX3ZzdHJocV9wKHAwLHAx LHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dlbmVyaWMoIChpbnQg KCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwg aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpLCBwMiksIFwK KyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVf aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBp bnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDRfdCksIHAyKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVf dWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwg dWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIHAy KSk7fSkKIAogI2RlZmluZSB2c3RyaHFfc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykg X19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEscDIscDMpCi0jZGVmaW5lIF9f YXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihw MCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisjZGVm aW5lIF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5 cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIpOyBc Ci0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9t dmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0gIGludCAo KilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4 X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29m ZnNldF9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9t dmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGlu dDE2eDhfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3Rd OiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2Uo X19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpLCBwMyksIFwKLSAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3Rd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZz ZXRfcF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWlu dDE2eDhfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRf dF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90 KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSwgcDMpKTt9KQorICBfR2Vu ZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQo X19wMSldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1f bXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfczE2 IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDE2eDhfdCksIHAz KSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3Ry aHFfc2NhdHRlcl9vZmZzZXRfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMiwgaW50MzJ4NF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVf dWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlw ZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfdTE2IChfX0FS TV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1 aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90KSwgcDMpLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhx X3NjYXR0ZXJfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJj ZShfX3AyLCB1aW50MzJ4NF90KSwgcDMpKTt9KQogCiAjZGVmaW5lIHZzdHJocV9zY2F0dGVy X29mZnNldChwMCxwMSxwMikgX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAy KQotI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXQocDAscDEscDIpICh7IF9f dHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7 IFwKKyNkZWZpbmUgX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKSAoeyBf X3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIp OyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FS TV9tdmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0gIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQx Nng4X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X29mZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBp bnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBf X2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJN X212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVf dHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212 ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfdTE2IChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpKSwg XAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJo cV9zY2F0dGVyX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldW19fQVJNX212ZV90eXBl aWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTog X19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3MxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwg aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1f bXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVf dHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfczMyIChfX0FS TV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCkpLCBcCisgIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50 MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0 ZXJfb2Zmc2V0X3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwg dWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3UzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9f QVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJo cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpIF9fYXJtX3ZzdHJocV9z Y2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpCi0jZGVmaW5lIF9fYXJtX3Zz dHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpICh7IF9fdHlwZW9m KHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNk ZWZpbmUgX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcChwMCxwMSxwMixw MykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3Ay ID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3Aw KV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwg XAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFf c2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3MxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBp bnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGludDE2eDhfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9t dmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNl dF9wX3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMy eDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06 IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTE2IChfX0FSTV9tdmVf Y29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQx Nng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2Nh dHRlcl9zaGlmdGVkX29mZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50 MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZl X2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSwgcDMpKTt9KQorICBfR2VuZXJpYyggKGludCAo KilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldW19fQVJN X212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQx Nl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfaW50 MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF9zMTYgKF9f QVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MTZ4OF90KSwgcDMpLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9z Y2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQx Nl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZl X3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3BfdTE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4 OF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTog X19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF91MzIgKF9fQVJNX212ZV9j b2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0 X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpLCBwMykpO30pCiAKICNk ZWZpbmUgdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXQocDAscDEscDIpIF9fYXJtX3Zz dHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92 c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDAp IF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmlu ZSBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxwMSxwMikgKHsgX190 eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0gKHAyKTsg XAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1f bXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4 OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9z aGlmdGVkX29mZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0 X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9zMzIgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2 eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X3NoaWZ0ZWRfb2Zmc2V0X3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJj ZShfX3AyLCB1aW50MTZ4OF90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50 MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF91MzIgKF9f QVJNX212ZV9jb2VyY2UoX19wMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCkpKTt9 KQorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhf dF1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hp ZnRlZF9vZmZzZXRfczE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIs IGludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06 IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2Nv ZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90 KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19f QVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0 ZWRfb2Zmc2V0X3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwg dWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfdTMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4 NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSkpO30pCiAKIAogI2Rl ZmluZSB2c3Ryd3EocDAscDEpIF9fYXJtX3ZzdHJ3cShwMCxwMSkKLSNkZWZpbmUgX19hcm1f dnN0cndxKHAwLHAxKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBl b2YocDEpIF9fcDEgPSAocDEpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVf dHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXSkwLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06 IF9fYXJtX3ZzdHJ3cV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9f YXJtX3ZzdHJ3cV91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpKTt9KQorI2RlZmluZSBfX2FybV92 c3Ryd3EocDAscDEpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorICBfR2VuZXJp YyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19w MSldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1f bXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cndxX3MzMiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgaW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAs IHVpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpKSk7fSkK IAogI2RlZmluZSB2c3Ryd3FfcChwMCxwMSxwMikgX19hcm1fdnN0cndxX3AocDAscDEscDIp Ci0jZGVmaW5lIF9fYXJtX3ZzdHJ3cV9wKHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMCkgX19w MCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCi0gIF9HZW5lcmlj KCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9f cDEpXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJN X212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9wX3MzMiAoX19BUk1fbXZlX2Nv ZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDMyeDRf dCksIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9wX3UzMiAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCB1aW50MzJfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MzJ4NF90KSwgcDIpKTt9KQorI2RlZmluZSBfX2FybV92c3Ryd3FfcChwMCxwMSxwMikgKHsg X190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FS TV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0pMCwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0 X3RdOiBfX2FybV92c3Ryd3FfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDMyX3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MzJ4NF90KSwgcDIpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4 NF90XTogX19hcm1fdnN0cndxX3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJf dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgcDIpKTt9KQogCiAj ZGVmaW5lIHZzdHJocV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikgX19hcm1fdnN0cmhxX3Nj YXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9v ZmZzZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5 cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cmhxX3NjYXR0ZXJf b2Zmc2V0KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190 eXBlb2YocDIpIF9fcDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9t dmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlw ZWlkKF9fcDIpXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06 IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19B Uk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9t dmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfczMyIChf X0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3RyaHFf c2NhdHRlcl9vZmZzZXRfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90ICop LCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIHVpbnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQx Nl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWlu dDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF91MzIgKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMy eDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQorICBfR2Vu ZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQo X19wMSldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1f bXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3MxNiAo X19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2Nh dHRlcl9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIs IGludDMyeDRfdCkpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3UxNiAoX19BUk1fbXZlX2NvZXJjZShw MCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9f QVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhfdCkpLCBcCisgIGludCAoKilbX19BUk1f bXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FS TV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3Uz MiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2Uo X19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCkp KTt9KQogCiAjZGVmaW5lIHZzdHJocV9zY2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKSBf X2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykKLSNkZWZpbmUgX19h cm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEscDIscDMpICh7IF9fdHlwZW9mKHAw KSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZp bmUgX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEscDIscDMpICh7IF9fdHlw ZW9mKHAxKSBfX3AxID0gKHAxKTsgXAogICBfX3R5cGVvZihwMikgX19wMiA9IChwMik7IFwK LSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212 ZV90eXBlaWQoX19wMSldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKLSAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhf dF1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zm c2V0X3BfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212 ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50 MTZ4OF90KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06 IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNldF9wX3MzMiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19f QVJNX212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1b X19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX29mZnNl dF9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZl X2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50 MTZ4OF90KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90 XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNl KF9fcDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3Qp LCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpLCBwMykpO30pCisgIF9HZW5l cmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChf X3AxKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9t dmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcF9zMTYg KF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MTZ4OF90KSwgcDMp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJo cV9zY2F0dGVyX29mZnNldF9wX3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJj ZShfX3AyLCBpbnQzMng0X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91 aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9vZmZzZXRfcF91MTYgKF9fQVJN X212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwK KyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFf c2NhdHRlcl9vZmZzZXRfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICop LCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIHVpbnQzMng0X3QpLCBwMykpO30pCiAKICNkZWZpbmUgdnN0cmhxX3NjYXR0ZXJf c2hpZnRlZF9vZmZzZXQocDAscDEscDIpIF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRf b2Zmc2V0KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVk X29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9f dHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92c3RyaHFfc2NhdHRl cl9zaGlmdGVkX29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEp OyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAo KilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19B Uk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2lu dDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9p bnQxNng4X3RdOiBfX2FybV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9zMTYgKF9f QVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwgXAot ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyaHFfc2Nh dHRlcl9zaGlmdGVkX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZf dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVf dWludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3UxNiAo X19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShf X3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90KSks IFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3Ry aHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwg dWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJN X212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQorICBfR2VuZXJpYyggKGludCAo KilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldW19fQVJN X212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQx Nl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfaW50 MTZ4OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfczE2IChfX0FS TV9tdmVfY29lcmNlKHAwLCBpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDE2eDhfdCkpLCBcCisgIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVy X3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQxNl90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2 eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3UxNiAoX19BUk1f bXZlX2NvZXJjZShwMCwgdWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWlu dDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhfdCkpLCBcCisgIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50 MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0 ZXJfc2hpZnRlZF9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCAq KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJj ZShfX3AyLCB1aW50MzJ4NF90KSkpO30pCiAKICNkZWZpbmUgdnN0cmhxX3NjYXR0ZXJfc2hp ZnRlZF9vZmZzZXRfcChwMCxwMSxwMixwMykgX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRl ZF9vZmZzZXRfcChwMCxwMSxwMixwMykKLSNkZWZpbmUgX19hcm1fdnN0cmhxX3NjYXR0ZXJf c2hpZnRlZF9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDApIF9fcDAgPSAo cDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92 c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVv ZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIpOyBcCi0g IF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVf dHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3Rd W19fQVJNX212ZV90eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0 ZWRfb2Zmc2V0X3BfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgaW50MTZ4OF90KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZf dF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX2ludDMy eDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfczMyIChfX0FS TV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSwgcDMpLCBc Ci0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmhx X3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwg dWludDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJN X212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19B Uk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJocV9zY2F0dGVyX3NoaWZ0ZWRf b2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIs IHVpbnQzMng0X3QpLCBwMykpO30pCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVf dHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV1bX19BUk1fbXZlX3R5cGVpZChf X3AyKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRyXVtfX0FS TV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2Fy bV92c3RyaHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3MxNiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgaW50MTZfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpLCBwMyksIFwKKyAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV9pbnQxNl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1b X19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRl ZF9vZmZzZXRfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDE2X3QgKiksIF9fQVJN X212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwg aW50MzJ4NF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4 OF90XTogX19hcm1fdnN0cmhxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcF91MTYgKF9fQVJN X212ZV9jb2VyY2UocDAsIHVpbnQxNl90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVp bnQxNng4X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQxNng4X3QpLCBwMyksIFwK KyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MTZfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyaHFf c2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWlu dDE2X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212 ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSk7fSkKIAogI2RlZmluZSB2c3Ryd3Ff c2NhdHRlcl9vZmZzZXQocDAscDEscDIpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldChw MCxwMSxwMikKLSNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAy KSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEg PSAocDEpOyBcCisjZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldChwMCxwMSxw MikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3Ay ID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3Aw KV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90 eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3Ry d3Ffc2NhdHRlcl9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDMyX3Qg KiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29l cmNlKF9fcDAsIHVpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVp bnQzMng0X3QpKSk7fSkKKyAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQo cDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3Zz dHJ3cV9zY2F0dGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDMyX3Qg KiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90KSksIFwKKyAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQz Mng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29l cmNlKHAwLCB1aW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50 MzJ4NF90KSkpO30pCiAKICNkZWZpbmUgdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEs cDIscDMpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKQotI2Rl ZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190 eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAorI2RlZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykg KHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0g KHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1b X19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3Ryd3Ff c2NhdHRlcl9vZmZzZXRfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCAq KSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpLCBwMyksIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX3Vp bnQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcF91MzIgKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgdWludDMyeDRfdCkpKTt9KQorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5 cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19h cm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBp bnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAz KSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9wX3UzMiAo X19BUk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2Vy Y2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJ3cV9zY2F0dGVyX29m ZnNldF9wKHAwLHAxLHAyLHAzKSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcChwMCxw MSxwMixwMykKLSNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEs cDIscDMpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkg X19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3Ao cDAscDEscDIscDMpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAogICBfX3R5cGVv ZihwMikgX19wMiA9IChwMik7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90 eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKLSAgaW50ICgqKVtf X0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTog X19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIGludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MzJ4NF90 KSwgcDMpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyX3RfcHRyXVtfX0FS TV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3Bf dTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpLCBwMykpO30pCisgIF9HZW5lcmljKCAoaW50 ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV9pbnQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZzZXRfcF9zMzIgKF9fQVJN X212ZV9jb2VyY2UocDAsIGludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgaW50MzJ4NF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMy X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0 ZXJfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50MzJfdCAqKSwgX19w MSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MzJ4NF90KSwgcDMpKTt9KQogCiAjZGVm aW5lIHZzdHJ3cV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikgX19hcm1fdnN0cndxX3NjYXR0 ZXJfb2Zmc2V0KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92c3Ryd3Ffc2NhdHRlcl9vZmZz ZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVv ZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zm c2V0KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBl b2YocDIpIF9fcDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVf dHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06 IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3Qp KSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF91MzIgKF9f QVJNX212ZV9jb2VyY2UoX19wMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2Vy Y2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQorICBfR2VuZXJpYyggKGludCAoKilbX19BUk1f bXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV9pbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MzJ4NF90 XTogX19hcm1fdnN0cndxX3NjYXR0ZXJfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgaW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3Qp KSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX29mZnNldF91MzIgKF9f QVJNX212ZV9jb2VyY2UocDAsIHVpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIHVpbnQzMng0X3QpKSk7fSkKIAogI2RlZmluZSB2c3Ryd3Ffc2NhdHRlcl9zaGlm dGVkX29mZnNldChwMCxwMSxwMikgX19hcm1fdnN0cndxX3NjYXR0ZXJfc2hpZnRlZF9vZmZz ZXQocDAscDEscDIpCi0jZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zm c2V0KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBl b2YocDEpIF9fcDEgPSAocDEpOyBcCisjZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3No aWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwK ICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtf X0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdW19fQVJNX212ZV90eXBlX2lu dDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3MzMiAoX19B Uk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNl KF9fcDIsIGludDMyeDRfdCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMy X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdnN0cndxX3NjYXR0 ZXJfc2hpZnRlZF9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQzMl90 ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQzMng0X3QpKSk7fSkKKyAg X0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlw ZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJd W19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0 ZWRfb2Zmc2V0X3MzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50MzJfdCAqKSwgX19wMSwg X19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9f YXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3UzMiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgdWludDMyX3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMy eDRfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3Ao cDAscDEscDIscDMpIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAs cDEscDIscDMpCi0jZGVmaW5lIF9fYXJtX3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0 X3AocDAscDEscDIscDMpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5 cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cndxX3NjYXR0ZXJf c2hpZnRlZF9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAo cDEpOyBcCiAgIF9fdHlwZW9mKHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGlu dCAoKilbX19BUk1fbXZlX3R5cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0p MCwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVf dHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF9w X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGludDMyeDRfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQzMl90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJt X3ZzdHJ3cV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNl KF9fcDAsIHVpbnQzMl90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQz Mng0X3QpLCBwMykpO30pCisgIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlk KHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212 ZV90eXBlX2ludDMyX3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92 c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3MzMiAoX19BUk1fbXZlX2NvZXJjZShw MCwgaW50MzJfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3Qp LCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50MzJfdF9wdHJdW19fQVJN X212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3Ryd3Ffc2NhdHRlcl9zaGlmdGVkX29m ZnNldF9wX3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDMyX3QgKiksIF9fcDEsIF9f QVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSk7fSkKIAogI2RlZmluZSB2 dW5pbml0aWFsaXplZHEocDApIF9fYXJtX3Z1bmluaXRpYWxpemVkcShwMCkKICNkZWZpbmUg X19hcm1fdnVuaW5pdGlhbGl6ZWRxKHAwKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7 IFwKQEAgLTI1NTAzLDM0ICsyNTQzNywzMiBAQCBleHRlcm4gdm9pZCAqX19BUk1fdW5kZWY7 CiAgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZicnNycV94 X25fdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMiwgcDMpKTt9 KQogCiAjZGVmaW5lIHZsZDFxX3oocDAscDEpIF9fYXJtX3ZsZDFxX3oocDAsIHAxKQotI2Rl ZmluZSBfX2FybV92bGQxcV96KHAwLHAxKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7 IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfY29uc3RfcHRyXTogX19hcm1fdmxk MXFfel9zOCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgY29uc3QgKiksIHAxKSwg XAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRyXTogX19hcm1f dmxkMXFfel9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MTZfdCBjb25zdCAqKSwg cDEpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9jb25zdF9wdHJdOiBf X2FybV92bGQxcV96X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQzMl90IGNvbnN0 ICopLCBwMSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X2NvbnN0X3B0 cl06IF9fYXJtX3ZsZDFxX3pfdTggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCBj b25zdCAqKSwgcDEpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29u c3RfcHRyXTogX19hcm1fdmxkMXFfel91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWlu dDE2X3QgY29uc3QgKiksIHAxKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQz Ml90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZDFxX3pfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9f cDAsIHVpbnQzMl90IGNvbnN0ICopLCBwMSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZDFxX3oo cDAscDEpICggX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXSkwLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl06IF9fYXJtX3ZsZDFxX3pf czggKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCBjb25zdCAqKSwgcDEpLCBcCisgIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfaW50MTZfdF9wdHJdOiBfX2FybV92bGQxcV96X3MxNiAo X19BUk1fbXZlX2NvZXJjZShwMCwgaW50MTZfdCBjb25zdCAqKSwgcDEpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9wdHJdOiBfX2FybV92bGQxcV96X3MzMiAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50MzJfdCBjb25zdCAqKSwgcDEpLCBcCisgIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdOiBfX2FybV92bGQxcV96X3U4IChfX0FSTV9t dmVfY29lcmNlKHAwLCB1aW50OF90IGNvbnN0ICopLCBwMSksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV91aW50MTZfdF9wdHJdOiBfX2FybV92bGQxcV96X3UxNiAoX19BUk1fbXZl X2NvZXJjZShwMCwgdWludDE2X3QgY29uc3QgKiksIHAxKSwgXAorICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQzMl90X3B0cl06IF9fYXJtX3ZsZDFxX3pfdTMyIChfX0FSTV9tdmVf Y29lcmNlKHAwLCB1aW50MzJfdCBjb25zdCAqKSwgcDEpKSkKIAogI2RlZmluZSB2bGQycShw MCkgX19hcm1fdmxkMnEocDApCi0jZGVmaW5lIF9fYXJtX3ZsZDJxKHAwKSAoeyBfX3R5cGVv ZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90 eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfY29u c3RfcHRyXTogX19hcm1fdmxkMnFfczggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50OF90 IGNvbnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfY29uc3Rf cHRyXTogX19hcm1fdmxkMnFfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3Qg Y29uc3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9jb25zdF9w dHJdOiBfX2FybV92bGQycV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCBj b25zdCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X2NvbnN0X3B0 cl06IF9fYXJtX3ZsZDJxX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgY29u c3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29uc3RfcHRy XTogX19hcm1fdmxkMnFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNv bnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X2NvbnN0X3B0 cl06IF9fYXJtX3ZsZDJxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCBj b25zdCAqKSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZDJxKHAwKSAoIF9HZW5lcmljKCAoaW50 ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX2ludDhfdF9wdHJdOiBfX2FybV92bGQycV9zOCAoX19BUk1fbXZlX2NvZXJjZShwMCwg aW50OF90IGNvbnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3Rf cHRyXTogX19hcm1fdmxkMnFfczE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90IGNv bnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXTogX19h cm1fdmxkMnFfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQzMl90IGNvbnN0ICopKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXTogX19hcm1fdmxkMnFf dTggKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgY29uc3QgKikpLCBcCisgIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXTogX19hcm1fdmxkMnFfdTE2IChfX0FS TV9tdmVfY29lcmNlKHAwLCB1aW50MTZfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FS TV9tdmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGQycV91MzIgKF9fQVJNX212ZV9j b2VyY2UocDAsIHVpbnQzMl90IGNvbnN0ICopKSkpCisKIAogI2RlZmluZSB2bGQ0cShwMCkg X19hcm1fdmxkNHEocDApCi0jZGVmaW5lIF9fYXJtX3ZsZDRxKHAwKSAoeyBfX3R5cGVvZihw MCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBl aWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfY29uc3Rf cHRyXTogX19hcm1fdmxkNHFfczggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50OF90IGNv bnN0ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfY29uc3RfcHRy XTogX19hcm1fdmxkNHFfczE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDE2X3QgY29u c3QgKikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50MzJfdF9jb25zdF9wdHJd OiBfX2FybV92bGQ0cV9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50MzJfdCBjb25z dCAqKSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X2NvbnN0X3B0cl06 IF9fYXJtX3ZsZDRxX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgY29uc3Qg KikpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDE2X3RfY29uc3RfcHRyXTog X19hcm1fdmxkNHFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQxNl90IGNvbnN0 ICopKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQzMl90X2NvbnN0X3B0cl06 IF9fYXJtX3ZsZDRxX3UzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJfdCBjb25z dCAqKSkpO30pCisjZGVmaW5lIF9fYXJtX3ZsZDRxKHAwKSAoIF9HZW5lcmljKCAoaW50ICgq KVtfX0FSTV9tdmVfdHlwZWlkKHAwKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBl X2ludDhfdF9wdHJdOiBfX2FybV92bGQ0cV9zOCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50 OF90IGNvbnN0ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDE2X3RfcHRy XTogX19hcm1fdmxkNHFfczE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQxNl90IGNvbnN0 ICopKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDMyX3RfcHRyXTogX19hcm1f dmxkNHFfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQzMl90IGNvbnN0ICopKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXTogX19hcm1fdmxkNHFfdTgg KF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgY29uc3QgKikpLCBcCisgIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDE2X3RfcHRyXTogX19hcm1fdmxkNHFfdTE2IChfX0FSTV9t dmVfY29lcmNlKHAwLCB1aW50MTZfdCBjb25zdCAqKSksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV91aW50MzJfdF9wdHJdOiBfX2FybV92bGQ0cV91MzIgKF9fQVJNX212ZV9jb2Vy Y2UocDAsIHVpbnQzMl90IGNvbnN0ICopKSkpCiAKICNkZWZpbmUgdmdldHFfbGFuZShwMCxw MSkgX19hcm1fdmdldHFfbGFuZShwMCxwMSkKICNkZWZpbmUgX19hcm1fdmdldHFfbGFuZShw MCxwMSkgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCkBAIC0yNTgyNCwyOCArMjU3 NTYsMjQgQEAgZXh0ZXJuIHZvaWQgKl9fQVJNX3VuZGVmOwogICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQ2NHgyX3RdOiBfX2FybV92c3RyZHFfc2NhdHRlcl9iYXNlX3diX3U2NCAo cDAsIHAxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQ2NHgyX3QpKSk7fSkKIAogI2Rl ZmluZSB2bGRyZHFfZ2F0aGVyX29mZnNldChwMCxwMSkgX19hcm1fdmxkcmRxX2dhdGhlcl9v ZmZzZXQocDAscDEpCi0jZGVmaW5lIF9fYXJtX3ZsZHJkcV9nYXRoZXJfb2Zmc2V0KHAwLHAx KSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCop W19fQVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV9pbnQ2NF90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZHJkcV9nYXRoZXJfb2Zmc2V0X3M2NCAo X19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ2NF90IGNvbnN0ICopLCBwMSksIFwKLSAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50NjRfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyZHFf Z2F0aGVyX29mZnNldF91NjQgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDY0X3QgY29u c3QgKiksIHAxKSk7fSkKKyNkZWZpbmUgX19hcm1fdmxkcmRxX2dhdGhlcl9vZmZzZXQocDAs cDEpICggX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXSkwLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50NjRfdF9wdHJdOiBfX2FybV92bGRyZHFfZ2F0 aGVyX29mZnNldF9zNjQgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDY0X3QgY29uc3QgKiks IHAxKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90X3B0cl06IF9fYXJt X3ZsZHJkcV9nYXRoZXJfb2Zmc2V0X3U2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDY0 X3QgY29uc3QgKiksIHAxKSkpCiAKICNkZWZpbmUgdmxkcmRxX2dhdGhlcl9vZmZzZXRfeihw MCxwMSxwMikgX19hcm1fdmxkcmRxX2dhdGhlcl9vZmZzZXRfeihwMCxwMSxwMikKLSNkZWZp bmUgX19hcm1fdmxkcmRxX2dhdGhlcl9vZmZzZXRfeihwMCxwMSxwMikgKHsgX190eXBlb2Yo cDApIF9fcDAgPSAocDApOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlw ZWlkKF9fcDApXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50NjRfdF9jb25z dF9wdHJdOiBfX2FybV92bGRyZHFfZ2F0aGVyX29mZnNldF96X3M2NCAoX19BUk1fbXZlX2Nv ZXJjZShfX3AwLCBpbnQ2NF90IGNvbnN0ICopLCBwMSwgcDIpLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfdWludDY0X3RfY29uc3RfcHRyXTogX19hcm1fdmxkcmRxX2dhdGhlcl9v ZmZzZXRfel91NjQgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDY0X3QgY29uc3QgKiks IHAxLCBwMikpO30pCisjZGVmaW5lIF9fYXJtX3ZsZHJkcV9nYXRoZXJfb2Zmc2V0X3oocDAs cDEscDIpICggX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXSkwLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50NjRfdF9wdHJdOiBfX2FybV92bGRyZHFf Z2F0aGVyX29mZnNldF96X3M2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50NjRfdCBjb25z dCAqKSwgcDEsIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90X3B0 cl06IF9fYXJtX3ZsZHJkcV9nYXRoZXJfb2Zmc2V0X3pfdTY0IChfX0FSTV9tdmVfY29lcmNl KHAwLCB1aW50NjRfdCBjb25zdCAqKSwgcDEsIHAyKSkpCiAKICNkZWZpbmUgdmxkcmRxX2dh dGhlcl9zaGlmdGVkX29mZnNldChwMCxwMSkgX19hcm1fdmxkcmRxX2dhdGhlcl9zaGlmdGVk X29mZnNldChwMCxwMSkKLSNkZWZpbmUgX19hcm1fdmxkcmRxX2dhdGhlcl9zaGlmdGVkX29m ZnNldChwMCxwMSkgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9HZW5lcmlj KCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXSkwLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50NjRfdF9jb25zdF9wdHJdOiBfX2FybV92bGRyZHFfZ2F0aGVyX3No aWZ0ZWRfb2Zmc2V0X3M2NCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ2NF90IGNvbnN0 ICopLCBwMSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50NjRfdF9jb25zdF9w dHJdOiBfX2FybV92bGRyZHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0X3U2NCAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCB1aW50NjRfdCBjb25zdCAqKSwgcDEpKTt9KQotCisjZGVmaW5lIF9f YXJtX3ZsZHJkcV9nYXRoZXJfc2hpZnRlZF9vZmZzZXQocDAscDEpICggX0dlbmVyaWMoIChp bnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50NjRfdF9wdHJdOiBfX2FybV92bGRyZHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0 X3M2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50NjRfdCBjb25zdCAqKSwgcDEpLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDY0X3RfcHRyXTogX19hcm1fdmxkcmRxX2dh dGhlcl9zaGlmdGVkX29mZnNldF91NjQgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ2NF90 IGNvbnN0ICopLCBwMSkpKQogI2RlZmluZSB2bGRyZHFfZ2F0aGVyX3NoaWZ0ZWRfb2Zmc2V0 X3oocDAscDEscDIpIF9fYXJtX3ZsZHJkcV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfeihwMCxw MSxwMikKLSNkZWZpbmUgX19hcm1fdmxkcmRxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96KHAw LHAxLHAyKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX0dlbmVyaWMoIChp bnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV9pbnQ2NF90X2NvbnN0X3B0cl06IF9fYXJtX3ZsZHJkcV9nYXRoZXJfc2hpZnRl ZF9vZmZzZXRfel9zNjQgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50NjRfdCBjb25zdCAq KSwgcDEsIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90X2NvbnN0 X3B0cl06IF9fYXJtX3ZsZHJkcV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfel91NjQgKF9fQVJN X212ZV9jb2VyY2UoX19wMCwgdWludDY0X3QgY29uc3QgKiksIHAxLCBwMikpO30pCisKKyNk ZWZpbmUgX19hcm1fdmxkcmRxX2dhdGhlcl9zaGlmdGVkX29mZnNldF96KHAwLHAxLHAyKSAo IF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV0pMCwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDY0X3RfcHRyXTogX19hcm1fdmxkcmRxX2dhdGhlcl9z aGlmdGVkX29mZnNldF96X3M2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50NjRfdCBjb25z dCAqKSwgcDEsIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90X3B0 cl06IF9fYXJtX3ZsZHJkcV9nYXRoZXJfc2hpZnRlZF9vZmZzZXRfel91NjQgKF9fQVJNX212 ZV9jb2VyY2UocDAsIHVpbnQ2NF90IGNvbnN0ICopLCBwMSwgcDIpKSkKIAogI2RlZmluZSB2 YWRjaXFfbShwMCxwMSxwMixwMyxwNCkgX19hcm1fdmFkY2lxX20ocDAscDEscDIscDMscDQp CiAjZGVmaW5lIF9fYXJtX3ZhZGNpcV9tKHAwLHAxLHAyLHAzLHA0KSAoeyBfX3R5cGVvZihw MCkgX19wMCA9IChwMCk7IFwKQEAgLTI1OTA4LDE1ICsyNTgzNiwxNCBAQCBleHRlcm4gdm9p ZCAqX19BUk1fdW5kZWY7CiAgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1b X19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzYmNxX3UzMiAoX19BUk1fbXZl X2NvZXJjZShfX3AwLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MzJ4NF90KSwgcDIpKTt9KQogCiAjZGVmaW5lIHZsZHJicV9nYXRoZXJfb2Zmc2V0X3oocDAs cDEscDIpIF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3oocDAscDEscDIpCi0jZGVmaW5l IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3oocDAscDEscDIpICh7IF9fdHlwZW9mKHAw KSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dl bmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBl aWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfY29uc3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9v ZmZzZXRfel9zOCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgY29uc3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDh4MTZfdCksIHAyKSwgXAotICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDhfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4 X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF96X3MxNiAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCBpbnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2 eDhfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9jb25zdF9w dHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29m ZnNldF96X3MzMiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgY29uc3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIHAyKSwgXAotICBpbnQgKCopW19f QVJNX212ZV90eXBlX3VpbnQ4X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgx Nl90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfel91OCAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCB1aW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4 eDE2X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X2NvbnN0 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJf b2Zmc2V0X3pfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgY29uc3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAotICBpbnQgKCop W19fQVJNX212ZV90eXBlX3VpbnQ4X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50 MzJ4NF90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfel91MzIgKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgdWludDhfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1 aW50MzJ4NF90KSwgcDIpKTt9KQorI2RlZmluZSBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNl dF96KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyAgX0dlbmVy aWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9f cDEpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1f bXZlX3R5cGVfdWludDh4MTZfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3pfczgg KF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50OHgxNl90KSwgcDIpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVf aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJicV9n YXRoZXJfb2Zmc2V0X3pfczE2IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4X3QgY29uc3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0 X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF96X3MzMiAoX19BUk1fbXZlX2NvZXJj ZShwMCwgaW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0 X3QpLCBwMiksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDh4MTZfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3pf dTggKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgdWludDh4MTZfdCksIHAyKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdmxk cmJxX2dhdGhlcl9vZmZzZXRfel91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3Qg Y29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91 aW50MzJ4NF90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfel91MzIgKF9fQVJNX212 ZV9jb2VyY2UocDAsIHVpbnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDMyeDRfdCksIHAyKSk7fSkKIAogI2RlZmluZSB2cXJkbWxhaHFfbShwMCxwMSxwMixw MykgX19hcm1fdnFyZG1sYWhxX20ocDAscDEscDIscDMpCiAjZGVmaW5lIF9fYXJtX3ZxcmRt bGFocV9tKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKQEAg LTI2NjQ0LDE1ICsyNjU3MSwxNCBAQCBleHRlcm4gdm9pZCAqX19BUk1fdW5kZWY7CiAgIGlu dCAoKilbX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2 eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3ZtdWxsYnFfcG9seV9t X3AxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4 OF90KSwgcDMpKTt9KQogCiAjZGVmaW5lIHZsZHJicV9nYXRoZXJfb2Zmc2V0KHAwLHAxKSBf X2FybV92bGRyYnFfZ2F0aGVyX29mZnNldChwMCxwMSkKLSNkZWZpbmUgX19hcm1fdmxkcmJx X2dhdGhlcl9vZmZzZXQocDAscDEpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAot ICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19f QVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldKTAsIFwKLSAg aW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50OHgxNl90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfczggKF9fQVJNX212 ZV9jb2VyY2UoX19wMCwgaW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IHVpbnQ4eDE2X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9jb25z dF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVy X29mZnNldF9zMTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50OF90IGNvbnN0ICopLCBf X0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX2ludDhfdF9jb25zdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3Rd OiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UoX19w MCwgaW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3Qp KSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfY29uc3RfcHRyXVtfX0FS TV9tdmVfdHlwZV91aW50OHgxNl90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfdTgg KF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCBjb25zdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50OHgxNl90KSksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91 aW50OF90X2NvbnN0X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3Zs ZHJicV9nYXRoZXJfb2Zmc2V0X3UxNiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50OF90 IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQxNng4X3QpKSwgXAotICBp bnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfY29uc3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XTogX19hcm1fdmxkcmJxX2dhdGhlcl9vZmZzZXRfdTMyIChfX0FSTV9t dmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgY29uc3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDMyeDRfdCkpKTt9KQorI2RlZmluZSBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNl dChwMCxwMSkgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisgIF9HZW5lcmljKCAo aW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AxKV0p MCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90 eXBlX3VpbnQ4eDE2X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF9zOCAoX19BUk1f bXZlX2NvZXJjZShwMCwgaW50OF90IGNvbnN0ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEs IHVpbnQ4eDE2X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJd W19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNl dF9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCBjb25zdCAqKSwgX19BUk1fbXZl X2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19hcm1fdmxkcmJx X2dhdGhlcl9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ4X3QgY29uc3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpLCBcCisgIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQ4eDE2X3Rd OiBfX2FybV92bGRyYnFfZ2F0aGVyX29mZnNldF91OCAoX19BUk1fbXZlX2NvZXJjZShwMCwg dWludDhfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNl90KSks IFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5 cGVfdWludDE2eDhfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zmc2V0X3UxNiAoX19BUk1f bXZlX2NvZXJjZShwMCwgdWludDhfdCBjb25zdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3Ax LCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZsZHJicV9nYXRoZXJfb2Zm c2V0X3UzMiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhfdCBjb25zdCAqKSwgX19BUk1f bXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSkpO30pCiAKICNkZWZpbmUgdmlkdXBxX20o cDAscDEscDIscDMpIF9fYXJtX3ZpZHVwcV9tKHAwLHAxLHAyLHAzKQogI2RlZmluZSBfX2Fy bV92aWR1cHFfbShwMCxwMSxwMixwMykgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBc CkBAIC0yNzM0MSw1MCArMjcyNjcsNDcgQEAgZXh0ZXJuIHZvaWQgKl9fQVJNX3VuZGVmOwog I2RlZmluZSBfX2FybV92cm1sc2xkYXZoeHFfcChwMCxwMSxwMikgX19hcm1fdnJtbHNsZGF2 aHhxX3BfczMyKHAwLHAxLHAyKQogCiAjZGVmaW5lIHZzdHJicShwMCxwMSkgX19hcm1fdnN0 cmJxKHAwLHAxKQotI2RlZmluZSBfX2FybV92c3RyYnEocDAscDEpICh7IF9fdHlwZW9mKHAw KSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKLSAgX0dl bmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBl aWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV9pbnQ4eDE2X3RdOiBfX2FybV92c3RyYnFfczggKF9fQVJNX212ZV9j b2VyY2UoX19wMCwgaW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIGludDh4MTZf dCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZl X3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmJxX3MxNiAoX19BUk1fbXZlX2NvZXJjZShf X3AwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4OF90KSksIFwK LSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9p bnQzMng0X3RdOiBfX2FybV92c3RyYnFfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGlu dDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpKSwgXAotICBpbnQg KCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgx Nl90XTogX19hcm1fdnN0cmJxX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3Qg KiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDh4MTZfdCkpLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3Rd OiBfX2FybV92c3RyYnFfdTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgKiks IF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCkpLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBf X2FybV92c3RyYnFfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgKiksIF9f QVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCkpKTt9KQorI2RlZmluZSBfX2FybV92 c3RyYnEocDAscDEpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorICBfR2VuZXJp YyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19w MSldKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9t dmVfdHlwZV9pbnQ4eDE2X3RdOiBfX2FybV92c3RyYnFfczggKF9fQVJNX212ZV9jb2VyY2Uo cDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQ4eDE2X3QpKSwgXAor ICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX2lu dDE2eDhfdF06IF9fYXJtX3ZzdHJicV9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhf dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCBpbnQxNng4X3QpKSwgXAorICBpbnQgKCop W19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06 IF9fYXJtX3ZzdHJicV9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19B Uk1fbXZlX2NvZXJjZShfX3AxLCBpbnQzMng0X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19hcm1f dnN0cmJxX3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90ICopLCBfX0FSTV9tdmVf Y29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBl X3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmJx X3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50 OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJicV91MzIg KF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19w MSwgdWludDMyeDRfdCkpKTt9KQogCiAjZGVmaW5lIHZzdHJicV9wKHAwLHAxLHAyKSBfX2Fy bV92c3RyYnFfcChwMCxwMSxwMikKLSNkZWZpbmUgX19hcm1fdnN0cmJxX3AocDAscDEscDIp ICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9 IChwMSk7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCopW19fQVJNX212ZV90eXBlaWQoX19wMCld W19fQVJNX212ZV90eXBlaWQoX19wMSldKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlw ZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2X3RdOiBfX2FybV92c3RyYnFf cF9zOCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgaW50OHgxNl90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVf aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmJxX3Bf czE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCBpbnQxNng4X3QpLCBwMiksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9p bnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyYnFfcF9z MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNl KF9fcDEsIGludDMyeDRfdCksIHAyKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19hcm1fdnN0cmJxX3Bf dTggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJj ZShfX3AxLCB1aW50OHgxNl90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVf dWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3RyYnFf cF91MTYgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgcDIpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3Ry YnFfcF91MzIgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDhfdCAqKSwgX19BUk1fbXZl X2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgcDIpKTt9KQorI2RlZmluZSBfX2FybV92c3Ry YnFfcChwMCxwMSxwMikgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisgIF9HZW5l cmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5cGVpZChf X3AxKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJN X212ZV90eXBlX2ludDh4MTZfdF06IF9fYXJtX3ZzdHJicV9wX3M4IChfX0FSTV9tdmVfY29l cmNlKHAwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50OHgxNl90KSwg cDIpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZl X3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmJxX3BfczE2IChfX0FSTV9tdmVfY29lcmNl KHAwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MTZ4OF90KSwgcDIp LCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5 cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cmJxX3BfczMyIChfX0FSTV9tdmVfY29lcmNlKHAw LCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgaW50MzJ4NF90KSwgcDIpLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQ4eDE2X3RdOiBfX2FybV92c3RyYnFfcF91OCAoX19BUk1fbXZlX2NvZXJjZShwMCwg dWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNl90KSwgcDIpLCBc CisgIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBl X3VpbnQxNng4X3RdOiBfX2FybV92c3RyYnFfcF91MTYgKF9fQVJNX212ZV9jb2VyY2UocDAs IHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCksIHAyKSwg XAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XTogX19hcm1fdnN0cmJxX3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKHAw LCB1aW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQzMng0X3QpLCBwMikp O30pCiAKICNkZWZpbmUgdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKSBfX2FybV92 c3RyYnFfc2NhdHRlcl9vZmZzZXQocDAscDEscDIpCi0jZGVmaW5lIF9fYXJtX3ZzdHJicV9z Y2F0dGVyX29mZnNldChwMCxwMSxwMikgKHsgX190eXBlb2YocDApIF9fcDAgPSAocDApOyBc Ci0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsgXAorI2RlZmluZSBfX2FybV92c3RyYnFf c2NhdHRlcl9vZmZzZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAogICBfX3R5cGVvZihwMikgX19wMiA9IChwMik7IFwKLSAgX0dlbmVyaWMoIChpbnQgKCop W19fQVJNX212ZV90eXBlaWQoX19wMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldW19fQVJN X212ZV90eXBlaWQoX19wMildKTAsIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4 X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XVtfX0FSTV9tdmVfdHlwZV9pbnQ4 eDE2X3RdOiBfX2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRfczggKF9fQVJNX212ZV9jb2Vy Y2UoX19wMCwgaW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3Qp LCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDh4MTZfdCkpLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF1bX19B Uk1fbXZlX3R5cGVfaW50MTZ4OF90XTogX19hcm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3Mx NiAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2Uo X19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MTZ4OF90KSks IFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlw ZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBfX2FybV92c3RyYnFf c2NhdHRlcl9vZmZzZXRfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDhfdCAqKSwg X19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQzMng0X3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3Rf cHRyXVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XVtfX0FSTV9tdmVfdHlwZV91aW50OHgx Nl90XTogX19hcm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3U4IChfX0FSTV9tdmVfY29lcmNl KF9fcDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDh4MTZfdCks IF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDh4MTZfdCkpLCBcCi0gIGludCAoKilbX19B Uk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19f QVJNX212ZV90eXBlX3VpbnQxNng4X3RdOiBfX2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRf dTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhf dCkpLCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDhfdF9wdHJdW19fQVJNX212 ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdOiBfX2FybV92 c3RyYnFfc2NhdHRlcl9vZmZzZXRfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4 X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9j b2VyY2UoX19wMiwgdWludDMyeDRfdCkpKTt9KQorICBfR2VuZXJpYyggKGludCAoKilbX19B Uk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMSldW19fQVJNX212ZV90 eXBlaWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XVtfX0FSTV9tdmVfdHlwZV9pbnQ4eDE2X3Rd OiBfX2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRfczggKF9fQVJNX212ZV9jb2VyY2UocDAs IGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgxNl90KSwgX19BUk1f bXZlX2NvZXJjZShfX3AyLCBpbnQ4eDE2X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90 eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90 eXBlX2ludDE2eDhfdF06IF9fYXJtX3ZzdHJicV9zY2F0dGVyX29mZnNldF9zMTYgKF9fQVJN X212ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50 MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQxNng4X3QpKSwgXAorICBpbnQg KCopW19fQVJNX212ZV90eXBlX2ludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0 X3RdW19fQVJNX212ZV90eXBlX2ludDMyeDRfdF06IF9fYXJtX3ZzdHJicV9zY2F0dGVyX29m ZnNldF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0 X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9t dmVfdHlwZV91aW50OHgxNl90XVtfX0FSTV9tdmVfdHlwZV91aW50OHgxNl90XTogX19hcm1f dnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3U4IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90 ICopLCBfX0FSTV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpLCBfX0FSTV9tdmVfY29l cmNlKF9fcDIsIHVpbnQ4eDE2X3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3Vp bnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FSTV9tdmVfdHlwZV91 aW50MTZ4OF90XTogX19hcm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3UxNiAoX19BUk1fbXZl X2NvZXJjZShwMCwgdWludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4 OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50MTZ4OF90KSksIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRf dF1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF06IF9fYXJtX3ZzdHJicV9zY2F0dGVyX29m ZnNldF91MzIgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9j b2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMy eDRfdCkpKTt9KQorCiAKICNkZWZpbmUgdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3AocDAscDEs cDIscDMpIF9fYXJtX3ZzdHJicV9zY2F0dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKQotI2Rl ZmluZSBfX2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykgKHsgX190 eXBlb2YocDApIF9fcDAgPSAocDApOyBcCi0gIF9fdHlwZW9mKHAxKSBfX3AxID0gKHAxKTsg XAorI2RlZmluZSBfX2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykg KHtfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAo cDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtf X0FSTV9tdmVfdHlwZWlkKF9fcDEpXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0g IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWlu dDh4MTZfdF1bX19BUk1fbXZlX3R5cGVfaW50OHgxNl90XTogX19hcm1fdnN0cmJxX3NjYXR0 ZXJfb2Zmc2V0X3BfczggKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgaW50OF90ICopLCBfX0FS TV9tdmVfY29lcmNlKF9fcDEsIHVpbnQ4eDE2X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIs IGludDh4MTZfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDhfdF9w dHJdW19fQVJNX212ZV90eXBlX3VpbnQxNng4X3RdW19fQVJNX212ZV90eXBlX2ludDE2eDhf dF06IF9fYXJtX3ZzdHJicV9zY2F0dGVyX29mZnNldF9wX3MxNiAoX19BUk1fbXZlX2NvZXJj ZShfX3AwLCBpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDE2eDhfdCks IF9fQVJNX212ZV9jb2VyY2UoX19wMiwgaW50MTZ4OF90KSwgcDMpLCBcCi0gIGludCAoKilb X19BUk1fbXZlX3R5cGVfaW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDMyeDRfdF1b X19BUk1fbXZlX3R5cGVfaW50MzJ4NF90XTogX19hcm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0 X3BfczMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQzMng0 X3QpLCBwMyksIFwKLSAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19B Uk1fbXZlX3R5cGVfdWludDh4MTZfdF1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdF06IF9f YXJtX3ZzdHJicV9zY2F0dGVyX29mZnNldF9wX3U4IChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDh4MTZfdCksIF9fQVJN X212ZV9jb2VyY2UoX19wMiwgdWludDh4MTZfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJN X212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4OF90XVtfX0FS TV9tdmVfdHlwZV91aW50MTZ4OF90XTogX19hcm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3Bf dTE2IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2Vy Y2UoX19wMSwgdWludDE2eDhfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDE2eDhf dCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ4X3RfcHRyXVtfX0FS TV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XTogX19h cm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3BfdTMyIChfX0FSTV9tdmVfY29lcmNlKF9fcDAs IHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwgdWludDMyeDRfdCksIF9fQVJN X212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSk7fSkKKyAgX0dlbmVyaWMoIChp bnQgKCopW19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDEpXVtf X0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5cGVf aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdF1bX19BUk1fbXZlX3R5cGVf aW50OHgxNl90XTogX19hcm1fdnN0cmJxX3NjYXR0ZXJfb2Zmc2V0X3BfczggKF9fQVJNX212 ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50OHgx Nl90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQ4eDE2X3QpLCBwMyksIFwKKyAgaW50 ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV91aW50MTZ4 OF90XVtfX0FSTV9tdmVfdHlwZV9pbnQxNng4X3RdOiBfX2FybV92c3RyYnFfc2NhdHRlcl9v ZmZzZXRfcF9zMTYgKF9fQVJNX212ZV9jb2VyY2UocDAsIGludDhfdCAqKSwgX19BUk1fbXZl X2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQx Nng4X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ4X3RfcHRyXVtf X0FSTV9tdmVfdHlwZV91aW50MzJ4NF90XVtfX0FSTV9tdmVfdHlwZV9pbnQzMng0X3RdOiBf X2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRfcF9zMzIgKF9fQVJNX212ZV9jb2VyY2UocDAs IGludDhfdCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MzJ4NF90KSwgX19BUk1f bXZlX2NvZXJjZShfX3AyLCBpbnQzMng0X3QpLCBwMyksIFwKKyAgaW50ICgqKVtfX0FSTV9t dmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDh4MTZfdF1bX19BUk1f bXZlX3R5cGVfdWludDh4MTZfdF06IF9fYXJtX3ZzdHJicV9zY2F0dGVyX29mZnNldF9wX3U4 IChfX0FSTV9tdmVfY29lcmNlKHAwLCB1aW50OF90ICopLCBfX0FSTV9tdmVfY29lcmNlKF9f cDEsIHVpbnQ4eDE2X3QpLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQ4eDE2X3QpLCBw MyksIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV91aW50OF90X3B0cl1bX19BUk1fbXZl X3R5cGVfdWludDE2eDhfdF1bX19BUk1fbXZlX3R5cGVfdWludDE2eDhfdF06IF9fYXJtX3Zz dHJicV9zY2F0dGVyX29mZnNldF9wX3UxNiAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDhf dCAqKSwgX19BUk1fbXZlX2NvZXJjZShfX3AxLCB1aW50MTZ4OF90KSwgX19BUk1fbXZlX2Nv ZXJjZShfX3AyLCB1aW50MTZ4OF90KSwgcDMpLCBcCisgIGludCAoKilbX19BUk1fbXZlX3R5 cGVfdWludDhfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQzMng0X3RdW19fQVJNX212ZV90 eXBlX3VpbnQzMng0X3RdOiBfX2FybV92c3RyYnFfc2NhdHRlcl9vZmZzZXRfcF91MzIgKF9f QVJNX212ZV9jb2VyY2UocDAsIHVpbnQ4X3QgKiksIF9fQVJNX212ZV9jb2VyY2UoX19wMSwg dWludDMyeDRfdCksIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDMyeDRfdCksIHAzKSk7 fSkKIAogI2RlZmluZSB2c3RyZHFfc2NhdHRlcl9iYXNlKHAwLHAxLHAyKSBfX2FybV92c3Ry ZHFfc2NhdHRlcl9iYXNlKHAwLHAxLHAyKQogI2RlZmluZSBfX2FybV92c3RyZHFfc2NhdHRl cl9iYXNlKHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMikgX19wMiA9IChwMik7IFwKQEAgLTI3 Mzk5LDM2ICsyNzMyMiwzMiBAQCBleHRlcm4gdm9pZCAqX19BUk1fdW5kZWY7CiAgIGludCAo KilbX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVyX2Jh c2VfcF91NjQgKHAwLCBwMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50NjR4Ml90KSwg cDMpKTt9KQogCiAjZGVmaW5lIHZzdHJkcV9zY2F0dGVyX29mZnNldChwMCxwMSxwMikgX19h cm1fdnN0cmRxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKQotI2RlZmluZSBfX2FybV92c3Ry ZHFfc2NhdHRlcl9vZmZzZXQocDAscDEscDIpICh7IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAw KTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0 cmRxX3NjYXR0ZXJfb2Zmc2V0KHAwLHAxLHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChw MSk7IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50 ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkw LCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50NjRfdF9wdHJdW19fQVJNX212ZV90 eXBlX2ludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVyX29mZnNldF9zNjQgKF9fQVJN X212ZV9jb2VyY2UoX19wMCwgaW50NjRfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQ2NHgyX3QpKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVy X29mZnNldF91NjQgKF9fQVJNX212ZV9jb2VyY2UoX19wMCwgdWludDY0X3QgKiksIF9fcDEs IF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDY0eDJfdCkpKTt9KQorICBfR2VuZXJpYygg KGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBlaWQoX19wMild KTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ2NF90X3B0cl1bX19BUk1fbXZl X3R5cGVfaW50NjR4Ml90XTogX19hcm1fdnN0cmRxX3NjYXR0ZXJfb2Zmc2V0X3M2NCAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50NjRfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQ2NHgyX3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVy X29mZnNldF91NjQgKF9fQVJNX212ZV9jb2VyY2UocDAsIHVpbnQ2NF90ICopLCBfX3AxLCBf X0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQ2NHgyX3QpKSk7fSkKIAogI2RlZmluZSB2c3Ry ZHFfc2NhdHRlcl9vZmZzZXRfcChwMCxwMSxwMixwMykgX19hcm1fdnN0cmRxX3NjYXR0ZXJf b2Zmc2V0X3AocDAscDEscDIscDMpCi0jZGVmaW5lIF9fYXJtX3ZzdHJkcV9zY2F0dGVyX29m ZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAg X190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCisjZGVmaW5lIF9fYXJtX3ZzdHJkcV9zY2F0 dGVyX29mZnNldF9wKHAwLHAxLHAyLHAzKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7 IFwKICAgX190eXBlb2YocDIpIF9fcDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgq KVtfX0FSTV9tdmVfdHlwZWlkKF9fcDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBc Ci0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50NjRfdF9wdHJdW19fQVJNX212ZV90eXBl X2ludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVyX29mZnNldF9wX3M2NCAoX19BUk1f bXZlX2NvZXJjZShfX3AwLCBpbnQ2NF90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9f cDIsIGludDY0eDJfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2 NF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0 dGVyX29mZnNldF9wX3U2NCAoX19BUk1fbXZlX2NvZXJjZShfX3AwLCB1aW50NjRfdCAqKSwg X19wMSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCB1aW50NjR4Ml90KSwgcDMpKTt9KQorICBf R2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5cGVpZChwMCldW19fQVJNX212ZV90eXBl aWQoX19wMildKTAsIFwKKyAgaW50ICgqKVtfX0FSTV9tdmVfdHlwZV9pbnQ2NF90X3B0cl1b X19BUk1fbXZlX3R5cGVfaW50NjR4Ml90XTogX19hcm1fdnN0cmRxX3NjYXR0ZXJfb2Zmc2V0 X3BfczY0IChfX0FSTV9tdmVfY29lcmNlKHAwLCBpbnQ2NF90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIGludDY0eDJfdCksIHAzKSwgXAorICBpbnQgKCopW19fQVJNX212 ZV90eXBlX3VpbnQ2NF90X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJt X3ZzdHJkcV9zY2F0dGVyX29mZnNldF9wX3U2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWlu dDY0X3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDY0eDJfdCksIHAz KSk7fSkKIAogI2RlZmluZSB2c3RyZHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldChwMCxwMSxw MikgX19hcm1fdnN0cmRxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXQocDAscDEscDIpCi0jZGVm aW5lIF9fYXJtX3ZzdHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAxLHAyKSAoeyBf X3R5cGVvZihwMCkgX19wMCA9IChwMCk7IFwKLSAgX190eXBlb2YocDEpIF9fcDEgPSAocDEp OyBcCisjZGVmaW5lIF9fYXJtX3ZzdHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0KHAwLHAx LHAyKSAoeyBfX3R5cGVvZihwMSkgX19wMSA9IChwMSk7IFwKICAgX190eXBlb2YocDIpIF9f cDIgPSAocDIpOyBcCi0gIF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKF9f cDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCi0gIGludCAoKilbX19BUk1fbXZl X3R5cGVfaW50NjRfdF9wdHJdW19fQVJNX212ZV90eXBlX2ludDY0eDJfdF06IF9fYXJtX3Zz dHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3M2NCAoX19BUk1fbXZlX2NvZXJjZShfX3Aw LCBpbnQ2NF90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGludDY0eDJfdCkp LCBcCi0gIGludCAoKilbX19BUk1fbXZlX3R5cGVfdWludDY0X3RfcHRyXVtfX0FSTV9tdmVf dHlwZV91aW50NjR4Ml90XTogX19hcm1fdnN0cmRxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRf dTY0IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ2NF90ICopLCBfX3AxLCBfX0FSTV9t dmVfY29lcmNlKF9fcDIsIHVpbnQ2NHgyX3QpKSk7fSkKKyAgX0dlbmVyaWMoIChpbnQgKCop W19fQVJNX212ZV90eXBlaWQocDApXVtfX0FSTV9tdmVfdHlwZWlkKF9fcDIpXSkwLCBcCisg IGludCAoKilbX19BUk1fbXZlX3R5cGVfaW50NjRfdF9wdHJdW19fQVJNX212ZV90eXBlX2lu dDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3M2NCAoX19B Uk1fbXZlX2NvZXJjZShwMCwgaW50NjRfdCAqKSwgX19wMSwgX19BUk1fbXZlX2NvZXJjZShf X3AyLCBpbnQ2NHgyX3QpKSwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90 X3B0cl1bX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVy X3NoaWZ0ZWRfb2Zmc2V0X3U2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgdWludDY0X3QgKiks IF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19wMiwgdWludDY0eDJfdCkpKTt9KQogCiAjZGVm aW5lIHZzdHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpIF9fYXJt X3ZzdHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpCi0jZGVmaW5l IF9fYXJtX3ZzdHJkcV9zY2F0dGVyX3NoaWZ0ZWRfb2Zmc2V0X3AocDAscDEscDIscDMpICh7 IF9fdHlwZW9mKHAwKSBfX3AwID0gKHAwKTsgXAotICBfX3R5cGVvZihwMSkgX19wMSA9IChw MSk7IFwKKyNkZWZpbmUgX19hcm1fdnN0cmRxX3NjYXR0ZXJfc2hpZnRlZF9vZmZzZXRfcChw MCxwMSxwMixwMykgKHsgX190eXBlb2YocDEpIF9fcDEgPSAocDEpOyBcCiAgIF9fdHlwZW9m KHAyKSBfX3AyID0gKHAyKTsgXAotICBfR2VuZXJpYyggKGludCAoKilbX19BUk1fbXZlX3R5 cGVpZChfX3AwKV1bX19BUk1fbXZlX3R5cGVpZChfX3AyKV0pMCwgXAotICBpbnQgKCopW19f QVJNX212ZV90eXBlX2ludDY0X3RfcHRyXVtfX0FSTV9tdmVfdHlwZV9pbnQ2NHgyX3RdOiBf X2FybV92c3RyZHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3M2NCAoX19BUk1fbXZlX2Nv ZXJjZShfX3AwLCBpbnQ2NF90ICopLCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIGlu dDY0eDJfdCksIHAzKSwgXAotICBpbnQgKCopW19fQVJNX212ZV90eXBlX3VpbnQ2NF90X3B0 cl1bX19BUk1fbXZlX3R5cGVfdWludDY0eDJfdF06IF9fYXJtX3ZzdHJkcV9zY2F0dGVyX3No aWZ0ZWRfb2Zmc2V0X3BfdTY0IChfX0FSTV9tdmVfY29lcmNlKF9fcDAsIHVpbnQ2NF90ICop LCBfX3AxLCBfX0FSTV9tdmVfY29lcmNlKF9fcDIsIHVpbnQ2NHgyX3QpLCBwMykpO30pCisg IF9HZW5lcmljKCAoaW50ICgqKVtfX0FSTV9tdmVfdHlwZWlkKHAwKV1bX19BUk1fbXZlX3R5 cGVpZChfX3AyKV0pMCwgXAorICBpbnQgKCopW19fQVJNX212ZV90eXBlX2ludDY0X3RfcHRy XVtfX0FSTV9tdmVfdHlwZV9pbnQ2NHgyX3RdOiBfX2FybV92c3RyZHFfc2NhdHRlcl9zaGlm dGVkX29mZnNldF9wX3M2NCAoX19BUk1fbXZlX2NvZXJjZShwMCwgaW50NjRfdCAqKSwgX19w MSwgX19BUk1fbXZlX2NvZXJjZShfX3AyLCBpbnQ2NHgyX3QpLCBwMyksIFwKKyAgaW50ICgq KVtfX0FSTV9tdmVfdHlwZV91aW50NjRfdF9wdHJdW19fQVJNX212ZV90eXBlX3VpbnQ2NHgy X3RdOiBfX2FybV92c3RyZHFfc2NhdHRlcl9zaGlmdGVkX29mZnNldF9wX3U2NCAoX19BUk1f bXZlX2NvZXJjZShwMCwgdWludDY0X3QgKiksIF9fcDEsIF9fQVJNX212ZV9jb2VyY2UoX19w MiwgdWludDY0eDJfdCksIHAzKSk7fSkKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9Cg== --------------81F4649AD3AA36FD157C3E6C--