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 2A83946283; Fri, 21 Feb 2025 03:19:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D1CBF410DC; Fri, 21 Feb 2025 03:17:36 +0100 (CET) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by mails.dpdk.org (Postfix) with ESMTP id 80E4840E2F for ; Fri, 21 Feb 2025 03:17:20 +0100 (CET) Received: from mse-fl2.zte.com.cn (unknown [10.5.228.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxhk.zte.com.cn (FangMail) with ESMTPS id 4YzYg33zvSz5B1J5; Fri, 21 Feb 2025 10:17:19 +0800 (CST) Received: from szxl2zmapp07.zte.com.cn ([10.1.32.52]) by mse-fl2.zte.com.cn with SMTP id 51L2GsN5014349; Fri, 21 Feb 2025 10:16:54 +0800 (+08) (envelope-from wang.junlong1@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Fri, 21 Feb 2025 10:16:55 +0800 X-Zmail-TransId: 3e8167b7e217004-f0a40 From: Junlong Wang To: stephen@networkplumber.org Cc: dev@dpdk.org, Junlong Wang Subject: [PATCH v2 09/16] net/zxdh: optimize RSS/RETA hash config/update/get Date: Fri, 21 Feb 2025 10:03:37 +0800 Message-ID: <20250221020346.494392-10-wang.junlong1@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250221020346.494392-1-wang.junlong1@zte.com.cn> References: <20250213064134.88166-2-wang.junlong1@zte.com.cn> <20250221020346.494392-1-wang.junlong1@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl2.zte.com.cn 51L2GsN5014349 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 67B7E22F.001/4YzYg33zvSz5B1J5 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 --=====_001_next===== Content-Type: multipart/related; boundary="=====_002_next=====" --=====_002_next===== Content-Type: multipart/alternative; boundary="=====_003_next=====" --=====_003_next===== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 b3B0aW1pemUgUlNTIGhhc2ggY29uZmlnL3VwZGF0ZSxSRVRBIHVwZGF0ZS9nZXQuDQoNClNpZ25l ZC1vZmYtYnk6IEp1bmxvbmcgV2FuZyA8d2FuZy5qdW5sb25nMUB6dGUuY29tLmNuPg0KLS0tDQog ZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYyB8ICAgMSAtDQogZHJpdmVycy9uZXQv enhkaC96eGRoX21zZy5jICAgICAgICB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr Kw0KIDIgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCg0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9ldGhkZXZfb3BzLmMgYi9kcml2ZXJz L25ldC96eGRoL3p4ZGhfZXRoZGV2X29wcy5jDQppbmRleCBlYzgzZTg4NTBjLi44YjUxODc3NDg5 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYw0KKysrIGIv ZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYw0KQEAgLTExNDQsNyArMTE0NCw2IEBA IHp4ZGhfcnNzX2hhc2hfY29uZl9nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBy dGVfZXRoX3Jzc19jb25mICpyc3NfY29uDQogCQl9DQogCQlyZXBseV9tc2cucmVwbHlfYm9keS5y c3NfaGYucnNzX2hmID0gcG9ydF9hdHRyLnJzc19oYXNoX2ZhY3RvcjsNCiAJfSBlbHNlIHsNCi0J CXp4ZGhfbXNnX2hlYWRfYnVpbGQoaHcsIFpYREhfUlNTX0hGX1NFVCwgJm1zZyk7DQogCQlyZXQg PSB6eGRoX3ZmX3NlbmRfbXNnX3RvX3BmKGRldiwgJm1zZywgc2l6ZW9mKHN0cnVjdCB6eGRoX21z Z19pbmZvKSwNCiAJCQkJJnJlcGx5X21zZywgc2l6ZW9mKHN0cnVjdCB6eGRoX21zZ19yZXBseV9p bmZvKSk7DQogCQlpZiAocmV0KSB7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvenhkaC96eGRo X21zZy5jIGIvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jDQppbmRleCBkOWYyMTJlNjQyLi5l ZmEyOGU3YjE3IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jDQorKysg Yi9kcml2ZXJzL25ldC96eGRoL3p4ZGhfbXNnLmMNCkBAIC0xNTQ2LDYgKzE1NDYsMTMwIEBAIHp4 ZGhfdmZfc2V0X3ZsYW5fb2ZmbG9hZChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0 LCB2b2lkICpjZmdfZGF0YSwNCiAJcmV0dXJuIHJldDsNCiB9DQogDQorc3RhdGljIGludA0KK3p4 ZGhfdmZfcnNzX2hmX2dldChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0LCB2b2lk ICpjZmdfZGF0YSBfX3J0ZV91bnVzZWQsDQorCQkJc3RydWN0IHp4ZGhfbXNnX3JlcGx5X2JvZHkg KnJlcGx5LCB1aW50MTZfdCAqcmVzX2xlbikNCit7DQorCWNoYXIgc3RyW1pYREhfTVNHX1JFUExZ X0JPRFlfTUFYX0xFTl0gPSAicnNzX2hmIjsNCisJc3RydWN0IHp4ZGhfcG9ydF9hdHRyX3RhYmxl IHZwb3J0X2F0dCA9IHswfTsNCisJaW50IHJldCA9IDA7DQorDQorCXJldCA9IHp4ZGhfZ2V0X3Bv cnRfYXR0cihodywgdnBvcnQsICZ2cG9ydF9hdHQpOw0KKwlpZiAocmV0KSB7DQorCQlzcHJpbnRm KHN0ciwgImdldCByc3MgaGFzaCBmYWN0b3IgZmFpbGVkLCByZXQ6JWRcbiIsIHJldCk7DQorCQlQ TURfRFJWX0xPRyhFUlIsICJnZXQgcnNzIGhhc2ggZmFjdG9yIGZhaWxlZC4iKTsNCisJCWdvdG8g cHJvY19lbmQ7DQorCX0NCisNCisJcmVwbHktPnJzc19oZi5yc3NfaGYgPSB2cG9ydF9hdHQucnNz X2hhc2hfZmFjdG9yOw0KKw0KK3Byb2NfZW5kOg0KKwkqcmVzX2xlbiA9IHN0cmxlbihzdHIpICsg c2l6ZW9mKGVudW0genhkaF9yZXBzX2ZsYWcpOw0KKwlyZXBseS0+ZmxhZyA9IChyZXQgPT0gMCkg PyBaWERIX1JFUFNfU1VDQyA6IFpYREhfUkVQU19GQUlMOw0KKwlydGVfbWVtY3B5KCZyZXBseS0+ cmVwbHlfZGF0YSwgc3RyLCBzdHJsZW4oc3RyKSArIDEpOw0KKwlyZXR1cm4gcmV0Ow0KK30NCisN CitzdGF0aWMgaW50DQorenhkaF92Zl9yc3NfaGZfc2V0KHN0cnVjdCB6eGRoX2h3ICpodywgdWlu dDE2X3QgdnBvcnQsIHZvaWQgKmNmZ19kYXRhLA0KKwkJCXN0cnVjdCB6eGRoX21zZ19yZXBseV9i b2R5ICpyZXBseSwgdWludDE2X3QgKnJlc19sZW4pDQorew0KKwljaGFyIHN0cltaWERIX01TR19S RVBMWV9CT0RZX01BWF9MRU5dID0gInJzc19oZiI7DQorCXN0cnVjdCB6eGRoX3Jzc19oZiAqcnNz X2hmID0gY2ZnX2RhdGE7DQorCXN0cnVjdCB6eGRoX3BvcnRfYXR0cl90YWJsZSB2cG9ydF9hdHQg PSB7MH07DQorCWludCByZXQgPSAwOw0KKw0KKwlyZXQgPSB6eGRoX2dldF9wb3J0X2F0dHIoaHcs IHZwb3J0LCAmdnBvcnRfYXR0KTsNCisJaWYgKHJldCkgew0KKwkJc3ByaW50ZihzdHIsICJzZXQg cnNzIGhhc2ggZmFjdG9yIChzZXQgdnBvcnQgdGJsIGZhaWxlZCwgaGYgaXMgJWQpLiByZXQ6JWRc biIsDQorCQkJCXJzc19oZi0+cnNzX2hmLCByZXQpOw0KKwkJUE1EX0RSVl9MT0coRVJSLCAicnNz IGVuYWJsZSBoYXNoIGZhY3RvciBzZXQgZmFpbGVkIik7DQorCQlnb3RvIHByb2NfZW5kOw0KKwl9 DQorDQorCXZwb3J0X2F0dC5yc3NfaGFzaF9mYWN0b3IgPSByc3NfaGYtPnJzc19oZjsNCisJcmV0 ID0genhkaF9zZXRfcG9ydF9hdHRyKGh3LCB2cG9ydCwgJnZwb3J0X2F0dCk7DQorCWlmIChyZXQp IHsNCisJCXNwcmludGYoc3RyLCAic2V0IHJzcyBoYXNoIGZhY3RvciAoc2V0IHZwb3J0IHRibCBm YWlsZWQsIGhmIGlzICVkKS4gcmV0OiVkXG4iLA0KKwkJCQlyc3NfaGYtPnJzc19oZiwgcmV0KTsN CisJCVBNRF9EUlZfTE9HKEVSUiwgInJzcyBjb25maWcgaGYgZmFpbGVkIik7DQorCX0NCisNCitw cm9jX2VuZDoNCisJKnJlc19sZW4gPSBzdHJsZW4oc3RyKSArIHNpemVvZihlbnVtIHp4ZGhfcmVw c19mbGFnKTsNCisJcmVwbHktPmZsYWcgPSAocmV0ID09IDApID8gWlhESF9SRVBTX1NVQ0MgOiBa WERIX1JFUFNfRkFJTDsNCisJcnRlX21lbWNweSgmcmVwbHktPnJlcGx5X2RhdGEsIHN0ciwgc3Ry bGVuKHN0cikgKyAxKTsNCisJcmV0dXJuIHJldDsNCit9DQorDQorc3RhdGljIGludA0KK3p4ZGhf dmZfcnNzX2VuYWJsZShzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0LCB2b2lkICpj ZmdfZGF0YSwNCisJCQlzdHJ1Y3QgenhkaF9tc2dfcmVwbHlfYm9keSAqcmVwbHksIHVpbnQxNl90 ICpyZXNfbGVuKQ0KK3sNCisJY2hhciBzdHJbWlhESF9NU0dfUkVQTFlfQk9EWV9NQVhfTEVOXSA9 ICJyc3NfZW5hYmxlIjsNCisJc3RydWN0IHp4ZGhfcnNzX2VuYWJsZSAqcnNzX2VuYWJsZSA9IGNm Z19kYXRhOw0KKwlzdHJ1Y3QgenhkaF9wb3J0X2F0dHJfdGFibGUgdnBvcnRfYXR0ID0gezB9Ow0K KwlpbnQgcmV0ID0gMDsNCisNCisJcmV0ID0genhkaF9nZXRfcG9ydF9hdHRyKGh3LCB2cG9ydCwg JnZwb3J0X2F0dCk7DQorCWlmIChyZXQpIHsNCisJCXNwcmludGYoc3RyLCAic2V0IHJzcyBlbmFi bGUgKGdldCB2cG9ydCB0YmwgZmFpbGVkLCByc3NfZW5hYmxlIGlzICVkKS4gcmV0OiVkXG4iLA0K KwkJCQlyc3NfZW5hYmxlLT5lbmFibGUsIHJldCk7DQorCQlQTURfRFJWX0xPRyhFUlIsICJyc3Mg ZW5hYmxlIHNldCBmYWlsZWQiKTsNCisJCWdvdG8gcHJvY19lbmQ7DQorCX0NCisNCisJdnBvcnRf YXR0LnJzc19lbmFibGUgPSByc3NfZW5hYmxlLT5lbmFibGU7DQorCXJldCA9IHp4ZGhfc2V0X3Bv cnRfYXR0cihodywgdnBvcnQsICZ2cG9ydF9hdHQpOw0KKwlpZiAocmV0KSB7DQorCQlzcHJpbnRm KHN0ciwgInNldCByc3MgZW5hYmxlIChzZXQgdnBvcnQgdGJsIGZhaWxlZCwgcnNzX2VuYWJsZSBp cyAlZCkuIHJldDolZFxuIiwNCisJCQkJcnNzX2VuYWJsZS0+ZW5hYmxlLCByZXQpOw0KKwkJUE1E X0RSVl9MT0coRVJSLCAicnNzIGVuYWJsZSBzZXQgZmFpbGVkIik7DQorCX0NCisNCitwcm9jX2Vu ZDoNCisJKnJlc19sZW4gPSBzdHJsZW4oc3RyKSArIHNpemVvZihlbnVtIHp4ZGhfcmVwc19mbGFn KTsNCisJcmVwbHktPmZsYWcgPSAocmV0ID09IDApID8gWlhESF9SRVBTX1NVQ0MgOiBaWERIX1JF UFNfRkFJTDsNCisJcnRlX21lbWNweSgmcmVwbHktPnJlcGx5X2RhdGEsIHN0ciwgc3RybGVuKHN0 cikgKyAxKTsNCisJcmV0dXJuIHJldDsNCit9DQorDQorc3RhdGljIGludA0KK3p4ZGhfdmZfcnNz X3RhYmxlX3NldChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0LCB2b2lkICpjZmdf ZGF0YSwNCisJCXN0cnVjdCB6eGRoX21zZ19yZXBseV9ib2R5ICpyZXBseSwgdWludDE2X3QgKnJl c19sZW4pDQorew0KKwljaGFyIHN0cltaWERIX01TR19SRVBMWV9CT0RZX01BWF9MRU5dID0gInJz c190YWJsZSI7DQorCXN0cnVjdCB6eGRoX3Jzc19yZXRhICpyc3NfcmV0YSA9IGNmZ19kYXRhOw0K KwlpbnQzMl90IHJldCA9IDA7DQorDQorCXJldCA9IHp4ZGhfcnNzX3RhYmxlX3NldChodywgdnBv cnQsIHJzc19yZXRhKTsNCisJaWYgKHJldCkNCisJCXNwcmludGYoc3RyLCAic2V0IHJzcyByZXRh IHRibCBmYWlsZWQsIGNvZGU6JWQiLCByZXQpOw0KKw0KKwkqcmVzX2xlbiA9IHN0cmxlbihzdHIp ICsgc2l6ZW9mKGVudW0genhkaF9yZXBzX2ZsYWcpOw0KKwlyZXBseS0+ZmxhZyA9IChyZXQgPT0g MCkgPyBaWERIX1JFUFNfU1VDQyA6IFpYREhfUkVQU19GQUlMOw0KKwlydGVfbWVtY3B5KCZyZXBs eS0+cmVwbHlfZGF0YSwgc3RyLCBzdHJsZW4oc3RyKSArIDEpOw0KKwlyZXR1cm4gcmV0Ow0KK30N CisNCitzdGF0aWMgaW50DQorenhkaF92Zl9yc3NfdGFibGVfZ2V0KHN0cnVjdCB6eGRoX2h3ICpo dywgdWludDE2X3QgdnBvcnQsIHZvaWQgKmNmZ19kYXRhIF9fcnRlX3VudXNlZCwNCisJCXN0cnVj dCB6eGRoX21zZ19yZXBseV9ib2R5ICpyZXBseSwgdWludDE2X3QgKnJlc19sZW4pDQorew0KKwlj aGFyIHN0cltaWERIX01TR19SRVBMWV9CT0RZX01BWF9MRU5dID0gInJzc190YWJsZSI7DQorCXN0 cnVjdCB6eGRoX3Jzc19yZXRhICpyc3NfcmV0YSA9ICZyZXBseS0+cnNzX3JldGE7DQorCWludCBy ZXQgPSAwOw0KKw0KKwlyZXQgPSB6eGRoX3Jzc190YWJsZV9nZXQoaHcsIHZwb3J0LCByc3NfcmV0 YSk7DQorCWlmIChyZXQpDQorCQlzcHJpbnRmKHN0ciwgInNldCByc3MgcmV0YSB0YmwgZmFpbGVk LCBjb2RlOiVkIiwgcmV0KTsNCisNCisJKnJlc19sZW4gPSBzdHJsZW4oc3RyKSArIHNpemVvZihl bnVtIHp4ZGhfcmVwc19mbGFnKTsNCisJcmVwbHktPmZsYWcgPSAocmV0ID09IDApID8gWlhESF9S RVBTX1NVQ0MgOiBaWERIX1JFUFNfRkFJTDsNCisJcnRlX21lbWNweSgmcmVwbHktPnJlcGx5X2Rh dGEsIHN0ciwgc3RybGVuKHN0cikgKyAxKTsNCisJcmV0dXJuIHJldDsNCit9DQorDQogenhkaF9t c2dfcHJvY2Vzc19jYWxsYmFjayB6eGRoX3Byb2NfY2JbXSA9IHsNCiAJW1pYREhfTlVMTF0gPSBO VUxMLA0KIAlbWlhESF9WRl9QT1JUX0lOSVRdID0genhkaF92Zl9wb3J0X2luaXQsDQpAQCAtMTU1 Niw2ICsxNjgwLDExIEBAIHp4ZGhfbXNnX3Byb2Nlc3NfY2FsbGJhY2sgenhkaF9wcm9jX2NiW10g PSB7DQogCVtaWERIX1ZMQU5fRklMVEVSX1NFVF0gPSB6eGRoX3ZmX3NldF92bGFuX2ZpbHRlciwN CiAJW1pYREhfVkxBTl9GSUxURVJfQUREXSA9IHp4ZGhfdmZfdmxhbl9maWx0ZXJfdGFibGVfYWRk LA0KIAlbWlhESF9WTEFOX0ZJTFRFUl9ERUxdID0genhkaF92Zl92bGFuX2ZpbHRlcl90YWJsZV9k ZWwsDQorCVtaWERIX1JTU19FTkFCTEVdID0genhkaF92Zl9yc3NfZW5hYmxlLA0KKwlbWlhESF9S U1NfUkVUQV9HRVRdID0genhkaF92Zl9yc3NfdGFibGVfZ2V0LA0KKwlbWlhESF9SU1NfUkVUQV9T RVRdID0genhkaF92Zl9yc3NfdGFibGVfc2V0LA0KKwlbWlhESF9SU1NfSEZfU0VUXSA9IHp4ZGhf dmZfcnNzX2hmX3NldCwNCisJW1pYREhfUlNTX0hGX0dFVF0gPSB6eGRoX3ZmX3Jzc19oZl9nZXQs DQogCVtaWERIX1ZMQU5fT0ZGTE9BRF0gPSB6eGRoX3ZmX3NldF92bGFuX29mZmxvYWQsDQogfTsN CiANCi0tIA0KMi4yNy4w --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 b3B0aW1pemUmbmJzcDtSU1MmbmJzcDtoYXNoJm5ic3A7Y29uZmlnL3VwZGF0ZSxSRVRBJm5ic3A7 dXBkYXRlL2dldC48YnIgLz4NPGJyIC8+U2lnbmVkLW9mZi1ieTombmJzcDtKdW5sb25nJm5ic3A7 V2FuZyZuYnNwOyZsdDt3YW5nLmp1bmxvbmcxQHp0ZS5jb20uY24mZ3Q7DTxiciAvPi0tLTxiciAv PiZuYnNwO2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9ldGhkZXZfb3BzLmMmbmJzcDt8Jm5ic3A7Jm5i c3A7Jm5ic3A7MSZuYnNwOy08YnIgLz4mbmJzcDtkcml2ZXJzL25ldC96eGRoL3p4ZGhfbXNnLmMm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7MTI5 Jm5ic3A7KysrKysrKysrKysrKysrKysrKysrKysrKysrKys8YnIgLz4mbmJzcDsyJm5ic3A7Zmls ZXMmbmJzcDtjaGFuZ2VkLCZuYnNwOzEyOSZuYnNwO2luc2VydGlvbnMoKyksJm5ic3A7MSZuYnNw O2RlbGV0aW9uKC0pPGJyIC8+DTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9u ZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0 aGRldl9vcHMuYzxiciAvPmluZGV4Jm5ic3A7ZWM4M2U4ODUwYy4uOGI1MTg3NzQ4OSZuYnNwOzEw MDY0NDxiciAvPi0tLSZuYnNwO2EvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYzxi ciAvPisrKyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYzxiciAvPkBA Jm5ic3A7LTExNDQsNyZuYnNwOysxMTQ0LDYmbmJzcDtAQCZuYnNwO3p4ZGhfcnNzX2hhc2hfY29u Zl9nZXQoc3RydWN0Jm5ic3A7cnRlX2V0aF9kZXYmbmJzcDsqZGV2LCZuYnNwO3N0cnVjdCZuYnNw O3J0ZV9ldGhfcnNzX2NvbmYmbmJzcDsqcnNzX2NvbjxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXBseV9tc2cucmVwbHlfYm9k eS5yc3NfaGYucnNzX2hmJm5ic3A7PSZuYnNwO3BvcnRfYXR0ci5yc3NfaGFzaF9mYWN0b3I7PGJy IC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fSZuYnNwO2Vsc2UmbmJzcDt7PGJyIC8+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3p4ZGhfbXNn X2hlYWRfYnVpbGQoaHcsJm5ic3A7WlhESF9SU1NfSEZfU0VULCZuYnNwOyZhbXA7bXNnKTs8YnIg Lz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDty ZXQmbmJzcDs9Jm5ic3A7enhkaF92Zl9zZW5kX21zZ190b19wZihkZXYsJm5ic3A7JmFtcDttc2cs Jm5ic3A7c2l6ZW9mKHN0cnVjdCZuYnNwO3p4ZGhfbXNnX2luZm8pLDxiciAvPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7cmVwbHlfbXNnLCZuYnNwO3Np emVvZihzdHJ1Y3QmbmJzcDt6eGRoX21zZ19yZXBseV9pbmZvKSk7PGJyIC8+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocmV0KSZu YnNwO3s8YnIgLz5kaWZmJm5ic3A7LS1naXQmbmJzcDthL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9t c2cuYyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jPGJyIC8+aW5kZXgmbmJzcDtk OWYyMTJlNjQyLi5lZmEyOGU3YjE3Jm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJz L25ldC96eGRoL3p4ZGhfbXNnLmM8YnIgLz4rKysmbmJzcDtiL2RyaXZlcnMvbmV0L3p4ZGgvenhk aF9tc2cuYzxiciAvPkBAJm5ic3A7LTE1NDYsNiZuYnNwOysxNTQ2LDEzMCZuYnNwO0BAJm5ic3A7 enhkaF92Zl9zZXRfdmxhbl9vZmZsb2FkKHN0cnVjdCZuYnNwO3p4ZGhfaHcmbmJzcDsqaHcsJm5i c3A7dWludDE2X3QmbmJzcDt2cG9ydCwmbmJzcDt2b2lkJm5ic3A7KmNmZ19kYXRhLDxiciAvPiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3JldDs8YnIgLz4mbmJzcDt9 PGJyIC8+Jm5ic3A7DTxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIgLz4renhkaF92Zl9yc3NfaGZf Z2V0KHN0cnVjdCZuYnNwO3p4ZGhfaHcmbmJzcDsqaHcsJm5ic3A7dWludDE2X3QmbmJzcDt2cG9y dCwmbmJzcDt2b2lkJm5ic3A7KmNmZ19kYXRhJm5ic3A7X19ydGVfdW51c2VkLDxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRoX21zZ19yZXBseV9ib2R5Jm5ic3A7KnJlcGx5LCZu YnNwO3VpbnQxNl90Jm5ic3A7KnJlc19sZW4pPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Y2hhciZuYnNwO3N0cltaWERIX01TR19SRVBMWV9CT0RZX01BWF9MRU5dJm5ic3A7 PSZuYnNwOyZxdW90O3Jzc19oZiZxdW90Ozs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 c3RydWN0Jm5ic3A7enhkaF9wb3J0X2F0dHJfdGFibGUmbmJzcDt2cG9ydF9hdHQmbmJzcDs9Jm5i c3A7ezB9OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9 Jm5ic3A7MDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0m bmJzcDt6eGRoX2dldF9wb3J0X2F0dHIoaHcsJm5ic3A7dnBvcnQsJm5ic3A7JmFtcDt2cG9ydF9h dHQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhyZXQpJm5ic3A7ezxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzcHJp bnRmKHN0ciwmbmJzcDsmcXVvdDtnZXQmbmJzcDtyc3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5i c3A7ZmFpbGVkLCZuYnNwO3JldDolZFxuJnF1b3Q7LCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwm bmJzcDsmcXVvdDtnZXQmbmJzcDtyc3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5ic3A7ZmFpbGVk LiZxdW90Oyk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO2dvdG8mbmJzcDtwcm9jX2VuZDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 fTxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O3Jzc19oZi5y c3NfaGYmbmJzcDs9Jm5ic3A7dnBvcnRfYXR0LnJzc19oYXNoX2ZhY3Rvcjs8YnIgLz4rPGJyIC8+ K3Byb2NfZW5kOjxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqcmVzX2xlbiZuYnNwOz0m bmJzcDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDtzaXplb2YoZW51bSZuYnNwO3p4ZGhfcmVwc19m bGFnKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O2ZsYWcmbmJzcDs9 Jm5ic3A7KHJldCZuYnNwOz09Jm5ic3A7MCkmbmJzcDs/Jm5ic3A7WlhESF9SRVBTX1NVQ0MmbmJz cDs6Jm5ic3A7WlhESF9SRVBTX0ZBSUw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0 ZV9tZW1jcHkoJmFtcDtyZXBseS0mZ3Q7cmVwbHlfZGF0YSwmbmJzcDtzdHIsJm5ic3A7c3RybGVu KHN0cikmbmJzcDsrJm5ic3A7MSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVy biZuYnNwO3JldDs8YnIgLz4rfTxiciAvPis8YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4 ZGhfdmZfcnNzX2hmX3NldChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3LCZuYnNwO3VpbnQx Nl90Jm5ic3A7dnBvcnQsJm5ic3A7dm9pZCZuYnNwOypjZmdfZGF0YSw8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9tc2dfcmVwbHlfYm9keSZuYnNwOypyZXBseSwmbmJzcDt1 aW50MTZfdCZuYnNwOypyZXNfbGVuKTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2NoYXImbmJzcDtzdHJbWlhESF9NU0dfUkVQTFlfQk9EWV9NQVhfTEVOXSZuYnNwOz0mbmJz cDsmcXVvdDtyc3NfaGYmcXVvdDs7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVj dCZuYnNwO3p4ZGhfcnNzX2hmJm5ic3A7KnJzc19oZiZuYnNwOz0mbmJzcDtjZmdfZGF0YTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9wb3J0X2F0dHJfdGFi bGUmbmJzcDt2cG9ydF9hdHQmbmJzcDs9Jm5ic3A7ezB9OzxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7MDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6eGRoX2dldF9wb3J0X2F0dHIoaHcsJm5i c3A7dnBvcnQsJm5ic3A7JmFtcDt2cG9ydF9hdHQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtpZiZuYnNwOyhyZXQpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzcHJpbnRmKHN0ciwmbmJzcDsmcXVvdDtzZXQmbmJzcDty c3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5ic3A7KHNldCZuYnNwO3Zwb3J0Jm5ic3A7dGJsJm5i c3A7ZmFpbGVkLCZuYnNwO2hmJm5ic3A7aXMmbmJzcDslZCkuJm5ic3A7cmV0OiVkXG4mcXVvdDss PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jzc19oZi0mZ3Q7 cnNzX2hmLCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsmcXVvdDtyc3MmbmJzcDtlbmFi bGUmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5ic3A7c2V0Jm5ic3A7ZmFpbGVkJnF1b3Q7KTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Z290byZu YnNwO3Byb2NfZW5kOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2cG9ydF9hdHQucnNzX2hhc2hfZmFjdG9yJm5ic3A7 PSZuYnNwO3Jzc19oZi0mZ3Q7cnNzX2hmOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDty ZXQmbmJzcDs9Jm5ic3A7enhkaF9zZXRfcG9ydF9hdHRyKGh3LCZuYnNwO3Zwb3J0LCZuYnNwOyZh bXA7dnBvcnRfYXR0KTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocmV0 KSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7c3ByaW50ZihzdHIsJm5ic3A7JnF1b3Q7c2V0Jm5ic3A7cnNzJm5ic3A7aGFzaCZuYnNw O2ZhY3RvciZuYnNwOyhzZXQmbmJzcDt2cG9ydCZuYnNwO3RibCZuYnNwO2ZhaWxlZCwmbmJzcDto ZiZuYnNwO2lzJm5ic3A7JWQpLiZuYnNwO3JldDolZFxuJnF1b3Q7LDxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyc3NfaGYtJmd0O3Jzc19oZiwmbmJzcDtyZXQp OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQ TURfRFJWX0xPRyhFUlIsJm5ic3A7JnF1b3Q7cnNzJm5ic3A7Y29uZmlnJm5ic3A7aGYmbmJzcDtm YWlsZWQmcXVvdDspOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAv Pitwcm9jX2VuZDo8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KnJlc19sZW4mbmJzcDs9 Jm5ic3A7c3RybGVuKHN0cikmbmJzcDsrJm5ic3A7c2l6ZW9mKGVudW0mbmJzcDt6eGRoX3JlcHNf ZmxhZyk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JlcGx5LSZndDtmbGFnJm5ic3A7 PSZuYnNwOyhyZXQmbmJzcDs9PSZuYnNwOzApJm5ic3A7PyZuYnNwO1pYREhfUkVQU19TVUNDJm5i c3A7OiZuYnNwO1pYREhfUkVQU19GQUlMOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDty dGVfbWVtY3B5KCZhbXA7cmVwbHktJmd0O3JlcGx5X2RhdGEsJm5ic3A7c3RyLCZuYnNwO3N0cmxl bihzdHIpJm5ic3A7KyZuYnNwOzEpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1 cm4mbmJzcDtyZXQ7PGJyIC8+K308YnIgLz4rPGJyIC8+K3N0YXRpYyZuYnNwO2ludDxiciAvPit6 eGRoX3ZmX3Jzc19lbmFibGUoc3RydWN0Jm5ic3A7enhkaF9odyZuYnNwOypodywmbmJzcDt1aW50 MTZfdCZuYnNwO3Zwb3J0LCZuYnNwO3ZvaWQmbmJzcDsqY2ZnX2RhdGEsPGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhfbXNnX3JlcGx5X2JvZHkmbmJzcDsqcmVwbHksJm5ic3A7 dWludDE2X3QmbmJzcDsqcmVzX2xlbik8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtjaGFyJm5ic3A7c3RyW1pYREhfTVNHX1JFUExZX0JPRFlfTUFYX0xFTl0mbmJzcDs9Jm5i c3A7JnF1b3Q7cnNzX2VuYWJsZSZxdW90Ozs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 c3RydWN0Jm5ic3A7enhkaF9yc3NfZW5hYmxlJm5ic3A7KnJzc19lbmFibGUmbmJzcDs9Jm5ic3A7 Y2ZnX2RhdGE7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhf cG9ydF9hdHRyX3RhYmxlJm5ic3A7dnBvcnRfYXR0Jm5ic3A7PSZuYnNwO3swfTs8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aW50Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwOzA7PGJyIC8+Kzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enhkaF9nZXRfcG9y dF9hdHRyKGh3LCZuYnNwO3Zwb3J0LCZuYnNwOyZhbXA7dnBvcnRfYXR0KTs8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocmV0KSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3ByaW50ZihzdHIsJm5ic3A7JnF1 b3Q7c2V0Jm5ic3A7cnNzJm5ic3A7ZW5hYmxlJm5ic3A7KGdldCZuYnNwO3Zwb3J0Jm5ic3A7dGJs Jm5ic3A7ZmFpbGVkLCZuYnNwO3Jzc19lbmFibGUmbmJzcDtpcyZuYnNwOyVkKS4mbmJzcDtyZXQ6 JWRcbiZxdW90Oyw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 cnNzX2VuYWJsZS0mZ3Q7ZW5hYmxlLCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsmcXVv dDtyc3MmbmJzcDtlbmFibGUmbmJzcDtzZXQmbmJzcDtmYWlsZWQmcXVvdDspOzxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnb3RvJm5ic3A7cHJv Y19lbmQ7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rPGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3Zwb3J0X2F0dC5yc3NfZW5hYmxlJm5ic3A7PSZuYnNwO3Jzc19l bmFibGUtJmd0O2VuYWJsZTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7 PSZuYnNwO3p4ZGhfc2V0X3BvcnRfYXR0cihodywmbmJzcDt2cG9ydCwmbmJzcDsmYW1wO3Zwb3J0 X2F0dCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7 PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Nw cmludGYoc3RyLCZuYnNwOyZxdW90O3NldCZuYnNwO3JzcyZuYnNwO2VuYWJsZSZuYnNwOyhzZXQm bmJzcDt2cG9ydCZuYnNwO3RibCZuYnNwO2ZhaWxlZCwmbmJzcDtyc3NfZW5hYmxlJm5ic3A7aXMm bmJzcDslZCkuJm5ic3A7cmV0OiVkXG4mcXVvdDssPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3Jzc19lbmFibGUtJmd0O2VuYWJsZSwmbmJzcDtyZXQpOzxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQTURfRFJW X0xPRyhFUlIsJm5ic3A7JnF1b3Q7cnNzJm5ic3A7ZW5hYmxlJm5ic3A7c2V0Jm5ic3A7ZmFpbGVk JnF1b3Q7KTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPis8YnIgLz4rcHJv Y19lbmQ6PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOypyZXNfbGVuJm5ic3A7PSZuYnNw O3N0cmxlbihzdHIpJm5ic3A7KyZuYnNwO3NpemVvZihlbnVtJm5ic3A7enhkaF9yZXBzX2ZsYWcp OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXBseS0mZ3Q7ZmxhZyZuYnNwOz0mbmJz cDsocmV0Jm5ic3A7PT0mbmJzcDswKSZuYnNwOz8mbmJzcDtaWERIX1JFUFNfU1VDQyZuYnNwOzom bmJzcDtaWERIX1JFUFNfRkFJTDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cnRlX21l bWNweSgmYW1wO3JlcGx5LSZndDtyZXBseV9kYXRhLCZuYnNwO3N0ciwmbmJzcDtzdHJsZW4oc3Ry KSZuYnNwOysmbmJzcDsxKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5i c3A7cmV0OzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIgLz4renhkaF92 Zl9yc3NfdGFibGVfc2V0KHN0cnVjdCZuYnNwO3p4ZGhfaHcmbmJzcDsqaHcsJm5ic3A7dWludDE2 X3QmbmJzcDt2cG9ydCwmbmJzcDt2b2lkJm5ic3A7KmNmZ19kYXRhLDxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRoX21z Z19yZXBseV9ib2R5Jm5ic3A7KnJlcGx5LCZuYnNwO3VpbnQxNl90Jm5ic3A7KnJlc19sZW4pPGJy IC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Y2hhciZuYnNwO3N0cltaWERIX01T R19SRVBMWV9CT0RZX01BWF9MRU5dJm5ic3A7PSZuYnNwOyZxdW90O3Jzc190YWJsZSZxdW90Ozs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9yc3NfcmV0YSZu YnNwOypyc3NfcmV0YSZuYnNwOz0mbmJzcDtjZmdfZGF0YTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7aW50MzJfdCZuYnNwO3JldCZuYnNwOz0mbmJzcDswOzxiciAvPis8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwO3p4ZGhfcnNzX3RhYmxlX3NldCho dywmbmJzcDt2cG9ydCwmbmJzcDtyc3NfcmV0YSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2lmJm5ic3A7KHJldCk8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7c3ByaW50ZihzdHIsJm5ic3A7JnF1b3Q7c2V0Jm5ic3A7cnNzJm5ic3A7 cmV0YSZuYnNwO3RibCZuYnNwO2ZhaWxlZCwmbmJzcDtjb2RlOiVkJnF1b3Q7LCZuYnNwO3JldCk7 PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqcmVzX2xlbiZuYnNwOz0mbmJz cDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDtzaXplb2YoZW51bSZuYnNwO3p4ZGhfcmVwc19mbGFn KTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O2ZsYWcmbmJzcDs9Jm5i c3A7KHJldCZuYnNwOz09Jm5ic3A7MCkmbmJzcDs/Jm5ic3A7WlhESF9SRVBTX1NVQ0MmbmJzcDs6 Jm5ic3A7WlhESF9SRVBTX0ZBSUw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0ZV9t ZW1jcHkoJmFtcDtyZXBseS0mZ3Q7cmVwbHlfZGF0YSwmbmJzcDtzdHIsJm5ic3A7c3RybGVuKHN0 cikmbmJzcDsrJm5ic3A7MSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZu YnNwO3JldDs8YnIgLz4rfTxiciAvPis8YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4ZGhf dmZfcnNzX3RhYmxlX2dldChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3LCZuYnNwO3VpbnQx Nl90Jm5ic3A7dnBvcnQsJm5ic3A7dm9pZCZuYnNwOypjZmdfZGF0YSZuYnNwO19fcnRlX3VudXNl ZCw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 c3RydWN0Jm5ic3A7enhkaF9tc2dfcmVwbHlfYm9keSZuYnNwOypyZXBseSwmbmJzcDt1aW50MTZf dCZuYnNwOypyZXNfbGVuKTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2No YXImbmJzcDtzdHJbWlhESF9NU0dfUkVQTFlfQk9EWV9NQVhfTEVOXSZuYnNwOz0mbmJzcDsmcXVv dDtyc3NfdGFibGUmcXVvdDs7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZu YnNwO3p4ZGhfcnNzX3JldGEmbmJzcDsqcnNzX3JldGEmbmJzcDs9Jm5ic3A7JmFtcDtyZXBseS0m Z3Q7cnNzX3JldGE7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludCZuYnNwO3JldCZu YnNwOz0mbmJzcDswOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5i c3A7PSZuYnNwO3p4ZGhfcnNzX3RhYmxlX2dldChodywmbmJzcDt2cG9ydCwmbmJzcDtyc3NfcmV0 YSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCk8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3ByaW50ZihzdHIs Jm5ic3A7JnF1b3Q7c2V0Jm5ic3A7cnNzJm5ic3A7cmV0YSZuYnNwO3RibCZuYnNwO2ZhaWxlZCwm bmJzcDtjb2RlOiVkJnF1b3Q7LCZuYnNwO3JldCk7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsqcmVzX2xlbiZuYnNwOz0mbmJzcDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDtz aXplb2YoZW51bSZuYnNwO3p4ZGhfcmVwc19mbGFnKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7cmVwbHktJmd0O2ZsYWcmbmJzcDs9Jm5ic3A7KHJldCZuYnNwOz09Jm5ic3A7MCkmbmJz cDs/Jm5ic3A7WlhESF9SRVBTX1NVQ0MmbmJzcDs6Jm5ic3A7WlhESF9SRVBTX0ZBSUw7PGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0ZV9tZW1jcHkoJmFtcDtyZXBseS0mZ3Q7cmVwbHlf ZGF0YSwmbmJzcDtzdHIsJm5ic3A7c3RybGVuKHN0cikmbmJzcDsrJm5ic3A7MSk7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3JldDs8YnIgLz4rfTxiciAvPis8YnIg Lz4mbmJzcDt6eGRoX21zZ19wcm9jZXNzX2NhbGxiYWNrJm5ic3A7enhkaF9wcm9jX2NiW10mbmJz cDs9Jm5ic3A7ezxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX05VTExd Jm5ic3A7PSZuYnNwO05VTEwsPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pY REhfVkZfUE9SVF9JTklUXSZuYnNwOz0mbmJzcDt6eGRoX3ZmX3BvcnRfaW5pdCw8YnIgLz5AQCZu YnNwOy0xNTU2LDYmbmJzcDsrMTY4MCwxMSZuYnNwO0BAJm5ic3A7enhkaF9tc2dfcHJvY2Vzc19j YWxsYmFjayZuYnNwO3p4ZGhfcHJvY19jYltdJm5ic3A7PSZuYnNwO3s8YnIgLz4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtbWlhESF9WTEFOX0ZJTFRFUl9TRVRdJm5ic3A7PSZuYnNwO3p4 ZGhfdmZfc2V0X3ZsYW5fZmlsdGVyLDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O1taWERIX1ZMQU5fRklMVEVSX0FERF0mbmJzcDs9Jm5ic3A7enhkaF92Zl92bGFuX2ZpbHRlcl90 YWJsZV9hZGQsPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfVkxBTl9G SUxURVJfREVMXSZuYnNwOz0mbmJzcDt6eGRoX3ZmX3ZsYW5fZmlsdGVyX3RhYmxlX2RlbCw8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfUlNTX0VOQUJMRV0mbmJzcDs9Jm5ic3A7 enhkaF92Zl9yc3NfZW5hYmxlLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtbWlhESF9S U1NfUkVUQV9HRVRdJm5ic3A7PSZuYnNwO3p4ZGhfdmZfcnNzX3RhYmxlX2dldCw8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfUlNTX1JFVEFfU0VUXSZuYnNwOz0mbmJzcDt6eGRo X3ZmX3Jzc190YWJsZV9zZXQsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX1JT U19IRl9TRVRdJm5ic3A7PSZuYnNwO3p4ZGhfdmZfcnNzX2hmX3NldCw8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7W1pYREhfUlNTX0hGX0dFVF0mbmJzcDs9Jm5ic3A7enhkaF92Zl9yc3Nf aGZfZ2V0LDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX1ZMQU5fT0ZG TE9BRF0mbmJzcDs9Jm5ic3A7enhkaF92Zl9zZXRfdmxhbl9vZmZsb2FkLDxiciAvPiZuYnNwO307 PGJyIC8+Jm5ic3A7DTxiciAvPi0tJm5ic3A7DTxiciAvPjIuMjcuMDxiciAvPg== --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--