From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F1969488EF; Thu, 9 Oct 2025 10:43:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 868C040297; Thu, 9 Oct 2025 10:43:46 +0200 (CEST) Received: from cstnet.cn (smtp87.cstnet.cn [159.226.251.87]) by mails.dpdk.org (Postfix) with ESMTP id 1349840277 for ; Thu, 9 Oct 2025 10:43:43 +0200 (CEST) Received: from sunyuechi$iscas.ac.cn ( [42.58.228.253] ) by ajax-webmail-APP-17 (Coremail) ; Thu, 9 Oct 2025 16:43:40 +0800 (GMT+08:00) X-Originating-IP: [42.58.228.253] Date: Thu, 9 Oct 2025 16:43:40 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: sunyuechi@iscas.ac.cn To: "Stephen Hemminger" Cc: dev , =?UTF-8?Q?Stanis=C5=82aw_Kardach?= , "Bruce Richardson" Subject: Re: Re: [PATCH] eal/riscv: optimize memcpy for small copies under 64 bytes X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2024.1-cmXT5 build 20240627(e6c6db66) Copyright (c) 2002-2025 www.mailtech.cn cnic.cn In-Reply-To: References: <20251009063030.2776794-1-sunyuechi@iscas.ac.cn> Content-Type: multipart/alternative; boundary="----=_Part_321944_1118686577.1759999420111" MIME-Version: 1.0 Message-ID: <2c44f9fa.16e44.199c823e6d0.Coremail.sunyuechi@iscas.ac.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: qgCowABX9LO8dedoQWcDAA--.28851W X-CM-SenderInfo: 5vxq53phfkxq5lvft2wodfhubq/1tbiDAYKAmjnNu1r9AACsL X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWkKw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org ------=_Part_321944_1118686577.1759999420111 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Rm9yIFJJU0MtViwgZ2NjIDE0LjIsIGdsaWJjIDIuMzksIHdoZW4gPDY0IGJ5dGVzLCB0aGUgdGVz dCBkYXRhIGlzIGFzIGZvbGxvd3MuIApJdCBhcHBlYXJzIHRoZSBpbXBhY3QgaXMgcXVpdGUgc2ln bmlmaWNhbnQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gMTZCIGFsaWduZWQg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgIDEgIDAgLSAgMSgtODAuMDUl KSAgIDEgLSAgMSgtMTAuNzUlKSAgIDIgLSAxMSgtODUuODAlKSAgIDIgLSAxMSgtNzkuNzAlKSAK ICAgICAgMiAgMCAtICAxKC03NC43NyUpICAgMiAtICA4KC02OC4yOSUpICAgMyAtIDEyKC03NC42 NCUpICAgMyAtIDEyKC03NC4wMSUpIAogICAgICAzICAwIC0gIDEoLTc4Ljg2JSkgICAyIC0gIDgo LTY5LjQ2JSkgICAzIC0gMTIoLTc1LjM2JSkgICAzIC0gMTMoLTc2LjIyJSkgCiAgICAgIDQgIDAg LSAgMSgtODYuMDIlKSAgIDIgLSAgOCgtNzQuMjclKSAgIDIgLSAxMigtNzkuNjElKSAgIDMgLSAx MygtNzkuMTYlKSAKICAgICAgNSAgMCAtICAxKC04Ni4yOSUpICAgMiAtICA4KC03NC40NiUpICAg MiAtIDEyKC03OS4wMCUpICAgMyAtIDEzKC03OS43MyUpIAogICAgICA2ICAwIC0gIDEoLTg2LjIy JSkgICAyIC0gIDgoLTczLjgyJSkgICAyIC0gMTIoLTc5LjE4JSkgICAzIC0gMTMoLTc5LjIzJSkg CiAgICAgIDcgIDAgLSAgMSgtODkuNjglKSAgIDIgLSAgOCgtNzMuODElKSAgIDIgLSAxMigtNzku NTQlKSAgIDMgLSAxMygtNzguNTAlKSAKICAgICAgOCAgMCAtICAxKC05MC4wNSUpICAgMiAtICA4 KC03NS44OCUpICAgMyAtIDEyKC03NS45NiUpICAgMyAtIDEzKC03Ny45MyUpIAogICAgICA5ICAw IC0gIDEoLTg5Ljg1JSkgICAyIC0gIDgoLTc2LjE3JSkgICAzIC0gMTIoLTc2Ljc0JSkgICAzIC0g MTMoLTc3LjQ5JSkgCiAgICAgMTIgIDAgLSAgMSgtOTEuMzIlKSAgIDIgLSAgOCgtNzYuOTIlKSAg IDMgLSAxMigtNzUuOTglKSAgIDMgLSAxMygtNzcuNjklKSAKICAgICAxNSAgMCAtICAxKC05MS40 NiUpICAgMiAtICA4KC03Ny4yNyUpICAgMyAtIDEyKC03Ni4zNiUpICAgMyAtIDEzKC03OC40MSUp IAogICAgIDE2ICAwIC0gIDEoLTg5LjcwJSkgICAyIC0gIDgoLTc0LjgxJSkgICAzIC0gMTIoLTc1 LjM1JSkgICAzIC0gMTIoLTc3LjUyJSkgCiAgICAgMTcgIDAgLSAgMSgtODEuNTclKSAgIDMgLSAg OCgtNjAuOTIlKSAgIDQgLSAxMigtNjYuOTYlKSAgIDUgLSAxMygtNjQuMjAlKSAKICAgICAzMSAg MCAtICAxKC04Ny41OCUpICAgMyAtICA4KC02Mi42NiUpICAgNCAtIDEyKC02OC40OCUpICAgNSAt IDEzKC02NS4xMiUpIAogICAgIDMyICAwIC0gIDEoLTg0LjA2JSkgICAzIC0gIDgoLTY3LjQ4JSkg ICA0IC0gMTIoLTY4LjMzJSkgICA0IC0gMTMoLTY1LjQ4JSkgCiAgICAgMzMgIDAgLSAgMSgtNzQu NjQlKSAgIDQgLSAgOCgtNTAuNDUlKSAgIDYgLSAxMigtNTEuMTYlKSAgIDcgLSAxMygtNDUuOTQl KSAKICAgICA2MyAgMCAtICAxKC03OS4zMyUpICAgNSAtICA5KC00Ny43MCUpICAgNiAtIDEzKC00 OS40NyUpICAgOSAtIDEzKC0zMi40MCUpIAoKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0gVW5hbGlnbmVkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAg MSAgMCAtICAxKC04MC40OSUpICAgMSAtICAxKC0xNS4zMSUpICAgMiAtIDExKC04NS43NyUpICAg MiAtIDEyKC04MC42NSUpIAogICAgICAyICAwIC0gIDEoLTc4LjE4JSkgICAyIC0gIDgoLTcyLjQ5 JSkgICAzIC0gMTIoLTc1LjM0JSkgICAzIC0gMTIoLTc0LjY4JSkgCiAgICAgIDMgIDAgLSAgMSgt NzkuNDklKSAgIDIgLSAgOCgtNzMuNDAlKSAgIDMgLSAxMigtNzUuMDUlKSAgIDMgLSAxNCgtNzYu NzIlKSAKICAgICAgNCAgMCAtICAxKC04Ni4yNyUpICAgMiAtICA4KC03NC40OCUpICAgMiAtIDEy KC03OS41NiUpICAgMyAtIDEzKC03OS4xMyUpIAogICAgICA1ICAwIC0gIDEoLTg2LjU5JSkgICAy IC0gIDgoLTc0LjU0JSkgICAyIC0gMTIoLTc5LjA0JSkgICAzIC0gMTIoLTc3Ljk5JSkgCiAgICAg IDYgIDAgLSAgMSgtODcuMDYlKSAgIDIgLSAgOCgtNzQuMDElKSAgIDIgLSAxMigtNzkuMDklKSAg IDMgLSAxMigtNzguMDQlKSAKICAgICAgNyAgMCAtICAxKC05MC44NiUpICAgMiAtICA4KC03NC4w OSUpICAgMiAtIDEyKC03OS44NiUpICAgMyAtIDEyKC03OC4zMiUpIAogICAgICA4ICAwIC0gIDEo LTg5Ljc4JSkgICAyIC0gIDgoLTc3LjAxJSkgICAzIC0gMTIoLTc2LjUxJSkgICAzIC0gMTQoLTc5 LjI5JSkgCiAgICAgIDkgIDAgLSAgMSgtODkuMTklKSAgIDIgLSAgOCgtNzUuOTklKSAgIDMgLSAx MigtNzYuMjUlKSAgIDMgLSAxNCgtNzkuMjglKSAKICAgICAxMiAgMCAtICAxKC04OS4xMSUpICAg MiAtICA4KC03NC4yNSUpICAgMyAtIDEyKC03NC4xOSUpICAgMyAtIDE0KC03Ny42OCUpIAogICAg IDE1ICAwIC0gIDEoLTkwLjAyJSkgICAyIC0gIDgoLTc1LjM5JSkgICAzIC0gMTIoLTc0LjczJSkg ICAzIC0gMTUoLTc4LjY3JSkgCiAgICAgMTYgIDAgLSAgMSgtODAuOTYlKSAgIDIgLSAgOCgtNzQu NDklKSAgIDMgLSAxNCgtNzguMTclKSAgIDMgLSAxNCgtNzcuMTElKSAKICAgICAxNyAgMCAtICAx KC02Ni4yOSUpICAgMyAtIDEwKC02Ni44NSUpICAgNCAtIDE1KC03Mi40MiUpICAgNiAtIDE0KC02 MS4xOCUpIAogICAgIDMxICAwIC0gIDEoLTg2Ljg0JSkgICAzIC0gIDkoLTYzLjc1JSkgICA0IC0g MTMoLTY1Ljg4JSkgICA1IC0gMTUoLTY0LjY3JSkgCiAgICAgMzIgIDAgLSAgMSgtODcuMzclKSAg IDMgLSAgOCgtNjEuMzQlKSAgIDQgLSAxMigtNjUuMDklKSAgIDYgLSAxNSgtNjQuMDQlKSAKICAg ICAzMyAgMCAtICAyKC04NC4yMyUpICAgNSAtIDEwKC00Ni45OCUpICAgNiAtIDE0KC01Ny4yNCUp ICAgOCAtIDE2KC01My44OCUpIAogICAgIDYzICAwIC0gIDIoLTgxLjU5JSkgICA1IC0gMTEoLTUy LjEyJSkgICA3IC0gMTYoLTU0LjA2JSkgIDEwIC0gMjAoLTUwLjAxJSkgCgoKCgoKCi0tLS0t5Y6f 5aeL6YKu5Lu2LS0tLS0K5Y+R5Lu25Lq6OiJTdGVwaGVuIEhlbW1pbmdlciIgPHN0ZXBoZW5AbmV0 d29ya3BsdW1iZXIub3JnPgrlj5HpgIHml7bpl7Q6MjAyNS0xMC0wOSAxNjoxNzowMiAo5pif5pyf 5ZubKQrmlLbku7bkuro6ICJTdW4gWXVlY2hpIiA8c3VueXVlY2hpQGlzY2FzLmFjLmNuPgrmioTp gIE6IGRldiA8ZGV2QGRwZGsub3JnPiwgIlN0YW5pc8WCYXcgS2FyZGFjaCIgPHN0YW5pc2xhdy5r YXJkYWNoQGdtYWlsLmNvbT4sICJCcnVjZSBSaWNoYXJkc29uIiA8YnJ1Y2UucmljaGFyZHNvbkBp bnRlbC5jb20+CuS4u+mimDogUmU6IFtQQVRDSF0gZWFsL3Jpc2N2OiBvcHRpbWl6ZSBtZW1jcHkg Zm9yIHNtYWxsIGNvcGllcyB1bmRlciA2NCBieXRlcwoKCkhvdyBkb2VzIHRoaXMgY29tcGFyZSB0 byBnbGliYy9nY2MgbWVtY3B5PyBJIHdvdWxkIGxpa2UgdG8gc2VlIHJ0ZV9tZW1jcHkgZ28gYXdh eSAKCgpPbiBUaHUsIE9jdCA5LCAyMDI1LCAwODozMiBTdW4gWXVlY2hpIDxzdW55dWVjaGlAaXNj YXMuYWMuY24+IHdyb3RlOgoKSW1wcm92ZSBydGVfbWVtY3B5IGltcGxlbWVudGF0aW9uIG9uIFJJ U0MtViBwbGF0Zm9ybSBmb3Igc2l6ZXMgdW5kZXIKNjQgYnl0ZXMsIGJhc2VkIG9uIHRoZSBBUk0g aW1wbGVtZW50YXRpb24uCgpFbmhhbmNlZCBoYW5kbGluZyBmb3IgY2FzZXMgc21hbGxlciB0aGFu IDY0IGJ5dGVzIHNob3dzIHZlcnkgc2lnbmlmaWNhbnQKcGVyZm9ybWFuY2UgYmVuZWZpdHMsIHdo aWxlIHRoZSBpbXBhY3QgaXMgbWluaW1hbCBhZnRlciA2NCBieXRlcy4KClRoaXMgb3B0aW1pemF0 aW9uIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgYXMgYSBjb25zZXJ2YXRpdmUgbWVhc3VyZSwKc2lu Y2UgZnV0dXJlIGdsaWJjIHZlcnNpb25zIG1heSBpbmNsdWRlIHNpbWlsYXIgaW1wcm92ZW1lbnRz IHRoYXQKY291bGQgY29uZmxpY3Qgd2l0aCB0aGlzIGltcGxlbWVudGF0aW9uLgoKVXNlIFJURV9B UkNIX1JJU0NWX01FTUNQWSB0byBlbmFibGUgdGhpcyBvcHRpbWl6YXRpb24uCgpTaWduZWQtb2Zm LWJ5OiBTdW4gWXVlY2hpIDxzdW55dWVjaGlAaXNjYXMuYWMuY24+Ci0tLQogY29uZmlnL3Jpc2N2 L21lc29uLmJ1aWxkICAgICAgICAgICB8ICAgNSArKwogbGliL2VhbC9yaXNjdi9pbmNsdWRlL3J0 ZV9tZW1jcHkuaCB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCAxMjcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2NvbmZpZy9yaXNjdi9tZXNv bi5idWlsZCBiL2NvbmZpZy9yaXNjdi9tZXNvbi5idWlsZAppbmRleCBmOTNlYTNlMTQ1Li43M2Zk MGFiNGRhIDEwMDY0NAotLS0gYS9jb25maWcvcmlzY3YvbWVzb24uYnVpbGQKKysrIGIvY29uZmln L3Jpc2N2L21lc29uLmJ1aWxkCkBAIC0yMCw2ICsyMCwxMSBAQCBkcGRrX2NvbmYuc2V0KCdSVEVf Rk9SQ0VfSU5UUklOU0lDUycsIDEpCgogIyBjb21tb24gZmxhZ3MgdG8gYWxsIHJpc2N2IGJ1aWxk cywgd2l0aCBsb3dlc3QgcHJpb3JpdHkKIGZsYWdzX2NvbW1vbiA9IFsKKyAgICAjIEFjY2VsZXJh dGUgcnRlX21lbWNweSBmb3IgY29waWVzIHNtYWxsZXIgdGhhbiA2NCBieXRlcy4gQmUgc3VyZSB0 byBydW4KKyAgICAjIHRoZSB1bml0IHRlc3QgKG1lbWNweV9wZXJmX2F1dG90ZXN0KSB0byB2ZXJp ZnkgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLgorICAgICMgUmVmZXIgdG8gbm90ZXMgaW4gc291 cmNlIGZpbGUgKGxpYi9lYWwvcmlzY3YvaW5jbHVkZS9ydGVfbWVtY3B5LmgpIGZvcgorICAgICMg bW9yZSBkZXRhaWxzLgorICAgIFsnUlRFX0FSQ0hfUklTQ1ZfTUVNQ1BZJywgZmFsc2VdLAogICAg IFsnUlRFX0FSQ0hfUklTQ1YnLCB0cnVlXSwKICAgICBbJ1JURV9DQUNIRV9MSU5FX1NJWkUnLCA2 NF0sCiAgICAgIyBNYW51YWxseSBzZXQgd2FsbCB0aW1lIGNsb2NrIGZyZXF1ZW5jeSBmb3IgdGhl IHRhcmdldC4gSWYgMCwgdGhlbiBpdCBpcwpkaWZmIC0tZ2l0IGEvbGliL2VhbC9yaXNjdi9pbmNs dWRlL3J0ZV9tZW1jcHkuaCBiL2xpYi9lYWwvcmlzY3YvaW5jbHVkZS9ydGVfbWVtY3B5LmgKaW5k ZXggZDhhOTQyYzVkMi4uYWU2ZTc5ZTJmYyAxMDA2NDQKLS0tIGEvbGliL2VhbC9yaXNjdi9pbmNs dWRlL3J0ZV9tZW1jcHkuaAorKysgYi9saWIvZWFsL3Jpc2N2L2luY2x1ZGUvcnRlX21lbWNweS5o CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0KGMpIDIwMjIgU3RhckZpdmUKICAqIENvcHly aWdodChjKSAyMDIyIFNpRml2ZQogICogQ29weXJpZ2h0KGMpIDIwMjIgU2VtaWhhbGYKKyAqIENv cHlyaWdodChjKSAyMDI1IElTQ0FTCiAgKi8KCiAjaWZuZGVmIFJURV9NRU1DUFlfUklTQ1ZfSApA QCAtMTQsNiArMTUsMTI1IEBACgogI2luY2x1ZGUgImdlbmVyaWMvcnRlX21lbWNweS5oIgoKKyNp ZmRlZiBSVEVfQVJDSF9SSVNDVl9NRU1DUFkKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4g IkMiIHsKKyNlbmRpZgorCisvKgorICogVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBpbXByb3ZlZCBm cm9tIGVhbC9hcm0vaW5jbHVkZS9ydGVfbWVtY3B5XzY0LmgsCisgKiB0YXJnZXRpbmcgb25seSBj YXNlcyBvZiA8IDY0IGJ5dGVzLgorICogQ3VycmVudGx5IHNob3dzIHNpZ25pZmljYW50IHBlcmZv cm1hbmNlIGltcHJvdmVtZW50IG92ZXIgdmFyaW91cyBnbGliYyB2ZXJzaW9ucywKKyAqIGJ1dCBp cyBkaXNhYmxlZCBieSBkZWZhdWx0IGR1ZSB0byB1bmNlcnRhaW50eSBhYm91dCBwb3RlbnRpYWwg cGVyZm9ybWFuY2UKKyAqIGRlZ3JhZGF0aW9uIGluIGZ1dHVyZSB2ZXJzaW9ucy4KKyAqIFlvdSBj YW4gdXNlIG1lbWNweV9wZXJmX2F1dG90ZXN0IHRvIHRlc3QgdGhlIHBlcmZvcm1hbmNlLgorICov CisKK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lCit2b2lkIHJ0ZV9tb3YxNih1aW50OF90ICpk c3QsIGNvbnN0IHVpbnQ4X3QgKnNyYykKK3sKKyAgICAgICBfX3VpbnQxMjhfdCAqZHN0MTI4ID0g KF9fdWludDEyOF90ICopZHN0OworICAgICAgIGNvbnN0IF9fdWludDEyOF90ICpzcmMxMjggPSAo Y29uc3QgX191aW50MTI4X3QgKilzcmM7CisgICAgICAgKmRzdDEyOCA9ICpzcmMxMjg7Cit9CisK K3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lCit2b2lkIHJ0ZV9tb3YzMih1aW50OF90ICpkc3Qs IGNvbnN0IHVpbnQ4X3QgKnNyYykKK3sKKyAgICAgICBfX3VpbnQxMjhfdCAqZHN0MTI4ID0gKF9f dWludDEyOF90ICopZHN0OworICAgICAgIGNvbnN0IF9fdWludDEyOF90ICpzcmMxMjggPSAoY29u c3QgX191aW50MTI4X3QgKilzcmM7CisgICAgICAgY29uc3QgX191aW50MTI4X3QgeDAgPSBzcmMx MjhbMF0sIHgxID0gc3JjMTI4WzFdOworICAgICAgIGRzdDEyOFswXSA9IHgwOworICAgICAgIGRz dDEyOFsxXSA9IHgxOworfQorCitzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZQordm9pZCBydGVf bW92NDgodWludDhfdCAqZHN0LCBjb25zdCB1aW50OF90ICpzcmMpCit7CisgICAgICAgX191aW50 MTI4X3QgKmRzdDEyOCA9IChfX3VpbnQxMjhfdCAqKWRzdDsKKyAgICAgICBjb25zdCBfX3VpbnQx MjhfdCAqc3JjMTI4ID0gKGNvbnN0IF9fdWludDEyOF90ICopc3JjOworICAgICAgIGNvbnN0IF9f dWludDEyOF90IHgwID0gc3JjMTI4WzBdLCB4MSA9IHNyYzEyOFsxXSwgeDIgPSBzcmMxMjhbMl07 CisgICAgICAgZHN0MTI4WzBdID0geDA7CisgICAgICAgZHN0MTI4WzFdID0geDE7CisgICAgICAg ZHN0MTI4WzJdID0geDI7Cit9CisKK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQKK3J0 ZV9tb3Y2NCh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYykKK3sKKyAgICAgICBtZW1j cHkoZHN0LCBzcmMsIDY0KTsKK30KKworc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZAor cnRlX21vdjEyOCh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYykKK3sKKyAgICAgICBt ZW1jcHkoZHN0LCBzcmMsIDEyOCk7Cit9CisKK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZv aWQKK3J0ZV9tb3YyNTYodWludDhfdCAqZHN0LCBjb25zdCB1aW50OF90ICpzcmMpCit7CisgICAg ICAgbWVtY3B5KGRzdCwgc3JjLCAyNTYpOworfQorCitzdGF0aWMgX19ydGVfYWx3YXlzX2lubGlu ZSB2b2lkCitydGVfbWVtY3B5X2x0MTYodWludDhfdCAqZHN0LCBjb25zdCB1aW50OF90ICpzcmMs IHNpemVfdCBuKQoreworICAgICAgIGlmIChuICYgMHgwOCkgeworICAgICAgICAgICAgICAgLyog Y29weSA4IH4gMTUgYnl0ZXMgKi8KKyAgICAgICAgICAgICAgICoodWludDY0X3QgKilkc3QgPSAq KGNvbnN0IHVpbnQ2NF90ICopc3JjOworICAgICAgICAgICAgICAgKih1aW50NjRfdCAqKShkc3Qg LSA4ICsgbikgPSAqKGNvbnN0IHVpbnQ2NF90ICopKHNyYyAtIDggKyBuKTsKKyAgICAgICB9IGVs c2UgaWYgKG4gJiAweDA0KSB7CisgICAgICAgICAgICAgICAvKiBjb3B5IDQgfiA3IGJ5dGVzICov CisgICAgICAgICAgICAgICAqKHVpbnQzMl90ICopZHN0ID0gKihjb25zdCB1aW50MzJfdCAqKXNy YzsKKyAgICAgICAgICAgICAgICoodWludDMyX3QgKikoZHN0IC0gNCArIG4pID0gKihjb25zdCB1 aW50MzJfdCAqKShzcmMgLSA0ICsgbik7CisgICAgICAgfSBlbHNlIGlmIChuICYgMHgwMikgewor ICAgICAgICAgICAgICAgLyogY29weSAyIH4gMyBieXRlcyAqLworICAgICAgICAgICAgICAgKih1 aW50MTZfdCAqKWRzdCA9ICooY29uc3QgdWludDE2X3QgKilzcmM7CisgICAgICAgICAgICAgICAq KHVpbnQxNl90ICopKGRzdCAtIDIgKyBuKSA9ICooY29uc3QgdWludDE2X3QgKikoc3JjIC0gMiAr IG4pOworICAgICAgIH0gZWxzZSBpZiAobiAmIDB4MDEpIHsKKyAgICAgICAgICAgICAgIC8qIGNv cHkgMSBieXRlICovCisgICAgICAgICAgICAgICAqZHN0ID0gKnNyYzsKKyAgICAgICB9Cit9CisK K3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQKK3J0ZV9tZW1jcHlfZ2UxNl9sdDY0KHVp bnQ4X3QgKmRzdCwgY29uc3QgdWludDhfdCAqc3JjLCBzaXplX3QgbikKK3sKKyAgICAgICBpZiAo biA9PSAxNikgeworICAgICAgICAgICAgICAgcnRlX21vdjE2KGRzdCwgc3JjKTsKKyAgICAgICB9 IGVsc2UgaWYgKG4gPD0gMzIpIHsKKyAgICAgICAgICAgICAgIHJ0ZV9tb3YxNihkc3QsIHNyYyk7 CisgICAgICAgICAgICAgICBydGVfbW92MTYoZHN0IC0gMTYgKyBuLCBzcmMgLSAxNiArIG4pOwor ICAgICAgIH0gZWxzZSBpZiAobiA8PSA0OCkgeworICAgICAgICAgICAgICAgcnRlX21vdjMyKGRz dCwgc3JjKTsKKyAgICAgICAgICAgICAgIHJ0ZV9tb3YxNihkc3QgLSAxNiArIG4sIHNyYyAtIDE2 ICsgbik7CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgIHJ0ZV9tb3Y0OChkc3QsIHNy Yyk7CisgICAgICAgICAgICAgICBydGVfbW92MTYoZHN0IC0gMTYgKyBuLCBzcmMgLSAxNiArIG4p OworICAgICAgIH0KK30KKworc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZCAqCitydGVf bWVtY3B5KHZvaWQgKmRzdCwgY29uc3Qgdm9pZCAqc3JjLCBzaXplX3QgbikKK3sKKyAgICAgICBp ZiAobiA+PSA2NCkKKyAgICAgICAgICAgICAgIHJldHVybiBtZW1jcHkoZHN0LCBzcmMsIG4pOwor ICAgICAgIGlmIChuIDwgMTYpIHsKKyAgICAgICAgICAgICAgIHJ0ZV9tZW1jcHlfbHQxNigodWlu dDhfdCAqKWRzdCwgKGNvbnN0IHVpbnQ4X3QgKilzcmMsIG4pOworICAgICAgICAgICAgICAgcmV0 dXJuIGRzdDsKKyAgICAgICB9CisgICAgICAgcnRlX21lbWNweV9nZTE2X2x0NjQoKHVpbnQ4X3Qg Kilkc3QsIChjb25zdCB1aW50OF90ICopc3JjLCBuKTsKKyAgICAgICByZXR1cm4gZHN0OworfQor CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZWxzZSAvKiBSVEVfQVJDSF9SSVND Vl9NRU1DUFkgKi8KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKICNlbmRpZgpA QCAtNjAsNCArMTgwLDYgQEAgcnRlX21vdjI1Nih1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3Qg KnNyYykKIH0KICNlbmRpZgoKKyNlbmRpZiAvKiBSVEVfQVJDSF9SSVNDVl9NRU1DUFkgKi8KKwog I2VuZGlmIC8qIFJURV9NRU1DUFlfUklTQ1ZfSCAqLwotLQoyLjUxLjAKCg== ------=_Part_321944_1118686577.1759999420111 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPkZvciBSSVNDLVYsIGdjYyAxNC4yLCBn bGliYyAyLjM5LCB3aGVuICZsdDs2NCBieXRlcywgdGhlIHRlc3QgZGF0YSBpcyBhcyBmb2xsb3dz LiZuYnNwOzwvc3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij5JdCBh cHBlYXJzIHRoZSBpbXBhY3QgaXMgcXVpdGUgc2lnbmlmaWNhbnQuPC9zcGFuPjxicj4KPGJyPgo8 c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09IDE2QiBhbGlnbmVkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyAxJm5ic3A7IDAgLSZuYnNwOyAxKC04MC4wNSUpJm5ic3A7ICZuYnNwOzEgLSZuYnNw OyAxKC0xMC43NSUpJm5ic3A7ICZuYnNwOzIgLSAxMSgtODUuODAlKSZuYnNwOyAmbmJzcDsyIC0g MTEoLTc5LjcwJSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgMiZuYnNwOyAwIC0mbmJzcDsgMSgtNzQuNzclKSZu YnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNjguMjklKSZuYnNwOyAmbmJzcDszIC0gMTIoLTc0LjY0 JSkmbmJzcDsgJm5ic3A7MyAtIDEyKC03NC4wMSUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7IDMmbmJzcDsgMCAt Jm5ic3A7IDEoLTc4Ljg2JSkmbmJzcDsgJm5ic3A7MiAtJm5ic3A7IDgoLTY5LjQ2JSkmbmJzcDsg Jm5ic3A7MyAtIDEyKC03NS4zNiUpJm5ic3A7ICZuYnNwOzMgLSAxMygtNzYuMjIlKSZuYnNwOzwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyA0Jm5ic3A7IDAgLSZuYnNwOyAxKC04Ni4wMiUpJm5ic3A7ICZuYnNwOzIgLSZuYnNw OyA4KC03NC4yNyUpJm5ic3A7ICZuYnNwOzIgLSAxMigtNzkuNjElKSZuYnNwOyAmbmJzcDszIC0g MTMoLTc5LjE2JSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgNSZuYnNwOyAwIC0mbmJzcDsgMSgtODYuMjklKSZu YnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNzQuNDYlKSZuYnNwOyAmbmJzcDsyIC0gMTIoLTc5LjAw JSkmbmJzcDsgJm5ic3A7MyAtIDEzKC03OS43MyUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7IDYmbmJzcDsgMCAt Jm5ic3A7IDEoLTg2LjIyJSkmbmJzcDsgJm5ic3A7MiAtJm5ic3A7IDgoLTczLjgyJSkmbmJzcDsg Jm5ic3A7MiAtIDEyKC03OS4xOCUpJm5ic3A7ICZuYnNwOzMgLSAxMygtNzkuMjMlKSZuYnNwOzwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOyA3Jm5ic3A7IDAgLSZuYnNwOyAxKC04OS42OCUpJm5ic3A7ICZuYnNwOzIgLSZuYnNw OyA4KC03My44MSUpJm5ic3A7ICZuYnNwOzIgLSAxMigtNzkuNTQlKSZuYnNwOyAmbmJzcDszIC0g MTMoLTc4LjUwJSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgOCZuYnNwOyAwIC0mbmJzcDsgMSgtOTAuMDUlKSZu YnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNzUuODglKSZuYnNwOyAmbmJzcDszIC0gMTIoLTc1Ljk2 JSkmbmJzcDsgJm5ic3A7MyAtIDEzKC03Ny45MyUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7IDkmbmJzcDsgMCAt Jm5ic3A7IDEoLTg5Ljg1JSkmbmJzcDsgJm5ic3A7MiAtJm5ic3A7IDgoLTc2LjE3JSkmbmJzcDsg Jm5ic3A7MyAtIDEyKC03Ni43NCUpJm5ic3A7ICZuYnNwOzMgLSAxMygtNzcuNDklKSZuYnNwOzwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOzEyJm5ic3A7IDAgLSZuYnNwOyAxKC05MS4zMiUpJm5ic3A7ICZuYnNwOzIgLSZuYnNw OyA4KC03Ni45MiUpJm5ic3A7ICZuYnNwOzMgLSAxMigtNzUuOTglKSZuYnNwOyAmbmJzcDszIC0g MTMoLTc3LjY5JSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsxNSZuYnNwOyAwIC0mbmJzcDsgMSgtOTEuNDYlKSZu YnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNzcuMjclKSZuYnNwOyAmbmJzcDszIC0gMTIoLTc2LjM2 JSkmbmJzcDsgJm5ic3A7MyAtIDEzKC03OC40MSUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7MTYmbmJzcDsgMCAt Jm5ic3A7IDEoLTg5LjcwJSkmbmJzcDsgJm5ic3A7MiAtJm5ic3A7IDgoLTc0LjgxJSkmbmJzcDsg Jm5ic3A7MyAtIDEyKC03NS4zNSUpJm5ic3A7ICZuYnNwOzMgLSAxMigtNzcuNTIlKSZuYnNwOzwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOzE3Jm5ic3A7IDAgLSZuYnNwOyAxKC04MS41NyUpJm5ic3A7ICZuYnNwOzMgLSZuYnNw OyA4KC02MC45MiUpJm5ic3A7ICZuYnNwOzQgLSAxMigtNjYuOTYlKSZuYnNwOyAmbmJzcDs1IC0g MTMoLTY0LjIwJSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDszMSZuYnNwOyAwIC0mbmJzcDsgMSgtODcuNTglKSZu YnNwOyAmbmJzcDszIC0mbmJzcDsgOCgtNjIuNjYlKSZuYnNwOyAmbmJzcDs0IC0gMTIoLTY4LjQ4 JSkmbmJzcDsgJm5ic3A7NSAtIDEzKC02NS4xMiUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7MzImbmJzcDsgMCAt Jm5ic3A7IDEoLTg0LjA2JSkmbmJzcDsgJm5ic3A7MyAtJm5ic3A7IDgoLTY3LjQ4JSkmbmJzcDsg Jm5ic3A7NCAtIDEyKC02OC4zMyUpJm5ic3A7ICZuYnNwOzQgLSAxMygtNjUuNDglKSZuYnNwOzwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOzMzJm5ic3A7IDAgLSZuYnNwOyAxKC03NC42NCUpJm5ic3A7ICZuYnNwOzQgLSZuYnNw OyA4KC01MC40NSUpJm5ic3A7ICZuYnNwOzYgLSAxMigtNTEuMTYlKSZuYnNwOyAmbmJzcDs3IC0g MTMoLTQ1Ljk0JSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDs2MyZuYnNwOyAwIC0mbmJzcDsgMSgtNzkuMzMlKSZu YnNwOyAmbmJzcDs1IC0mbmJzcDsgOSgtNDcuNzAlKSZuYnNwOyAmbmJzcDs2IC0gMTMoLTQ5LjQ3 JSkmbmJzcDsgJm5ic3A7OSAtIDEzKC0zMi40MCUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPjxicj4KPC9zcGFuPjxicj4KPHNwYW4gc3R5bGU9ImZv bnQtZmFtaWx5OlNpbVN1bjsiPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gVW5h bGlnbmVkID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08L3NwYW4+PGJyPgo8c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgMSZuYnNw OyAwIC0mbmJzcDsgMSgtODAuNDklKSZuYnNwOyAmbmJzcDsxIC0mbmJzcDsgMSgtMTUuMzElKSZu YnNwOyAmbmJzcDsyIC0gMTEoLTg1Ljc3JSkmbmJzcDsgJm5ic3A7MiAtIDEyKC04MC42NSUpJm5i c3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7IDImbmJzcDsgMCAtJm5ic3A7IDEoLTc4LjE4JSkmbmJzcDsgJm5ic3A7MiAt Jm5ic3A7IDgoLTcyLjQ5JSkmbmJzcDsgJm5ic3A7MyAtIDEyKC03NS4zNCUpJm5ic3A7ICZuYnNw OzMgLSAxMigtNzQuNjglKSZuYnNwOzwvc3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAzJm5ic3A7IDAgLSZuYnNwOyAxKC03OS40 OSUpJm5ic3A7ICZuYnNwOzIgLSZuYnNwOyA4KC03My40MCUpJm5ic3A7ICZuYnNwOzMgLSAxMigt NzUuMDUlKSZuYnNwOyAmbmJzcDszIC0gMTQoLTc2LjcyJSkmbmJzcDs8L3NwYW4+PGJyPgo8c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgNCZuYnNw OyAwIC0mbmJzcDsgMSgtODYuMjclKSZuYnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNzQuNDglKSZu YnNwOyAmbmJzcDsyIC0gMTIoLTc5LjU2JSkmbmJzcDsgJm5ic3A7MyAtIDEzKC03OS4xMyUpJm5i c3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7IDUmbmJzcDsgMCAtJm5ic3A7IDEoLTg2LjU5JSkmbmJzcDsgJm5ic3A7MiAt Jm5ic3A7IDgoLTc0LjU0JSkmbmJzcDsgJm5ic3A7MiAtIDEyKC03OS4wNCUpJm5ic3A7ICZuYnNw OzMgLSAxMigtNzcuOTklKSZuYnNwOzwvc3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyA2Jm5ic3A7IDAgLSZuYnNwOyAxKC04Ny4w NiUpJm5ic3A7ICZuYnNwOzIgLSZuYnNwOyA4KC03NC4wMSUpJm5ic3A7ICZuYnNwOzIgLSAxMigt NzkuMDklKSZuYnNwOyAmbmJzcDszIC0gMTIoLTc4LjA0JSkmbmJzcDs8L3NwYW4+PGJyPgo8c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgNyZuYnNw OyAwIC0mbmJzcDsgMSgtOTAuODYlKSZuYnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNzQuMDklKSZu YnNwOyAmbmJzcDsyIC0gMTIoLTc5Ljg2JSkmbmJzcDsgJm5ic3A7MyAtIDEyKC03OC4zMiUpJm5i c3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7IDgmbmJzcDsgMCAtJm5ic3A7IDEoLTg5Ljc4JSkmbmJzcDsgJm5ic3A7MiAt Jm5ic3A7IDgoLTc3LjAxJSkmbmJzcDsgJm5ic3A7MyAtIDEyKC03Ni41MSUpJm5ic3A7ICZuYnNw OzMgLSAxNCgtNzkuMjklKSZuYnNwOzwvc3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyA5Jm5ic3A7IDAgLSZuYnNwOyAxKC04OS4x OSUpJm5ic3A7ICZuYnNwOzIgLSZuYnNwOyA4KC03NS45OSUpJm5ic3A7ICZuYnNwOzMgLSAxMigt NzYuMjUlKSZuYnNwOyAmbmJzcDszIC0gMTQoLTc5LjI4JSkmbmJzcDs8L3NwYW4+PGJyPgo8c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsxMiZuYnNw OyAwIC0mbmJzcDsgMSgtODkuMTElKSZuYnNwOyAmbmJzcDsyIC0mbmJzcDsgOCgtNzQuMjUlKSZu YnNwOyAmbmJzcDszIC0gMTIoLTc0LjE5JSkmbmJzcDsgJm5ic3A7MyAtIDE0KC03Ny42OCUpJm5i c3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAm bmJzcDsgJm5ic3A7MTUmbmJzcDsgMCAtJm5ic3A7IDEoLTkwLjAyJSkmbmJzcDsgJm5ic3A7MiAt Jm5ic3A7IDgoLTc1LjM5JSkmbmJzcDsgJm5ic3A7MyAtIDEyKC03NC43MyUpJm5ic3A7ICZuYnNw OzMgLSAxNSgtNzguNjclKSZuYnNwOzwvc3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOzE2Jm5ic3A7IDAgLSZuYnNwOyAxKC04MC45 NiUpJm5ic3A7ICZuYnNwOzIgLSZuYnNwOyA4KC03NC40OSUpJm5ic3A7ICZuYnNwOzMgLSAxNCgt NzguMTclKSZuYnNwOyAmbmJzcDszIC0gMTQoLTc3LjExJSkmbmJzcDs8L3NwYW4+PGJyPgo8c3Bh biBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsxNyZuYnNw OyAwIC0mbmJzcDsgMSgtNjYuMjklKSZuYnNwOyAmbmJzcDszIC0gMTAoLTY2Ljg1JSkmbmJzcDsg Jm5ic3A7NCAtIDE1KC03Mi40MiUpJm5ic3A7ICZuYnNwOzYgLSAxNCgtNjEuMTglKSZuYnNwOzwv c3Bhbj48YnI+CjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47Ij4mbmJzcDsgJm5ic3A7 ICZuYnNwOzMxJm5ic3A7IDAgLSZuYnNwOyAxKC04Ni44NCUpJm5ic3A7ICZuYnNwOzMgLSZuYnNw OyA5KC02My43NSUpJm5ic3A7ICZuYnNwOzQgLSAxMygtNjUuODglKSZuYnNwOyAmbmJzcDs1IC0g MTUoLTY0LjY3JSkmbmJzcDs8L3NwYW4+PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2lt U3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDszMiZuYnNwOyAwIC0mbmJzcDsgMSgtODcuMzclKSZu YnNwOyAmbmJzcDszIC0mbmJzcDsgOCgtNjEuMzQlKSZuYnNwOyAmbmJzcDs0IC0gMTIoLTY1LjA5 JSkmbmJzcDsgJm5ic3A7NiAtIDE1KC02NC4wNCUpJm5ic3A7PC9zcGFuPjxicj4KPHNwYW4gc3R5 bGU9ImZvbnQtZmFtaWx5OlNpbVN1bjsiPiZuYnNwOyAmbmJzcDsgJm5ic3A7MzMmbmJzcDsgMCAt Jm5ic3A7IDIoLTg0LjIzJSkmbmJzcDsgJm5ic3A7NSAtIDEwKC00Ni45OCUpJm5ic3A7ICZuYnNw OzYgLSAxNCgtNTcuMjQlKSZuYnNwOyAmbmJzcDs4IC0gMTYoLTUzLjg4JSkmbmJzcDs8L3NwYW4+ PGJyPgo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U2ltU3VuOyI+Jm5ic3A7ICZuYnNwOyAmbmJz cDs2MyZuYnNwOyAwIC0mbmJzcDsgMigtODEuNTklKSZuYnNwOyAmbmJzcDs1IC0gMTEoLTUyLjEy JSkmbmJzcDsgJm5ic3A7NyAtIDE2KC01NC4wNiUpJm5ic3A7IDEwIC0gMjAoLTUwLjAxJSkmbmJz cDs8L3NwYW4+PGJyPgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpTaW1TdW47d2hpdGUtc3BhY2U6 bm93cmFwOyI+Cgk8YnI+CjwvZGl2Pgo8YnI+Cjxicj4KPGJyPgo8YmxvY2txdW90ZSBuYW1lPSJy ZXBseUNvbnRlbnQiIGNsYXNzPSJSZWZlcmVuY2VRdW90ZSIgc3R5bGU9ImZvbnQtZmFtaWx5OlNp bVN1bjtwYWRkaW5nLWxlZnQ6NXB4O21hcmdpbi1sZWZ0OjVweDtib3JkZXItbGVmdDoycHggc29s aWQgI0I2QjZCNjttYXJnaW4tcmlnaHQ6MHB4OyI+CgktLS0tLeWOn+Wni+mCruS7ti0tLS0tPGJy Pgo8Yj7lj5Hku7bkuro6PC9iPjxzcGFuIGlkPSJyY19mcm9tIj4iU3RlcGhlbiBIZW1taW5nZXIi ICZsdDtzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZyZndDs8L3NwYW4+PGJyPgo8Yj7lj5HpgIHm l7bpl7Q6PC9iPjxzcGFuIGlkPSJyY19zZW50dGltZSI+MjAyNS0xMC0wOSAxNjoxNzowMiAo5pif 5pyf5ZubKTwvc3Bhbj48YnI+CjxiPuaUtuS7tuS6ujo8L2I+ICJTdW4gWXVlY2hpIiAmbHQ7c3Vu eXVlY2hpQGlzY2FzLmFjLmNuJmd0Ozxicj4KPGI+5oqE6YCBOjwvYj4gZGV2ICZsdDtkZXZAZHBk ay5vcmcmZ3Q7LCAiU3RhbmlzxYJhdyBLYXJkYWNoIiAmbHQ7c3RhbmlzbGF3LmthcmRhY2hAZ21h aWwuY29tJmd0OywgIkJydWNlIFJpY2hhcmRzb24iICZsdDticnVjZS5yaWNoYXJkc29uQGludGVs LmNvbSZndDs8YnI+CjxiPuS4u+mimDo8L2I+IFJlOiBbUEFUQ0hdIGVhbC9yaXNjdjogb3B0aW1p emUgbWVtY3B5IGZvciBzbWFsbCBjb3BpZXMgdW5kZXIgNjQgYnl0ZXM8YnI+Cjxicj4KCTxkaXYg ZGlyPSJhdXRvIj4KCQlIb3cgZG9lcyB0aGlzIGNvbXBhcmUgdG8gZ2xpYmMvZ2NjIG1lbWNweT8g SSB3b3VsZCBsaWtlIHRvIHNlZSBydGVfbWVtY3B5IGdvIGF3YXkmbmJzcDsKCTwvZGl2Pgo8YnI+ Cgk8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSBnbWFpbF9xdW90ZV9jb250YWluZXIiPgoJCTxkaXYg ZGlyPSJsdHIiIGNsYXNzPSJnbWFpbF9hdHRyIj4KCQkJT24gVGh1LCBPY3QgOSwgMjAyNSwgMDg6 MzIgU3VuIFl1ZWNoaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnN1bnl1ZWNoaUBpc2Nhcy5hYy5jbiI+ c3VueXVlY2hpQGlzY2FzLmFjLmNuPC9hPiZndDsgd3JvdGU6PGJyPgoJCTwvZGl2PgoJCTxibG9j a3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhl eDtib3JkZXItbGVmdDoxcHggc29saWQgI0NDQ0NDQztwYWRkaW5nLWxlZnQ6MWV4OyI+CgkJCUlt cHJvdmUgcnRlX21lbWNweSBpbXBsZW1lbnRhdGlvbiBvbiBSSVNDLVYgcGxhdGZvcm0gZm9yIHNp emVzIHVuZGVyPGJyPgo2NCBieXRlcywgYmFzZWQgb24gdGhlIEFSTSBpbXBsZW1lbnRhdGlvbi48 YnI+Cjxicj4KRW5oYW5jZWQgaGFuZGxpbmcgZm9yIGNhc2VzIHNtYWxsZXIgdGhhbiA2NCBieXRl cyBzaG93cyB2ZXJ5IHNpZ25pZmljYW50PGJyPgpwZXJmb3JtYW5jZSBiZW5lZml0cywgd2hpbGUg dGhlIGltcGFjdCBpcyBtaW5pbWFsIGFmdGVyIDY0IGJ5dGVzLjxicj4KPGJyPgpUaGlzIG9wdGlt aXphdGlvbiBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGFzIGEgY29uc2VydmF0aXZlIG1lYXN1cmUs PGJyPgpzaW5jZSBmdXR1cmUgZ2xpYmMgdmVyc2lvbnMgbWF5IGluY2x1ZGUgc2ltaWxhciBpbXBy b3ZlbWVudHMgdGhhdDxicj4KY291bGQgY29uZmxpY3Qgd2l0aCB0aGlzIGltcGxlbWVudGF0aW9u Ljxicj4KPGJyPgpVc2UgUlRFX0FSQ0hfUklTQ1ZfTUVNQ1BZIHRvIGVuYWJsZSB0aGlzIG9wdGlt aXphdGlvbi48YnI+Cjxicj4KU2lnbmVkLW9mZi1ieTogU3VuIFl1ZWNoaSAmbHQ7PGEgaHJlZj0i bWFpbHRvOnN1bnl1ZWNoaUBpc2Nhcy5hYy5jbiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9yZWZl cnJlciI+c3VueXVlY2hpQGlzY2FzLmFjLmNuPC9hPiZndDs8YnI+Ci0tLTxicj4KJm5ic3A7Y29u ZmlnL3Jpc2N2L21lc29uLmJ1aWxkJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDt8Jm5ic3A7ICZuYnNwOzUgKys8YnI+CiZuYnNwO2xpYi9lYWwvcmlzY3YvaW5jbHVkZS9y dGVfbWVtY3B5LmggfCAxMjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKys8YnI+CiZuYnNw OzIgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKyk8YnI+Cjxicj4KZGlmZiAtLWdpdCBh L2NvbmZpZy9yaXNjdi9tZXNvbi5idWlsZCBiL2NvbmZpZy9yaXNjdi9tZXNvbi5idWlsZDxicj4K aW5kZXggZjkzZWEzZTE0NS4uNzNmZDBhYjRkYSAxMDA2NDQ8YnI+Ci0tLSBhL2NvbmZpZy9yaXNj di9tZXNvbi5idWlsZDxicj4KKysrIGIvY29uZmlnL3Jpc2N2L21lc29uLmJ1aWxkPGJyPgpAQCAt MjAsNiArMjAsMTEgQEAgZHBka19jb25mLnNldCgnUlRFX0ZPUkNFX0lOVFJJTlNJQ1MnLCAxKTxi cj4KPGJyPgombmJzcDsjIGNvbW1vbiBmbGFncyB0byBhbGwgcmlzY3YgYnVpbGRzLCB3aXRoIGxv d2VzdCBwcmlvcml0eTxicj4KJm5ic3A7ZmxhZ3NfY29tbW9uID0gWzxicj4KKyZuYnNwOyAmbmJz cDsgIyBBY2NlbGVyYXRlIHJ0ZV9tZW1jcHkgZm9yIGNvcGllcyBzbWFsbGVyIHRoYW4gNjQgYnl0 ZXMuIEJlIHN1cmUgdG8gcnVuPGJyPgorJm5ic3A7ICZuYnNwOyAjIHRoZSB1bml0IHRlc3QgKG1l bWNweV9wZXJmX2F1dG90ZXN0KSB0byB2ZXJpZnkgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLjxi cj4KKyZuYnNwOyAmbmJzcDsgIyBSZWZlciB0byBub3RlcyBpbiBzb3VyY2UgZmlsZSAobGliL2Vh bC9yaXNjdi9pbmNsdWRlL3J0ZV9tZW1jcHkuaCkgZm9yPGJyPgorJm5ic3A7ICZuYnNwOyAjIG1v cmUgZGV0YWlscy48YnI+CismbmJzcDsgJm5ic3A7IFsnUlRFX0FSQ0hfUklTQ1ZfTUVNQ1BZJywg ZmFsc2VdLDxicj4KJm5ic3A7ICZuYnNwOyAmbmJzcDtbJ1JURV9BUkNIX1JJU0NWJywgdHJ1ZV0s PGJyPgombmJzcDsgJm5ic3A7ICZuYnNwO1snUlRFX0NBQ0hFX0xJTkVfU0laRScsIDY0XSw8YnI+ CiZuYnNwOyAmbmJzcDsgJm5ic3A7IyBNYW51YWxseSBzZXQgd2FsbCB0aW1lIGNsb2NrIGZyZXF1 ZW5jeSBmb3IgdGhlIHRhcmdldC4gSWYgMCwgdGhlbiBpdCBpczxicj4KZGlmZiAtLWdpdCBhL2xp Yi9lYWwvcmlzY3YvaW5jbHVkZS9ydGVfbWVtY3B5LmggYi9saWIvZWFsL3Jpc2N2L2luY2x1ZGUv cnRlX21lbWNweS5oPGJyPgppbmRleCBkOGE5NDJjNWQyLi5hZTZlNzllMmZjIDEwMDY0NDxicj4K LS0tIGEvbGliL2VhbC9yaXNjdi9pbmNsdWRlL3J0ZV9tZW1jcHkuaDxicj4KKysrIGIvbGliL2Vh bC9yaXNjdi9pbmNsdWRlL3J0ZV9tZW1jcHkuaDxicj4KQEAgLTIsNiArMiw3IEBAPGJyPgombmJz cDsgKiBDb3B5cmlnaHQoYykgMjAyMiBTdGFyRml2ZTxicj4KJm5ic3A7ICogQ29weXJpZ2h0KGMp IDIwMjIgU2lGaXZlPGJyPgombmJzcDsgKiBDb3B5cmlnaHQoYykgMjAyMiBTZW1paGFsZjxicj4K KyAqIENvcHlyaWdodChjKSAyMDI1IElTQ0FTPGJyPgombmJzcDsgKi88YnI+Cjxicj4KJm5ic3A7 I2lmbmRlZiBSVEVfTUVNQ1BZX1JJU0NWX0g8YnI+CkBAIC0xNCw2ICsxNSwxMjUgQEA8YnI+Cjxi cj4KJm5ic3A7I2luY2x1ZGUgImdlbmVyaWMvcnRlX21lbWNweS5oIjxicj4KPGJyPgorI2lmZGVm IFJURV9BUkNIX1JJU0NWX01FTUNQWTxicj4KKzxicj4KKyNpZmRlZiBfX2NwbHVzcGx1czxicj4K K2V4dGVybiAiQyIgezxicj4KKyNlbmRpZjxicj4KKzxicj4KKy8qPGJyPgorICogVGhpcyBpbXBs ZW1lbnRhdGlvbiBpcyBpbXByb3ZlZCBmcm9tIGVhbC9hcm0vaW5jbHVkZS9ydGVfbWVtY3B5XzY0 LmgsPGJyPgorICogdGFyZ2V0aW5nIG9ubHkgY2FzZXMgb2YgJmx0OyA2NCBieXRlcy48YnI+Cisg KiBDdXJyZW50bHkgc2hvd3Mgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb3Zl ciB2YXJpb3VzIGdsaWJjIHZlcnNpb25zLDxicj4KKyAqIGJ1dCBpcyBkaXNhYmxlZCBieSBkZWZh dWx0IGR1ZSB0byB1bmNlcnRhaW50eSBhYm91dCBwb3RlbnRpYWwgcGVyZm9ybWFuY2U8YnI+Cisg KiBkZWdyYWRhdGlvbiBpbiBmdXR1cmUgdmVyc2lvbnMuPGJyPgorICogWW91IGNhbiB1c2UgbWVt Y3B5X3BlcmZfYXV0b3Rlc3QgdG8gdGVzdCB0aGUgcGVyZm9ybWFuY2UuPGJyPgorICovPGJyPgor PGJyPgorc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmU8YnI+Cit2b2lkIHJ0ZV9tb3YxNih1aW50 OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYyk8YnI+Cit7PGJyPgorJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7X191aW50MTI4X3QgKmRzdDEyOCA9IChfX3VpbnQxMjhfdCAqKWRzdDs8YnI+ CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtjb25zdCBfX3VpbnQxMjhfdCAqc3JjMTI4ID0g KGNvbnN0IF9fdWludDEyOF90ICopc3JjOzxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw Oypkc3QxMjggPSAqc3JjMTI4Ozxicj4KK308YnI+Cis8YnI+CitzdGF0aWMgX19ydGVfYWx3YXlz X2lubGluZTxicj4KK3ZvaWQgcnRlX21vdjMyKHVpbnQ4X3QgKmRzdCwgY29uc3QgdWludDhfdCAq c3JjKTxicj4KK3s8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtfX3VpbnQxMjhfdCAq ZHN0MTI4ID0gKF9fdWludDEyOF90ICopZHN0Ozxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO2NvbnN0IF9fdWludDEyOF90ICpzcmMxMjggPSAoY29uc3QgX191aW50MTI4X3QgKilzcmM7 PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Y29uc3QgX191aW50MTI4X3QgeDAgPSBz cmMxMjhbMF0sIHgxID0gc3JjMTI4WzFdOzxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O2RzdDEyOFswXSA9IHgwOzxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2RzdDEyOFsx XSA9IHgxOzxicj4KK308YnI+Cis8YnI+CitzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZTxicj4K K3ZvaWQgcnRlX21vdjQ4KHVpbnQ4X3QgKmRzdCwgY29uc3QgdWludDhfdCAqc3JjKTxicj4KK3s8 YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtfX3VpbnQxMjhfdCAqZHN0MTI4ID0gKF9f dWludDEyOF90ICopZHN0Ozxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2NvbnN0IF9f dWludDEyOF90ICpzcmMxMjggPSAoY29uc3QgX191aW50MTI4X3QgKilzcmM7PGJyPgorJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7Y29uc3QgX191aW50MTI4X3QgeDAgPSBzcmMxMjhbMF0sIHgx ID0gc3JjMTI4WzFdLCB4MiA9IHNyYzEyOFsyXTs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDtkc3QxMjhbMF0gPSB4MDs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtkc3Qx MjhbMV0gPSB4MTs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtkc3QxMjhbMl0gPSB4 Mjs8YnI+Cit9PGJyPgorPGJyPgorc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZDxicj4K K3J0ZV9tb3Y2NCh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYyk8YnI+Cit7PGJyPgor Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bWVtY3B5KGRzdCwgc3JjLCA2NCk7PGJyPgorfTxi cj4KKzxicj4KK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQ8YnI+CitydGVfbW92MTI4 KHVpbnQ4X3QgKmRzdCwgY29uc3QgdWludDhfdCAqc3JjKTxicj4KK3s8YnI+CismbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDttZW1jcHkoZHN0LCBzcmMsIDEyOCk7PGJyPgorfTxicj4KKzxicj4K K3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIHZvaWQ8YnI+CitydGVfbW92MjU2KHVpbnQ4X3Qg KmRzdCwgY29uc3QgdWludDhfdCAqc3JjKTxicj4KK3s8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDttZW1jcHkoZHN0LCBzcmMsIDI1Nik7PGJyPgorfTxicj4KKzxicj4KK3N0YXRpYyBf X3J0ZV9hbHdheXNfaW5saW5lIHZvaWQ8YnI+CitydGVfbWVtY3B5X2x0MTYodWludDhfdCAqZHN0 LCBjb25zdCB1aW50OF90ICpzcmMsIHNpemVfdCBuKTxicj4KK3s8YnI+CismbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtpZiAobiAmYW1wOyAweDA4KSB7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qIGNvcHkgOCB+IDE1IGJ5dGVz ICovPGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyoodWludDY0X3QgKilkc3QgPSAqKGNvbnN0IHVpbnQ2NF90ICopc3JjOzxicj4KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsqKHVp bnQ2NF90ICopKGRzdCAtIDggKyBuKSA9ICooY29uc3QgdWludDY0X3QgKikoc3JjIC0gOCArIG4p Ozxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO30gZWxzZSBpZiAobiAmYW1wOyAweDA0 KSB7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOy8qIGNvcHkgNCB+IDcgYnl0ZXMgKi88YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Kih1aW50MzJfdCAqKWRzdCA9ICooY29u c3QgdWludDMyX3QgKilzcmM7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyoodWludDMyX3QgKikoZHN0IC0gNCArIG4pID0gKihjb25z dCB1aW50MzJfdCAqKShzcmMgLSA0ICsgbik7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7fSBlbHNlIGlmIChuICZhbXA7IDB4MDIpIHs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7LyogY29weSAyIH4gMyBieXRlcyAqLzxi cj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsqKHVpbnQxNl90ICopZHN0ID0gKihjb25zdCB1aW50MTZfdCAqKXNyYzs8YnI+CismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Kih1aW50MTZf dCAqKShkc3QgLSAyICsgbikgPSAqKGNvbnN0IHVpbnQxNl90ICopKHNyYyAtIDIgKyBuKTs8YnI+ CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9IGVsc2UgaWYgKG4gJmFtcDsgMHgwMSkgezxi cj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsvKiBjb3B5IDEgYnl0ZSAqLzxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsqZHN0ID0gKnNyYzs8YnI+CismbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDt9PGJyPgorfTxicj4KKzxicj4KK3N0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5l IHZvaWQ8YnI+CitydGVfbWVtY3B5X2dlMTZfbHQ2NCh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4 X3QgKnNyYywgc2l6ZV90IG4pPGJyPgorezxicj4KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O2lmIChuID09IDE2KSB7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO3J0ZV9tb3YxNihkc3QsIHNyYyk7PGJyPgorJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7fSBlbHNlIGlmIChuICZsdDs9IDMyKSB7PGJyPgorJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3J0ZV9tb3YxNihkc3Qs IHNyYyk7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO3J0ZV9tb3YxNihkc3QgLSAxNiArIG4sIHNyYyAtIDE2ICsgbik7PGJyPgorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fSBlbHNlIGlmIChuICZsdDs9IDQ4KSB7PGJyPgorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3J0ZV9t b3YzMihkc3QsIHNyYyk7PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO3J0ZV9tb3YxNihkc3QgLSAxNiArIG4sIHNyYyAtIDE2ICsgbik7 PGJyPgorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fSBlbHNlIHs8YnI+CismbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cnRlX21vdjQ4KGRz dCwgc3JjKTs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7cnRlX21vdjE2KGRzdCAtIDE2ICsgbiwgc3JjIC0gMTYgKyBuKTs8YnI+Cism bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9PGJyPgorfTxicj4KKzxicj4KK3N0YXRpYyBfX3J0 ZV9hbHdheXNfaW5saW5lIHZvaWQgKjxicj4KK3J0ZV9tZW1jcHkodm9pZCAqZHN0LCBjb25zdCB2 b2lkICpzcmMsIHNpemVfdCBuKTxicj4KK3s8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtpZiAobiAmZ3Q7PSA2NCk8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIG1lbWNweShkc3QsIHNyYywgbik7PGJyPgorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKG4gJmx0OyAxNikgezxicj4KKyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtydGVfbWVtY3B5X2x0 MTYoKHVpbnQ4X3QgKilkc3QsIChjb25zdCB1aW50OF90ICopc3JjLCBuKTs8YnI+CismbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIGRz dDs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9PGJyPgorJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7cnRlX21lbWNweV9nZTE2X2x0NjQoKHVpbnQ4X3QgKilkc3QsIChjb25zdCB1 aW50OF90ICopc3JjLCBuKTs8YnI+CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXR1cm4g ZHN0Ozxicj4KK308YnI+Cis8YnI+CisjaWZkZWYgX19jcGx1c3BsdXM8YnI+Cit9PGJyPgorI2Vu ZGlmPGJyPgorPGJyPgorI2Vsc2UgLyogUlRFX0FSQ0hfUklTQ1ZfTUVNQ1BZICovPGJyPgorPGJy PgombmJzcDsjaWZkZWYgX19jcGx1c3BsdXM8YnI+CiZuYnNwO2V4dGVybiAiQyIgezxicj4KJm5i c3A7I2VuZGlmPGJyPgpAQCAtNjAsNCArMTgwLDYgQEAgcnRlX21vdjI1Nih1aW50OF90ICpkc3Qs IGNvbnN0IHVpbnQ4X3QgKnNyYyk8YnI+CiZuYnNwO308YnI+CiZuYnNwOyNlbmRpZjxicj4KPGJy PgorI2VuZGlmIC8qIFJURV9BUkNIX1JJU0NWX01FTUNQWSAqLzxicj4KKzxicj4KJm5ic3A7I2Vu ZGlmIC8qIFJURV9NRU1DUFlfUklTQ1ZfSCAqLzxicj4KLS0gPGJyPgoyLjUxLjA8YnI+Cjxicj4K CQk8L2Jsb2NrcXVvdGU+Cgk8L2Rpdj4KPC9ibG9ja3F1b3RlPg== ------=_Part_321944_1118686577.1759999420111--