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 BB7D746F05; Wed, 24 Sep 2025 11:19:13 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 89FA540289; Wed, 24 Sep 2025 11:19:13 +0200 (CEST) Received: from out28-2.mail.aliyun.com (out28-2.mail.aliyun.com [115.124.28.2]) by mails.dpdk.org (Postfix) with ESMTP id 3BA404027C for ; Wed, 24 Sep 2025 11:19:11 +0200 (CEST) X-Alimail-AntiSpam: AC=CONTINUE; BC=0.07386655|-1; CH=green; DM=|CONTINUE|false|; DS=CONTINUE|ham_regular_dialog|0.0800169-0.000616366-0.919367; FP=8525451558392467392|0|0|0|0|-1|-1|-1; HT=maildocker-contentspam033037028158; MF=dimon.zhao@nebula-matrix.com; NM=1; PH=DW; RN=4; RT=4; SR=0; TI=W4_0.2.3_21206EA4_1758705440778_o7001c18k; Received: from WS-web (dimon.zhao@nebula-matrix.com[W4_0.2.3_21206EA4_1758705440778_o7001c18k] cluster:ay29) at Wed, 24 Sep 2025 17:19:09 +0800 Date: Wed, 24 Sep 2025 17:19:09 +0800 From: "Dimon" To: "Stephen Hemminger" Cc: "dev" , "Kyo Liu" , "Leon" , "Sam" Message-ID: <4219bdbc-e5ba-43b2-a968-6a3ef426eb62.dimon.zhao@nebula-matrix.com> Subject: =?UTF-8?B?5Zue5aSN77yaW1BBVENIIHYxMCAwNC8xN10gbmV0L25ibDogYWRkIENoYW5uZWwgbGF5ZXIg?= =?UTF-8?B?ZGVmaW5pdGlvbnMgYW5kIGltcGxlbWVudGF0aW9u?= X-Mailer: [Alimail-Mailagent revision 854][W4_0.2.3][null][Chrome] MIME-Version: 1.0 x-aliyun-im-through: {"version":"v1.0"} References: <20250627014022.4019625-1-dimon.zhao@nebula-matrix.com> <20250923035402.1759922-1-dimon.zhao@nebula-matrix.com> <20250923035402.1759922-5-dimon.zhao@nebula-matrix.com>, <20250923112523.6579c851@hermes.local> x-aliyun-mail-creator: W4_0.2.3_null_d2lTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwOC4wLjUzNTkuMTI1IFNhZmFyaS81MzcuMzYgZGluZ3RhbGstd2luLzEuMC4wIG53KDAuMTQuNykgRGluZ1RhbGsoNy43LjAtUmVsZWFzZS4yNTA1MjIwMDIpIE1vam8vMS4wLjAgTmF0aXZlIEFwcFR5cGUocmVsZWFzZSkgQ2hhbm5lbC8yMDEyMDAgQXJjaGl0ZWN0dXJlL3g4Nl82NA==Gs In-Reply-To: <20250923112523.6579c851@hermes.local> Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_2009_7f30e4100700_68d3b78d_4cb34" 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: , Reply-To: Dimon Errors-To: dev-bounces@dpdk.org ------=ALIBOUNDARY_2009_7f30e4100700_68d3b78d_4cb34 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGkgU3RlcGhlbiwKVGhhbmsgeW91IGZvciB5b3VyIHZhbHVhYmxlIGZlZWRiYWNrLiBJIGZ1bGx5 IHVuZGVyc3RhbmQgeW91ciBjb25jZXJuIGFib3V0IHB0aHJlYWRfY2FuY2VsLgpIb3dldmVyLCBk dWUgdG8gb3VyIGNoaXAgZGVzaWduIGNvbnN0cmFpbnRzLCBkdXJpbmcgdGhlIHJlbW92ZSBwcm9j ZXNzLCBhIGZldyBtYWlsYm94IG1lc3NhZ2VzIHdpbGwgc3RpbGwgYmUgc2VudCBhZnRlciBkaXNh YmxpbmcgbWFpbGJveCBpbnRlcnJ1cHRzLgpTaW5jZSBtYWlsYm94IGludGVycnVwdHMgYXJlIGFs cmVhZHkgY2xvc2VkIGF0IHRoaXMgcG9pbnQsIHdlIGNhbm5vdCByZWx5IG9uIHBpcGUgcmVhZHMg dG8gdHJpZ2dlciBtYWlsYm94IEFDSyByZWNlcHRpb24uClRoZXJlZm9yZSwgdGhlIGFja3Mgb2Yg dGhlc2UgbWFpbGJveCBtZXNzYWdlcyBoYXZlIHRvIGJlIHJlY2VpdmVkIHVzaW5nIHBvbGxpbmcu IFRoaXMgaXMgd2h5IHdlIG5lZWQgdGhlIE5CTF9DSEFOX0lOVEVSUlVQVF9SRUFEWSBmbGFnLgpJ J3ZlIGltcGxlbWVudGVkIGFuIGFsdGVybmF0aXZlLCBhZGRpbmcgYSBzdGF0ZSBmbGFnIE5CTF9D SEFOX1RFQVJET1dOIHRvIG5vdGlmeSB0aGUgcG9sbGluZyB0YXNrIHRvIGV4aXQuCkhlcmUncyB0 aGUgY29kZSBtb2RpZmljYXRpb24uCkkndmUgdGVzdGVkIHRoaXMgb24gb3VyIGhhcmR3YXJlIGFu ZCBpdCB3b3JrcyBmaW5lLgpEbyB5b3UgdGhpbmsgdGhpcyBtb2RpZmljYXRpb24gaXMgb2theT8K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5uZWwuYyBiL2RyaXZl cnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5uZWwuYwppbmRleCBhNjgwNjA3OTljLi5jODU3MmIz YjRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9uYmwvbmJsX2h3L25ibF9jaGFubmVsLmMKKysr IGIvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxfY2hhbm5lbC5jCiBzdGF0aWMgdWludDMyX3Qg bmJsX2NoYW5fdGhyZWFkX3BvbGxpbmdfdGFzayh2b2lkICpwYXJhbSkKIHsKIHN0cnVjdCBuYmxf Y2hhbm5lbF9tZ3QgKmNoYW5fbWd0ID0gKHN0cnVjdCBuYmxfY2hhbm5lbF9tZ3QgKilwYXJhbTsK IHVuaW9uIG5ibF9jaGFuX2luZm8gKmNoYW5faW5mbyA9IE5CTF9DSEFOX01HVF9UT19DSEFOX0lO Rk8oY2hhbl9tZ3QpOwogc3RydWN0IHRpbWVzcGVjIHRpbWU7CiBjaGFyIHVudXNlZFsxNl07CiBz c2l6ZV90IG5yID0gMDsKIHRpbWUudHZfc2VjID0gMDsKIHRpbWUudHZfbnNlYyA9IDEwMDAwMDsK IHdoaWxlICh0cnVlKSB7CiBpZiAocnRlX2JpdG1hcF9nZXQoY2hhbl9pbmZvLT5tYWlsYm94LnN0 YXRlX2JtcCwgTkJMX0NIQU5fSU5URVJSVVBUX1JFQURZKSkgewogbnIgPSByZWFkKGNoYW5faW5m by0+bWFpbGJveC5mZFswXSwgJnVudXNlZCwgc2l6ZW9mKHVudXNlZCkpOwogaWYgKG5yIDwgMCkK IGJyZWFrOwotIH0KKyB9IGVsc2UgaWYgKHJ0ZV9iaXRtYXBfZ2V0KGNoYW5faW5mby0+bWFpbGJv eC5zdGF0ZV9ibXAsIE5CTF9DSEFOX1RFQVJET1dOKSkgeworIGJyZWFrOworIH0KIG5ibF9jaGFu X2NsZWFuX3F1ZXVlKGNoYW5fbWd0KTsKIG5hbm9zbGVlcCgmdGltZSwgMCk7CiB9CiByZXR1cm4g MDsKIH0KIHN0YXRpYyBpbnQgbmJsX2NoYW5fdGFza19maW5pc2godm9pZCAqcHJpdikKIHsKIHN0 cnVjdCBuYmxfY2hhbm5lbF9tZ3QgKmNoYW5fbWd0ID0gKHN0cnVjdCBuYmxfY2hhbm5lbF9tZ3Qg Kilwcml2OwogdW5pb24gbmJsX2NoYW5faW5mbyAqY2hhbl9pbmZvID0gTkJMX0NIQU5fTUdUX1RP X0NIQU5fSU5GTyhjaGFuX21ndCk7Ci0gcHRocmVhZF9jYW5jZWwoKHB0aHJlYWRfdCljaGFuX2lu Zm8tPm1haWxib3gudGlkLm9wYXF1ZV9pZCk7CisgLyogc2V0IHRlYXJkb3duIHN0YXRlIHRvIGNh dXNlIG1haWxib3ggdGhyZWFkIHRvIGV4aXQgKi8KKyBuYmxfY2hhbl9zZXRfcXVldWVfc3RhdGUo cHJpdiwgTkJMX0NIQU5fVEVBUkRPV04sIHRydWUpOwogY2xvc2UoY2hhbl9pbmZvLT5tYWlsYm94 LmZkWzBdKTsKIGNsb3NlKGNoYW5faW5mby0+bWFpbGJveC5mZFsxXSk7CiBjaGFuX2luZm8tPm1h aWxib3guZmRbMF0gPSAtMTsKIGNoYW5faW5mby0+bWFpbGJveC5mZFsxXSA9IC0xOwogcnRlX3Ro cmVhZF9qb2luKGNoYW5faW5mby0+bWFpbGJveC50aWQsIE5VTEwpOwogcmV0dXJuIDA7CiB9Ci0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQrlj5Hku7bkurrvvJpTdGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1 bWJlci5vcmc+CuWPkemAgeaXtumXtO+8mjIwMjXlubQ55pyIMjTml6Uo5ZGo5LiJKSAwMjoyNQrm lLbku7bkurrvvJpEaW1vbjxkaW1vbi56aGFvQG5lYnVsYS1tYXRyaXguY29tPgrmioTjgIDpgIHv vJpkZXY8ZGV2QGRwZGsub3JnPjsgS3lvIExpdTxreW8ubGl1QG5lYnVsYS1tYXRyaXguY29tPjsg TGVvbjxsZW9uLnl1QG5lYnVsYS1tYXRyaXguY29tPjsgU2FtPHNhbS5jaGVuQG5lYnVsYS1tYXRy aXguY29tPgrkuLvjgIDpopjvvJpSZTogW1BBVENIIHYxMCAwNC8xN10gbmV0L25ibDogYWRkIENo YW5uZWwgbGF5ZXIgZGVmaW5pdGlvbnMgYW5kIGltcGxlbWVudGF0aW9uCk9uIE1vbiwgMjIgU2Vw IDIwMjUgMjA6NTM6NDkgLTA3MDAKRGltb24gWmhhbyA8ZGltb24uemhhb0BuZWJ1bGEtbWF0cml4 LmNvbT4gd3JvdGU6Cj4gKwo+ICtzdGF0aWMgaW50IG5ibF9jaGFuX3Rhc2tfZmluaXNoKHZvaWQg KnByaXYpCj4gK3sKPiArIHN0cnVjdCBuYmxfY2hhbm5lbF9tZ3QgKmNoYW5fbWd0ID0gKHN0cnVj dCBuYmxfY2hhbm5lbF9tZ3QgKilwcml2Owo+ICsgdW5pb24gbmJsX2NoYW5faW5mbyAqY2hhbl9p bmZvID0gTkJMX0NIQU5fTUdUX1RPX0NIQU5fSU5GTyhjaGFuX21ndCk7Cj4gKwo+ICsgcHRocmVh ZF9jYW5jZWwoKHB0aHJlYWRfdCljaGFuX2luZm8tPm1haWxib3gudGlkLm9wYXF1ZV9pZCk7Cj4g KyBjbG9zZShjaGFuX2luZm8tPm1haWxib3guZmRbMF0pOwo+ICsgY2xvc2UoY2hhbl9pbmZvLT5t YWlsYm94LmZkWzFdKTsKPiArIGNoYW5faW5mby0+bWFpbGJveC5mZFswXSA9IC0xOwo+ICsgY2hh bl9pbmZvLT5tYWlsYm94LmZkWzFdID0gLTE7Cj4gKyBydGVfdGhyZWFkX2pvaW4oY2hhbl9pbmZv LT5tYWlsYm94LnRpZCwgTlVMTCk7Cj4gKyByZXR1cm4gMDsKPiArfQpVc2luZyBwdGhyZWFkX2Nh bmNlbCBoYXMgYSBjb3VwbGUgb2YgcHJvYmxlbXM6IHB0aHJlYWRfY2FuY2VsIHVzZXMgYSBzaWdu YWwgYW5kIHRoZXJlIGlzIG5vIHNhZmUgZXF1aXZhbGVudCBvbiBXaW5kb3dzCkEgYmV0dGVyIGFs dGVybmF0aXZlIGlzIHRvIGp1c3QgY2xvc2UgdGhlIHBpcGUgYW5kIHRoZW4gdGhlIHJlYWQKd2ls bCBzYWZlbHkgZXhpdCB0aGUgcmVhZCgpLiBTb21ldGhpbmcgbGlrZSB0aGlzOgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxfY2hhbm5lbC5jIGIvZHJpdmVycy9uZXQvbmJs L25ibF9ody9uYmxfY2hhbm5lbC5jCmluZGV4IGE2ODA2MDc5OWMuLmM4NTcyYjNiNGEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5uZWwuYworKysgYi9kcml2ZXJz L25ldC9uYmwvbmJsX2h3L25ibF9jaGFubmVsLmMKQEAgLTU1MSw3ICs1NTEsNyBAQCBzdGF0aWMg aW50IG5ibF9jaGFuX3Rhc2tfZmluaXNoKHZvaWQgKnByaXYpCiBzdHJ1Y3QgbmJsX2NoYW5uZWxf bWd0ICpjaGFuX21ndCA9IChzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICopcHJpdjsKIHVuaW9uIG5i bF9jaGFuX2luZm8gKmNoYW5faW5mbyA9IE5CTF9DSEFOX01HVF9UT19DSEFOX0lORk8oY2hhbl9t Z3QpOwotIHB0aHJlYWRfY2FuY2VsKChwdGhyZWFkX3QpY2hhbl9pbmZvLT5tYWlsYm94LnRpZC5v cGFxdWVfaWQpOworIC8qIGNsb3NpbmcgcGlwZSB3aWxsIGNhdXNlIG1haWxib3ggdGhyZWFkIHRv IGV4aXQgKi8KIGNsb3NlKGNoYW5faW5mby0+bWFpbGJveC5mZFswXSk7CiBjbG9zZShjaGFuX2lu Zm8tPm1haWxib3guZmRbMV0pOwogY2hhbl9pbmZvLT5tYWlsYm94LmZkWzBdID0gLTE7Ck9idmlv dXNseSwgSSBkb24ndCBoYXZlIGhhcmR3YXJlIHNvIG5vdCB0ZXN0ZWQuClllcywgb3RoZXIgZHJp dmVycyBjYWxsIHB0aHJlYWRfY2FuY2VsKCkgYW5kIEkgYW0gd29ya2luZyBvbiBhbiBSRkMKcGF0 Y2ggc2VyaWVzIHRvIGVsaW1pbmF0ZSBhbGwgdGhvc2UgcGxhY2VzLgo= ------=ALIBOUNDARY_2009_7f30e4100700_68d3b78d_4cb34 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBjbGFzcz0iX19hbGl5dW5fZW1haWxfYm9keV9ibG9jayI+PGRpdiAgc3R5bGU9ImZvbnQt ZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1biI+PGRpdiAgc3R5 bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlh bCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij5IaSBTdGVwaGVuLDwvc3Bhbj48L2Rpdj48ZGl2 ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAg c3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1 bjsiPjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBz dHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3Vu OyI+VGhhbmsgeW91IGZvciB5b3VyIHZhbHVhYmxlIGZlZWRiYWNrLiBJIGZ1bGx5IHVuZGVyc3Rh bmQgeW91ciBjb25jZXJuIGFib3V0IHB0aHJlYWRfY2FuY2VsLjxiciA+PC9zcGFuPjwvZGl2Pjxk aXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9t YSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+PGJyID48L3NwYW4+PC9kaXY+PGRp diAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21h LCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij5Ib3dldmVyLCBkdWUgdG8gb3VyIGNo aXAgZGVzaWduIGNvbnN0cmFpbnRzLCBkdXJpbmcgdGhlIHJlbW92ZSBwcm9jZXNzLCBhIGZldyBt YWlsYm94IG1lc3NhZ2VzIHdpbGwgc3RpbGwgYmUgc2VudCBhZnRlciBkaXNhYmxpbmcgbWFpbGJv eCBpbnRlcnJ1cHRzLjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3Bh biAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNp bVN1bjsiPlNpbmNlIG1haWxib3ggaW50ZXJydXB0cyBhcmUgYWxyZWFkeSBjbG9zZWQgYXQgdGhp cyBwb2ludCwgd2UgY2Fubm90IHJlbHkgb24gcGlwZSByZWFkcyB0byB0cmlnZ2VyIG1haWxib3gg QUNLIHJlY2VwdGlvbi48YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7 Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGln aHQsIFNpbVN1bjsiPlRoZXJlZm9yZSwgdGhlIGFja3Mgb2YgdGhlc2UgbWFpbGJveCBtZXNzYWdl cyBoYXZlIHRvIGJlIHJlY2VpdmVkIHVzaW5nIHBvbGxpbmcuIFRoaXMgaXMgd2h5IHdlIG5lZWQg dGhlIE5CTF9DSEFOX0lOVEVSUlVQVF9SRUFEWSBmbGFnLjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHls ZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFs LCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxl PSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWws IFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+SSd2ZSBpbXBsZW1lbnRlZCBhbiBhbHRlcm5hdGl2 ZSwgYWRkaW5nIGEgc3RhdGUgZmxhZyBOQkxfQ0hBTl9URUFSRE9XTiB0byBub3RpZnkgdGhlIHBv bGxpbmcgdGFzayB0byBleGl0LjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjog Ym90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlT Qy1MaWdodCwgU2ltU3VuOyI+SGVyZSdzIHRoZSBjb2RlIG1vZGlmaWNhdGlvbi48YnIgPjwvc3Bh bj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFt aWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPkkndmUgdGVzdGVk IHRoaXMgb24gb3VyIGhhcmR3YXJlIGFuZCBpdCB3b3JrcyBmaW5lLjxiciA+PC9zcGFuPjwvZGl2 PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRh aG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+RG8geW91IHRoaW5rIHRoaXMg bW9kaWZpY2F0aW9uIGlzIG9rYXk/PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFy OiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0 aVNDLUxpZ2h0LCBTaW1TdW47Ij48YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6 IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRp U0MtTGlnaHQsIFNpbVN1bjsiPjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjog Ym90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlT Qy1MaWdodCwgU2ltU3VuOyI+PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBi b3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVND LUxpZ2h0LCBTaW1TdW47Ij5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxf Y2hhbm5lbC5jIGIvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxfY2hhbm5lbC5jPGJyID48L3Nw YW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZh bWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij5pbmRleCBhNjgw NjA3OTljLi5jODU3MmIzYjRhIDEwMDY0NDxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJj bGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNU SGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+LS0tIGEvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxf Y2hhbm5lbC5jPGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNw YW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBT aW1TdW47Ij4rKysgYi9kcml2ZXJzL25ldC9uYmwvbmJsX2h3L25ibF9jaGFubmVsLmM8YnIgPjwv c3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48YnIgPjwvZGl2PjxkaXYgIHN0 eWxlPSJjbGVhcjogYm90aDsiPjxiciA+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+ PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0 LCBTaW1TdW47Ij4gc3RhdGljIHVpbnQzMl90IG5ibF9jaGFuX3RocmVhZF9wb2xsaW5nX3Rhc2so dm9pZCAqcGFyYW0pPGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+ PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0 LCBTaW1TdW47Ij4gezxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsi PjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdo dCwgU2ltU3VuOyI+ICZuYnNwOyBzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICpjaGFuX21ndCA9IChz dHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICopcGFyYW07PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5 bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlh bCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gJm5ic3A7IHVuaW9uIG5ibF9jaGFuX2luZm8g KmNoYW5faW5mbyA9IE5CTF9DSEFOX01HVF9UT19DSEFOX0lORk8oY2hhbl9tZ3QpOzxiciA+PC9z cGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1m YW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ICZuYnNwOyBz dHJ1Y3QgdGltZXNwZWMgdGltZTs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6 IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRp U0MtTGlnaHQsIFNpbVN1bjsiPiAmbmJzcDsgY2hhciB1bnVzZWRbMTZdOzxiciA+PC9zcGFuPjwv ZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6 IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ICZuYnNwOyBzc2l6ZV90 IG5yID0gMDs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3Bh biAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNp bVN1bjsiPjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFu ICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2lt U3VuOyI+ICZuYnNwOyB0aW1lLnR2X3NlYyA9IDA7PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5 bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlh bCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gJm5ic3A7IHRpbWUudHZfbnNlYyA9IDEwMDAw MDs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5 bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsi PjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHls ZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ ICZuYnNwOyB3aGlsZSAodHJ1ZSkgezxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVh cjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVp dGlTQy1MaWdodCwgU2ltU3VuOyI+ICZuYnNwOyAmbmJzcDsgaWYgKHJ0ZV9iaXRtYXBfZ2V0KGNo YW5faW5mby0mZ3Q7bWFpbGJveC5zdGF0ZV9ibXAsIE5CTF9DSEFOX0lOVEVSUlVQVF9SRUFEWSkp IHs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5 bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsi PiAmbmJzcDsgJm5ic3A7ICZuYnNwOyBuciA9IHJlYWQoY2hhbl9pbmZvLSZndDttYWlsYm94LmZk WzBdLCAmYW1wO3VudXNlZCwgc2l6ZW9mKHVudXNlZCkpOzxiciA+PC9zcGFuPjwvZGl2PjxkaXYg IHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwg QXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlm IChuciAmbHQ7IDApPGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+ PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0 LCBTaW1TdW47Ij4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGJyZWFrOzxiciA+PC9zcGFu PjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1p bHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+LSAmbmJzcDsgJm5i c3A7IH08YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAg c3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1 bjsgY29sb3I6IHJnYigwLCAxNzYsIDgwKTsiPisgJm5ic3A7ICZuYnNwOyB9IGVsc2UgaWYgKHJ0 ZV9iaXRtYXBfZ2V0KGNoYW5faW5mby0mZ3Q7bWFpbGJveC5zdGF0ZV9ibXAsIE5CTF9DSEFOX1RF QVJET1dOKSkgezxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxz cGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwg U2ltU3VuOyBjb2xvcjogcmdiKDAsIDE3NiwgODApOyI+KyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBi cmVhazs8L3NwYW4+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RI ZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij48YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xl YXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhl aXRpU0MtTGlnaHQsIFNpbVN1bjsiPisgJm5ic3A7ICZuYnNwOyB9PGJyID48L3NwYW4+PC9kaXY+ PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFo b21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij48YnIgPjwvc3Bhbj48L2Rpdj48 ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhv bWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPiAmbmJzcDsgJm5ic3A7IG5ibF9j aGFuX2NsZWFuX3F1ZXVlKGNoYW5fbWd0KTs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0i Y2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBT VEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPiAmbmJzcDsgJm5ic3A7IG5hbm9zbGVlcCgmYW1wO3Rp bWUsIDApOzxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFu ICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2lt U3VuOyI+ICZuYnNwOyB9PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3Ro OyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxp Z2h0LCBTaW1TdW47Ij48YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7 Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGln aHQsIFNpbVN1bjsiPiAmbmJzcDsgcmV0dXJuIDA7PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5 bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlh bCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gfTxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0 eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJp YWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5 bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlh bCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gc3RhdGljIGludCBuYmxfY2hhbl90YXNrX2Zp bmlzaCh2b2lkICpwcml2KTxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90 aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1M aWdodCwgU2ltU3VuOyI+IHs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJv dGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0Mt TGlnaHQsIFNpbVN1bjsiPiAmbmJzcDsgc3RydWN0IG5ibF9jaGFubmVsX21ndCAqY2hhbl9tZ3Qg PSAoc3RydWN0IG5ibF9jaGFubmVsX21ndCAqKXByaXY7PGJyID48L3NwYW4+PC9kaXY+PGRpdiAg c3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBB cmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gJm5ic3A7IHVuaW9uIG5ibF9jaGFuX2lu Zm8gKmNoYW5faW5mbyA9IE5CTF9DSEFOX01HVF9UT19DSEFOX0lORk8oY2hhbl9tZ3QpOzxiciA+ PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9u dC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+PGJyID48 L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJjb2xv cjogcmdiKDAsIDE3NiwgODApOyBmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVND LUxpZ2h0LCBTaW1TdW47Ij4tICZuYnNwOyBwdGhyZWFkX2NhbmNlbCgocHRocmVhZF90KWNoYW5f aW5mby0mZ3Q7bWFpbGJveC50aWQub3BhcXVlX2lkKTs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBz dHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMTc2LCA4MCk7 IGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPisg Jm5ic3A7IC8qIHNldCB0ZWFyZG93biBzdGF0ZSB0byBjYXVzZSBtYWlsYm94IHRocmVhZCB0byBl eGl0ICovPGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4g IHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1T dW47IGNvbG9yOiByZ2IoMCwgMTc2LCA4MCk7Ij4rICZuYnNwOyBuYmxfY2hhbl9zZXRfcXVldWVf c3RhdGUocHJpdiwgTkJMX0NIQU5fVEVBUkRPV04sIHRydWUpOzwvc3Bhbj48c3BhbiAgc3R5bGU9 ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPjxi ciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0i Zm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ICZu YnNwOyBjbG9zZShjaGFuX2luZm8tJmd0O21haWxib3guZmRbMF0pOzxiciA+PC9zcGFuPjwvZGl2 PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRh aG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ICZuYnNwOyBjbG9zZShjaGFu X2luZm8tJmd0O21haWxib3guZmRbMV0pOzxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJj bGVhcjogYm90aDsiPjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNU SGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+ICZuYnNwOyBjaGFuX2luZm8tJmd0O21haWxib3guZmRb MF0gPSAtMTs8YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3Bh biAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNp bVN1bjsiPiAmbmJzcDsgY2hhbl9pbmZvLSZndDttYWlsYm94LmZkWzFdID0gLTE7PGJyID48L3Nw YW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gIHN0eWxlPSJmb250LWZh bWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gJm5ic3A7IHJ0 ZV90aHJlYWRfam9pbihjaGFuX2luZm8tJmd0O21haWxib3gudGlkLCBOVUxMKTs8YnIgPjwvc3Bh bj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFt aWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPiAmbmJzcDsgcmV0 dXJuIDA7PGJyID48L3NwYW4+PC9kaXY+PGRpdiA+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTog VGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij4gfTwvc3Bhbj48L2Rpdj48 c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQs IFNpbVN1bjsiPjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxz cGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwg U2ltU3VuOyI+PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNw YW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBT aW1TdW47Ij48YnIgPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3Bh biAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNp bVN1bjsiPjxiciA+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFu ICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2lt U3VuOyI+PGJyID48L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4g IHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1T dW47Ij48YnIgPjwvc3Bhbj48L2Rpdj48YmxvY2txdW90ZSAgX3F1b3RlPSIxIiBzdHlsZT0ibWFy Z2luLXJpZ2h0OiAwcHg7IG1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4OyBmb250 LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aSwgU2ltU3VuOyBmb250LXNpemU6IDE0cHg7 IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij48ZGl2ICBjbGFzcz0iYWxpbWFpbC1xdW90ZSI+PGRpdiAg c3R5bGU9ImNsZWFyOiBib3RoOyI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBi b3RoOyI+5Y+R5Lu25Lq677yaU3RlcGhlbiBIZW1taW5nZXIgJmx0O3N0ZXBoZW5AbmV0d29ya3Bs dW1iZXIub3JnJmd0OzwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPuWPkemAgeaXtumX tO+8mjIwMjXlubQ55pyIMjTml6Uo5ZGo5LiJKSAwMjoyNTwvZGl2PjxkaXYgIHN0eWxlPSJjbGVh cjogYm90aDsiPuaUtuS7tuS6uu+8mkRpbW9uJmx0O2RpbW9uLnpoYW9AbmVidWxhLW1hdHJpeC5j b20mZ3Q7PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+5oqE44CA6YCB77yaZGV2Jmx0 O2RldkBkcGRrLm9yZyZndDs7IEt5byBMaXUmbHQ7a3lvLmxpdUBuZWJ1bGEtbWF0cml4LmNvbSZn dDs7IExlb24mbHQ7bGVvbi55dUBuZWJ1bGEtbWF0cml4LmNvbSZndDs7IFNhbSZsdDtzYW0uY2hl bkBuZWJ1bGEtbWF0cml4LmNvbSZndDs8L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij7k uLvjgIDpopjvvJpSZTogW1BBVENIIHYxMCAwNC8xN10gbmV0L25ibDogYWRkIENoYW5uZWwgbGF5 ZXIgZGVmaW5pdGlvbnMgYW5kIGltcGxlbWVudGF0aW9uPC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFy OiBib3RoOyI+PGJyID48L2Rpdj5PbiBNb24sIDIyIFNlcCAyMDI1IDIwOjUzOjQ5IC0wNzAwPGJy ID5EaW1vbiBaaGFvICZsdDtkaW1vbi56aGFvQG5lYnVsYS1tYXRyaXguY29tJmd0OyB3cm90ZTo8 YnIgPjxiciA+Jmd0OyArPGJyID4mZ3Q7ICtzdGF0aWMgaW50IG5ibF9jaGFuX3Rhc2tfZmluaXNo KHZvaWQgKnByaXYpPGJyID4mZ3Q7ICt7PGJyID4mZ3Q7ICsgc3RydWN0IG5ibF9jaGFubmVsX21n dCAqY2hhbl9tZ3QgPSAoc3RydWN0IG5ibF9jaGFubmVsX21ndCAqKXByaXY7PGJyID4mZ3Q7ICsg dW5pb24gbmJsX2NoYW5faW5mbyAqY2hhbl9pbmZvID0gTkJMX0NIQU5fTUdUX1RPX0NIQU5fSU5G TyhjaGFuX21ndCk7PGJyID4mZ3Q7ICs8YnIgPiZndDsgKyBwdGhyZWFkX2NhbmNlbCgocHRocmVh ZF90KWNoYW5faW5mby0mZ3Q7bWFpbGJveC50aWQub3BhcXVlX2lkKTs8YnIgPiZndDsgKyBjbG9z ZShjaGFuX2luZm8tJmd0O21haWxib3guZmRbMF0pOzxiciA+Jmd0OyArIGNsb3NlKGNoYW5faW5m by0mZ3Q7bWFpbGJveC5mZFsxXSk7PGJyID4mZ3Q7ICsgY2hhbl9pbmZvLSZndDttYWlsYm94LmZk WzBdID0gLTE7PGJyID4mZ3Q7ICsgY2hhbl9pbmZvLSZndDttYWlsYm94LmZkWzFdID0gLTE7PGJy ID4mZ3Q7ICsgcnRlX3RocmVhZF9qb2luKGNoYW5faW5mby0mZ3Q7bWFpbGJveC50aWQsIE5VTEwp OzxiciA+Jmd0OyArIHJldHVybiAwOzxiciA+Jmd0OyArfTxiciA+PGJyID5Vc2luZyBwdGhyZWFk X2NhbmNlbCBoYXMgYSBjb3VwbGUgb2YgcHJvYmxlbXM6IHB0aHJlYWRfY2FuY2VsIHVzZXMgYSBz aWduYWwgYW5kIHRoZXJlIGlzIG5vIHNhZmUgZXF1aXZhbGVudCBvbiBXaW5kb3dzPGJyID48YnIg PkEgYmV0dGVyIGFsdGVybmF0aXZlIGlzIHRvIGp1c3QgY2xvc2UgdGhlIHBpcGUgYW5kIHRoZW4g dGhlIHJlYWQ8YnIgPndpbGwgc2FmZWx5IGV4aXQgdGhlIHJlYWQoKS4mbmJzcDsgU29tZXRoaW5n IGxpa2UgdGhpczo8YnIgPjxiciA+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcv bmJsX2NoYW5uZWwuYyBiL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5uZWwuYzxiciA+ aW5kZXggYTY4MDYwNzk5Yy4uYzg1NzJiM2I0YSAxMDA2NDQ8YnIgPi0tLSBhL2RyaXZlcnMvbmV0 L25ibC9uYmxfaHcvbmJsX2NoYW5uZWwuYzxiciA+KysrIGIvZHJpdmVycy9uZXQvbmJsL25ibF9o dy9uYmxfY2hhbm5lbC5jPGJyID5AQCAtNTUxLDcgKzU1MSw3IEBAIHN0YXRpYyBpbnQgbmJsX2No YW5fdGFza19maW5pc2godm9pZCAqcHJpdik8YnIgPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICpjaGFuX21ndCA9IChzdHJ1Y3QgbmJsX2NoYW5uZWxf bWd0ICopcHJpdjs8YnIgPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB1bmlvbiBuYmxfY2hh bl9pbmZvICpjaGFuX2luZm8gPSBOQkxfQ0hBTl9NR1RfVE9fQ0hBTl9JTkZPKGNoYW5fbWd0KTs8 YnIgPiA8YnIgPi0gJm5ic3A7ICZuYnNwOyAmbmJzcDsgcHRocmVhZF9jYW5jZWwoKHB0aHJlYWRf dCljaGFuX2luZm8tJmd0O21haWxib3gudGlkLm9wYXF1ZV9pZCk7PGJyID4rICZuYnNwOyAmbmJz cDsgJm5ic3A7IC8qIGNsb3NpbmcgcGlwZSB3aWxsIGNhdXNlIG1haWxib3ggdGhyZWFkIHRvIGV4 aXQgKi88YnIgPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBjbG9zZShjaGFuX2luZm8tJmd0 O21haWxib3guZmRbMF0pOzxiciA+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGNsb3NlKGNo YW5faW5mby0mZ3Q7bWFpbGJveC5mZFsxXSk7PGJyID4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgY2hhbl9pbmZvLSZndDttYWlsYm94LmZkWzBdID0gLTE7PGJyID48YnIgPk9idmlvdXNseSwg SSBkb24ndCBoYXZlIGhhcmR3YXJlIHNvIG5vdCB0ZXN0ZWQuPGJyID48YnIgPlllcywgb3RoZXIg ZHJpdmVycyBjYWxsIHB0aHJlYWRfY2FuY2VsKCkgYW5kIEkgYW0gd29ya2luZyBvbiBhbiBSRkM8 YnIgPnBhdGNoIHNlcmllcyB0byBlbGltaW5hdGUgYWxsIHRob3NlIHBsYWNlcy48L2Rpdj48L2Js b2NrcXVvdGU+PGRpdiAgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyMHB4OyBjbGVhcjogYm90aDsiPjxi ciA+PC9kaXY+PC9kaXY+PC9kaXY+DQo8ZGl2IHN0eWxlPSJjbGVhcjogYm90aDsiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6IDEwcHg7IGNvbG9yOiByZ2IoMjE2LCAyMTYsIDIxNik7Ij7mnKzpgq7k u7bmiYDlkKvkv6Hmga/lj4rlhbbku7vkvZXpmYTku7bkuLrkv53lr4bkv6Hmga/kuJTlj6/og73l sZ7kuo7kuJPmnInkv6Hmga/jgILku7vkvZXpnZ7mjIflrprmjqXmlLbkurrlnYfml6DmnYPorr/p l67mnKzpgq7ku7bjgILlpoLmnpzmgqjkuI3mmK/or6Xpgq7ku7bnmoTmjIflrprmjqXmlLbkurrv vIzpgqPkuYjku7vkvZXlr7nmnKzpgq7ku7blhoXlrrnov5vooYzmiqvpnLLvvIzlpI3liLbmiJbk vb/nlKjnmoTooYzkuLrlnYfmmK/npoHmraLnmoTjgILlpoLmnpzmgqjkuI3mmK/or6Xpgq7ku7bn moTmjIflrprmjqXmlLbkurrvvIzor7fmgqjnq4vljbPpgJrov4fpgq7ku7bpgJrnn6UmbmJzcDtj b21wbGlhbmNlQG5lYnVsYS1tYXRyaXguY29t5bm256uL5Y2z5Yig6Zmk5oKo6ZSZ6K+v5o6l5Y+X 55qE6YKu5Lu244CCPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZTogMTBweDsgY29sb3I6IHJnYigyMTYsIDIxNiwgMjE2KTsiPlRoZSZu YnNwO2luZm9ybWF0aW9uJm5ic3A7aW4mbmJzcDt0aGlzJm5ic3A7bWVzc2FnZSZuYnNwO2FuZCZu YnNwO2FueSZuYnNwO2F0dGFjaG1lbnRzJm5ic3A7aXMmbmJzcDtjb25maWRlbnRpYWwmbmJzcDth bmQmbmJzcDttYXkmbmJzcDtiZSZuYnNwO3ByaXZpbGVnZWQuJm5ic3A7Jm5ic3A7QWNjZXNzJm5i c3A7dG8mbmJzcDt0aGlzJm5ic3A7ZW1haWwmbmJzcDtieSZuYnNwO2FueW9uZSZuYnNwO290aGVy Jm5ic3A7dGhhbiZuYnNwO3RoZSZuYnNwO2ludGVuZGVkJm5ic3A7cmVjaXBpZW50Jm5ic3A7aXMm bmJzcDtub3QmbmJzcDthdXRob3JpemVkLiZuYnNwOyZuYnNwO0lmJm5ic3A7eW91Jm5ic3A7YXJl Jm5ic3A7bm90Jm5ic3A7dGhlJm5ic3A7aW50ZW5kZWQmbmJzcDtyZWNpcGllbnQsJm5ic3A7ZGlz Y2xvc3VyZSwmbmJzcDtjb3B5aW5nJm5ic3A7b3ImbmJzcDt1c2UmbmJzcDtvZiZuYnNwO3RoZSZu YnNwO2NvbnRlbnRzJm5ic3A7b2YmbmJzcDt0aGlzJm5ic3A7ZW1haWwmbmJzcDtpcyZuYnNwO3By b2hpYml0ZWQuJm5ic3A7Jm5ic3A7SWYmbmJzcDt5b3UmbmJzcDthcmUmbmJzcDtub3QmbmJzcDt0 aGUmbmJzcDtpbnRlbmRlZCZuYnNwO3JlY2lwaWVudCwmbmJzcDtwbGVhc2UmbmJzcDtub3RpZnkm bmJzcDsmbmJzcDtjb21wbGlhbmNlQG5lYnVsYS1tYXRyaXguY29tJm5ic3A7aW1tZWRpYXRlbHkm bmJzcDtieSZuYnNwO2VtYWlsLCZuYnNwO2FuZCZuYnNwO3BsZWFzZSZuYnNwO2Rlc3Ryb3kmbmJz cDt0aGUmbmJzcDtlbWFpbCZuYnNwO3lvdSZuYnNwO3JlY2VpdmVkJm5ic3A7aW4mbmJzcDtlcnJv ci48L3NwYW4+PC9kaXY+ ------=ALIBOUNDARY_2009_7f30e4100700_68d3b78d_4cb34--