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 E987F45B5C; Thu, 17 Oct 2024 11:28:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1CA6B406B6; Thu, 17 Oct 2024 11:27:24 +0200 (CEST) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by mails.dpdk.org (Postfix) with ESMTP id 36B4F40652 for ; Thu, 17 Oct 2024 11:27:12 +0200 (CEST) Received: from mxct.zte.com.cn (unknown [192.168.251.13]) (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 4XTjCg1fVbz5B1Jt for ; Thu, 17 Oct 2024 17:27:11 +0800 (CST) 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 mxct.zte.com.cn (FangMail) with ESMTPS id 4XTjCY1D0dz501gP for ; Thu, 17 Oct 2024 17:27:05 +0800 (CST) Received: from szxlzmapp05.zte.com.cn ([10.5.230.85]) by mse-fl2.zte.com.cn with SMTP id 49H9QeIY010544 for ; Thu, 17 Oct 2024 17:26:40 +0800 (+08) (envelope-from li.hanxiao@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Thu, 17 Oct 2024 17:26:43 +0800 X-Zmail-TransId: 3e816710d852003-a4fb4 From: Hanxiao Li To: dev@dpdk.org Cc: Hanxiao Li Subject: [PATCH v11 06/12] common/zsda: configure zsda queue enqueue functions Date: Thu, 17 Oct 2024 17:22:03 +0800 Message-ID: <20241017092310.1863628-7-li.hanxiao@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241017092310.1863628-1-li.hanxiao@zte.com.cn> References: <20241016083328.1809713-2-li.hanxiao@zte.com.cn> <20241017092310.1863628-1-li.hanxiao@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 49H9QeIY010544 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 6710D86F.000/4XTjCg1fVbz5B1Jt 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 QWRkIHN1cHBvcnQgZm9yIHpzZGFkZXYgcXVldWUgZW5xdWV1ZS4NCg0KU2lnbmVkLW9mZi1ieTog SGFueGlhbyBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KLS0tDQogZHJpdmVycy9jb21tb24v enNkYS96c2RhX3FwLmMgfCAxMDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K IGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oIHwgICAyICsNCiAyIGZpbGVzIGNoYW5nZWQs IDEwNyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pz ZGFfcXAuYyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jDQppbmRleCBmMWZlNmM1ODE3 Li44NzkzMjU5N2VkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmMN CisrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jDQpAQCAtNjgyLDYgKzY4MiwxMTEg QEAgenNkYV9xdWV1ZV9wYWlyX3JlbGVhc2Uoc3RydWN0IHpzZGFfcXAgKipxcF9hZGRyKQ0KIAly ZXR1cm4gMDsNCiB9DQogDQorc3RhdGljIGludA0KK3pzZGFfZmluZF9uZXh0X2ZyZWVfY29va2ll KGNvbnN0IHN0cnVjdCB6c2RhX3F1ZXVlICpxdWV1ZSwgdm9pZCAqKm9wX2Nvb2tpZSwNCisJCSAg ICAgIHVpbnQxNl90ICppZHgpDQorew0KKwl1aW50MTZfdCBvbGRfdGFpbCA9IHF1ZXVlLT50YWls Ow0KKwl1aW50MTZfdCB0YWlsID0gcXVldWUtPnRhaWw7DQorCXN0cnVjdCB6c2RhX29wX2Nvb2tp ZSAqY29va2llOw0KKw0KKwlkbyB7DQorCQljb29raWUgPSBvcF9jb29raWVbdGFpbF07DQorCQlp ZiAoIWNvb2tpZS0+dXNlZCkgew0KKwkJCSppZHggPSB0YWlsICYgKHF1ZXVlLT5xdWV1ZV9zaXpl IC0gMSk7DQorCQkJcmV0dXJuIDA7DQorCQl9DQorCQl0YWlsID0genNkYV9tb2R1bG9fMTYodGFp bCsrLCBxdWV1ZS0+bW9kdWxvX21hc2spOw0KKwl9IHdoaWxlIChvbGRfdGFpbCAhPSB0YWlsKTsN CisNCisJcmV0dXJuIC1FSU5WQUw7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCit6c2RhX2VucXVldWUo dm9pZCAqb3AsIHN0cnVjdCB6c2RhX3FwICpxcCkNCit7DQorCXVpbnQxNl90IG5ld190YWlsOw0K KwllbnVtIHpzZGFfc2VydmljZV90eXBlIHR5cGU7DQorCXZvaWQgKipvcF9jb29raWU7DQorCWlu dCByZXQgPSAwOw0KKwlzdHJ1Y3QgenNkYV9xdWV1ZSAqcXVldWU7DQorDQorCWZvciAodHlwZSA9 IDA7IHR5cGUgPCBaU0RBX1NFUlZJQ0VfSU5WQUxJRDsgdHlwZSsrKSB7DQorCQlpZiAocXAtPnNy dlt0eXBlXS51c2VkKSB7DQorCQkJaWYgKCFxcC0+c3J2W3R5cGVdLm1hdGNoKG9wKSkNCisJCQkJ Y29udGludWU7DQorCQkJcXVldWUgPSAmcXAtPnNydlt0eXBlXS50eF9xOw0KKwkJCW9wX2Nvb2tp ZSA9IHFwLT5zcnZbdHlwZV0ub3BfY29va2llczsNCisNCisJCQlpZiAoenNkYV9maW5kX25leHRf ZnJlZV9jb29raWUocXVldWUsIG9wX2Nvb2tpZSwNCisJCQkJCQkgICZuZXdfdGFpbCkpIHsNCisJ CQkJcmV0ID0gLUVCVVNZOw0KKwkJCQlicmVhazsNCisJCQl9DQorCQkJcmV0ID0gcXAtPnNydlt0 eXBlXS50eF9jYihvcCwgcXVldWUsIG9wX2Nvb2tpZSwNCisJCQkJCQkgIG5ld190YWlsKTsNCisJ CQlpZiAocmV0KSB7DQorCQkJCXFwLT5zcnZbdHlwZV0uc3RhdHMuZW5xdWV1ZV9lcnJfY291bnQr KzsNCisJCQkJWlNEQV9MT0coRVJSLCAiRmFpbGVkISBjb25maWcgd3FlIik7DQorCQkJCWJyZWFr Ow0KKwkJCX0NCisJCQlxcC0+c3J2W3R5cGVdLnN0YXRzLmVucXVldWVkX2NvdW50Kys7DQorDQor CQkJcXVldWUtPnRhaWwgPSB6c2RhX21vZHVsb18xNihuZXdfdGFpbCArIDEsDQorCQkJCQkJICAg ICBxdWV1ZS0+cXVldWVfc2l6ZSAtIDEpOw0KKw0KKwkJCWlmIChuZXdfdGFpbCA+IHF1ZXVlLT50 YWlsKQ0KKwkJCQlxdWV1ZS0+dmFsaWQgPQ0KKwkJCQkJenNkYV9tb2R1bG9fOChxdWV1ZS0+dmFs aWQgKyAxLA0KKwkJCQkJKHVpbnQ4X3QpKHF1ZXVlLT5jeWNsZV9zaXplIC0gMSkpOw0KKw0KKwkJ CXF1ZXVlLT5wdXNoZWRfd3FlKys7DQorCQkJYnJlYWs7DQorCQl9DQorCX0NCisNCisJcmV0dXJu IHJldDsNCit9DQorDQorc3RhdGljIHZvaWQNCit6c2RhX3R4X3dyaXRlX3RhaWwoc3RydWN0IHpz ZGFfcXVldWUgKnF1ZXVlKQ0KK3sNCisJaWYgKHF1ZXVlLT5wdXNoZWRfd3FlKQ0KKwkJV1JJVEVf Q1NSX1dRX1RBSUwocXVldWUtPmlvX2FkZHIsIHF1ZXVlLT5od19xdWV1ZV9udW1iZXIsDQorCQkJ CSAgcXVldWUtPnRhaWwpOw0KKw0KKwlxdWV1ZS0+cHVzaGVkX3dxZSA9IDA7DQorfQ0KKw0KK3Vp bnQxNl90DQorenNkYV9lbnF1ZXVlX29wX2J1cnN0KHN0cnVjdCB6c2RhX3FwICpxcCwgdm9pZCAq Km9wcywgdWludDE2X3QgbmJfb3BzKQ0KK3sNCisJaW50IHJldCA9IDA7DQorCWVudW0genNkYV9z ZXJ2aWNlX3R5cGUgdHlwZTsNCisJdWludDE2X3QgaTsNCisJdWludDE2X3QgbmJfc2VuZCA9IDA7 DQorCXZvaWQgKm9wOw0KKw0KKwlpZiAobmJfb3BzID4gWlNEQV9NQVhfREVTQykgew0KKwkJWlNE QV9MT0coRVJSLCAiRW5xdWV1ZSBudW1iZXIgYmlnZ2VyIHRoYW4gJWQiLCBaU0RBX01BWF9ERVND KTsNCisJCXJldHVybiAwOw0KKwl9DQorDQorCWZvciAoaSA9IDA7IGkgPCBuYl9vcHM7IGkrKykg ew0KKwkJb3AgPSBvcHNbaV07DQorCQlyZXQgPSB6c2RhX2VucXVldWUob3AsIHFwKTsNCisJCWlm IChyZXQgPCAwKQ0KKwkJCWJyZWFrOw0KKwkJbmJfc2VuZCsrOw0KKwl9DQorDQorCWZvciAodHlw ZSA9IDA7IHR5cGUgPCBaU0RBX1NFUlZJQ0VfSU5WQUxJRDsgdHlwZSsrKQ0KKwkJaWYgKHFwLT5z cnZbdHlwZV0udXNlZCkNCisJCQl6c2RhX3R4X3dyaXRlX3RhaWwoJnFwLT5zcnZbdHlwZV0udHhf cSk7DQorDQorCXJldHVybiBuYl9zZW5kOw0KK30NCisNCiBpbnQNCiB6c2RhX2NvbW1vbl9zZXR1 cF9xcCh1aW50MzJfdCB6c2RhX2Rldl9pZCwgc3RydWN0IHpzZGFfcXAgKipxcF9hZGRyLA0KIAkJ Y29uc3QgdWludDE2X3QgcXVldWVfcGFpcl9pZCwgY29uc3Qgc3RydWN0IHpzZGFfcXBfY29uZmln ICpjb25mKQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oIGIvZHJp dmVycy9jb21tb24venNkYS96c2RhX3FwLmgNCmluZGV4IGE5ZjBkMzhiYTUuLmY5ZWZmZjBlNWEg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuaA0KKysrIGIvZHJpdmVy cy9jb21tb24venNkYS96c2RhX3FwLmgNCkBAIC0xMzUsNiArMTM1LDggQEAgaW50IHpzZGFfZ2V0 X3F1ZXVlX2NmZyhzdHJ1Y3QgenNkYV9wY2lfZGV2aWNlICp6c2RhX3BjaV9kZXYpOw0KIA0KIGlu dCB6c2RhX3F1ZXVlX3BhaXJfcmVsZWFzZShzdHJ1Y3QgenNkYV9xcCAqKnFwX2FkZHIpOw0KIA0K K3VpbnQxNl90IHpzZGFfZW5xdWV1ZV9vcF9idXJzdChzdHJ1Y3QgenNkYV9xcCAqcXAsIHZvaWQg KipvcHMsIGNvbnN0IHVpbnQxNl90IG5iX29wcyk7DQorDQogaW50IHpzZGFfY29tbW9uX3NldHVw X3FwKHVpbnQzMl90IGRldl9pZCwgc3RydWN0IHpzZGFfcXAgKipxcF9hZGRyLA0KIAkJICAgIGNv bnN0IHVpbnQxNl90IHF1ZXVlX3BhaXJfaWQsDQogCQkgICAgY29uc3Qgc3RydWN0IHpzZGFfcXBf Y29uZmlnICpjb25mKTsNCi0tIA0KMi4yNy4w --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkJm5ic3A7c3VwcG9ydCZuYnNwO2ZvciZuYnNwO3pzZGFkZXYmbmJzcDtxdWV1ZSZuYnNwO2Vu cXVldWUuPGJyIC8+DTxiciAvPlNpZ25lZC1vZmYtYnk6Jm5ic3A7SGFueGlhbyZuYnNwO0xpJm5i c3A7Jmx0O2xpLmhhbnhpYW9AenRlLmNvbS5jbiZndDsNPGJyIC8+LS0tPGJyIC8+Jm5ic3A7ZHJp dmVycy9jb21tb24venNkYS96c2RhX3FwLmMmbmJzcDt8Jm5ic3A7MTA1Jm5ic3A7KysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKzxiciAvPiZuYnNwO2RyaXZlcnMvY29tbW9uL3pzZGEv enNkYV9xcC5oJm5ic3A7fCZuYnNwOyZuYnNwOyZuYnNwOzImbmJzcDsrPGJyIC8+Jm5ic3A7MiZu YnNwO2ZpbGVzJm5ic3A7Y2hhbmdlZCwmbmJzcDsxMDcmbmJzcDtpbnNlcnRpb25zKCspPGJyIC8+ DTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9jb21tb24venNkYS96c2RhX3Fw LmMmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jPGJyIC8+aW5kZXgmbmJzcDtm MWZlNmM1ODE3Li44NzkzMjU5N2VkJm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJz L2NvbW1vbi96c2RhL3pzZGFfcXAuYzxiciAvPisrKyZuYnNwO2IvZHJpdmVycy9jb21tb24venNk YS96c2RhX3FwLmM8YnIgLz5AQCZuYnNwOy02ODIsNiZuYnNwOys2ODIsMTExJm5ic3A7QEAmbmJz cDt6c2RhX3F1ZXVlX3BhaXJfcmVsZWFzZShzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KipxcF9h ZGRyKTxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOzA7PGJy IC8+Jm5ic3A7fTxiciAvPiZuYnNwOw08YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3pzZGFf ZmluZF9uZXh0X2ZyZWVfY29va2llKGNvbnN0Jm5ic3A7c3RydWN0Jm5ic3A7enNkYV9xdWV1ZSZu YnNwOypxdWV1ZSwmbmJzcDt2b2lkJm5ic3A7KipvcF9jb29raWUsPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7KmlkeCk8YnIgLz4rezxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZuYnNwO29sZF90YWlsJm5ic3A7PSZuYnNwO3F1ZXVl LSZndDt0YWlsOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZuYnNwO3Rh aWwmbmJzcDs9Jm5ic3A7cXVldWUtJmd0O3RhaWw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO3N0cnVjdCZuYnNwO3pzZGFfb3BfY29va2llJm5ic3A7KmNvb2tpZTs8YnIgLz4rPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2RvJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb29raWUmbmJzcDs9Jm5ic3A7b3BfY29v a2llW3RhaWxdOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtpZiZuYnNwOyghY29va2llLSZndDt1c2VkKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7KmlkeCZuYnNwOz0mbmJzcDt0YWlsJm5ic3A7JmFtcDsmbmJzcDsocXVldWUtJmd0O3F1 ZXVlX3NpemUmbmJzcDstJm5ic3A7MSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNw OzA7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O308YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 dGFpbCZuYnNwOz0mbmJzcDt6c2RhX21vZHVsb18xNih0YWlsKyssJm5ic3A7cXVldWUtJmd0O21v ZHVsb19tYXNrKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fSZuYnNwO3doaWxlJm5i c3A7KG9sZF90YWlsJm5ic3A7IT0mbmJzcDt0YWlsKTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOy1FSU5WQUw7PGJyIC8+K308YnIgLz4rPGJyIC8+K3N0 YXRpYyZuYnNwO2ludDxiciAvPit6c2RhX2VucXVldWUodm9pZCZuYnNwOypvcCwmbmJzcDtzdHJ1 Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KnFwKTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3VpbnQxNl90Jm5ic3A7bmV3X3RhaWw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2VudW0mbmJzcDt6c2RhX3NlcnZpY2VfdHlwZSZuYnNwO3R5cGU7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3ZvaWQmbmJzcDsqKm9wX2Nvb2tpZTs8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7aW50Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwOzA7PGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfcXVldWUmbmJzcDsqcXVldWU7PGJyIC8+Kzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmb3ImbmJzcDsodHlwZSZuYnNwOz0mbmJzcDsw OyZuYnNwO3R5cGUmbmJzcDsmbHQ7Jm5ic3A7WlNEQV9TRVJWSUNFX0lOVkFMSUQ7Jm5ic3A7dHlw ZSsrKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7aWYmbmJzcDsocXAtJmd0O3Nydlt0eXBlXS51c2VkKSZuYnNwO3s8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7aWYmbmJzcDsoIXFwLSZndDtzcnZbdHlwZV0ubWF0Y2gob3ApKTxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb250aW51ZTs8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7cXVldWUmbmJzcDs9Jm5ic3A7JmFtcDtxcC0mZ3Q7c3J2W3R5cGVdLnR4X3E7 PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO29wX2Nvb2tpZSZuYnNwOz0mbmJzcDtxcC0mZ3Q7c3J2W3R5 cGVdLm9wX2Nvb2tpZXM7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6c2Rh X2ZpbmRfbmV4dF9mcmVlX2Nvb2tpZShxdWV1ZSwmbmJzcDtvcF9jb29raWUsPGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7bmV3X3RhaWwpKSZuYnNw O3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7 PSZuYnNwOy1FQlVTWTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7YnJlYWs7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0 Jm5ic3A7PSZuYnNwO3FwLSZndDtzcnZbdHlwZV0udHhfY2Iob3AsJm5ic3A7cXVldWUsJm5ic3A7 b3BfY29va2llLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtuZXdfdGFpbCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7PGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3FwLSZndDtzcnZbdHlw ZV0uc3RhdHMuZW5xdWV1ZV9lcnJfY291bnQrKzs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7WlNEQV9MT0coRVJSLCZuYnNwOyZxdW90O0ZhaWxlZCEmbmJzcDtj b25maWcmbmJzcDt3cWUmcXVvdDspOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDticmVhazs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtxcC0mZ3Q7c3J2W3R5cGVdLnN0YXRzLmVucXVldWVkX2NvdW50Kys7PGJyIC8+KzxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7dGFpbCZuYnNwOz0mbmJzcDt6c2RhX21vZHVsb18x NihuZXdfdGFpbCZuYnNwOysmbmJzcDsxLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7cXVldWVfc2l6ZSZu YnNwOy0mbmJzcDsxKTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KG5ld190 YWlsJm5ic3A7Jmd0OyZuYnNwO3F1ZXVlLSZndDt0YWlsKTxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7dmFsaWQmbmJzcDs9PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3pzZGFfbW9kdWxvXzgocXVldWUtJmd0O3ZhbGlkJm5ic3A7KyZuYnNwOzEsPGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw Oyh1aW50OF90KShxdWV1ZS0mZ3Q7Y3ljbGVfc2l6ZSZuYnNwOy0mbmJzcDsxKSk7PGJyIC8+Kzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7cHVzaGVkX3dxZSsrOzxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDticmVhazs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7fTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAv PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDtyZXQ7PGJyIC8+K308YnIgLz4r PGJyIC8+K3N0YXRpYyZuYnNwO3ZvaWQ8YnIgLz4renNkYV90eF93cml0ZV90YWlsKHN0cnVjdCZu YnNwO3pzZGFfcXVldWUmbmJzcDsqcXVldWUpPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7aWYmbmJzcDsocXVldWUtJmd0O3B1c2hlZF93cWUpPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1dSSVRFX0NTUl9XUV9UQUlMKHF1 ZXVlLSZndDtpb19hZGRyLCZuYnNwO3F1ZXVlLSZndDtod19xdWV1ZV9udW1iZXIsPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlLSZn dDt0YWlsKTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlLSZndDtw dXNoZWRfd3FlJm5ic3A7PSZuYnNwOzA7PGJyIC8+K308YnIgLz4rPGJyIC8+K3VpbnQxNl90PGJy IC8+K3pzZGFfZW5xdWV1ZV9vcF9idXJzdChzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KnFwLCZu YnNwO3ZvaWQmbmJzcDsqKm9wcywmbmJzcDt1aW50MTZfdCZuYnNwO25iX29wcyk8YnIgLz4rezxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7MDs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZW51bSZuYnNwO3pzZGFfc2VydmljZV90eXBl Jm5ic3A7dHlwZTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dWludDE2X3QmbmJzcDtp OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZuYnNwO25iX3NlbmQmbmJz cDs9Jm5ic3A7MDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dm9pZCZuYnNwOypvcDs8 YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KG5iX29wcyZuYnNw OyZndDsmbmJzcDtaU0RBX01BWF9ERVNDKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7WlNEQV9MT0coRVJSLCZuYnNwOyZxdW90O0Vu cXVldWUmbmJzcDtudW1iZXImbmJzcDtiaWdnZXImbmJzcDt0aGFuJm5ic3A7JWQmcXVvdDssJm5i c3A7WlNEQV9NQVhfREVTQyk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOzA7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO308YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZvciZuYnNwOyhpJm5i c3A7PSZuYnNwOzA7Jm5ic3A7aSZuYnNwOyZsdDsmbmJzcDtuYl9vcHM7Jm5ic3A7aSsrKSZuYnNw O3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 b3AmbmJzcDs9Jm5ic3A7b3BzW2ldOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enNkYV9lbnF1ZXVlKG9wLCZuYnNw O3FwKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7aWYmbmJzcDsocmV0Jm5ic3A7Jmx0OyZuYnNwOzApPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2Jy ZWFrOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtuYl9zZW5kKys7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZvciZuYnNwOyh0eXBlJm5ic3A7PSZuYnNwOzA7Jm5i c3A7dHlwZSZuYnNwOyZsdDsmbmJzcDtaU0RBX1NFUlZJQ0VfSU5WQUxJRDsmbmJzcDt0eXBlKysp PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lm Jm5ic3A7KHFwLSZndDtzcnZbdHlwZV0udXNlZCk8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enNkYV90 eF93cml0ZV90YWlsKCZhbXA7cXAtJmd0O3Nydlt0eXBlXS50eF9xKTs8YnIgLz4rPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO25iX3NlbmQ7PGJyIC8+K308YnIgLz4r PGJyIC8+Jm5ic3A7aW50PGJyIC8+Jm5ic3A7enNkYV9jb21tb25fc2V0dXBfcXAodWludDMyX3Qm bmJzcDt6c2RhX2Rldl9pZCwmbmJzcDtzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KipxcF9hZGRy LDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2NvbnN0Jm5ic3A7dWludDE2X3QmbmJzcDtxdWV1ZV9wYWlyX2lkLCZuYnNwO2NvbnN0Jm5i c3A7c3RydWN0Jm5ic3A7enNkYV9xcF9jb25maWcmbmJzcDsqY29uZik8YnIgLz5kaWZmJm5ic3A7 LS1naXQmbmJzcDthL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oJm5ic3A7Yi9kcml2ZXJz L2NvbW1vbi96c2RhL3pzZGFfcXAuaDxiciAvPmluZGV4Jm5ic3A7YTlmMGQzOGJhNS4uZjllZmZm MGU1YSZuYnNwOzEwMDY0NDxiciAvPi0tLSZuYnNwO2EvZHJpdmVycy9jb21tb24venNkYS96c2Rh X3FwLmg8YnIgLz4rKysmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oPGJyIC8+ QEAmbmJzcDstMTM1LDYmbmJzcDsrMTM1LDgmbmJzcDtAQCZuYnNwO2ludCZuYnNwO3pzZGFfZ2V0 X3F1ZXVlX2NmZyhzdHJ1Y3QmbmJzcDt6c2RhX3BjaV9kZXZpY2UmbmJzcDsqenNkYV9wY2lfZGV2 KTs8YnIgLz4mbmJzcDsNPGJyIC8+Jm5ic3A7aW50Jm5ic3A7enNkYV9xdWV1ZV9wYWlyX3JlbGVh c2Uoc3RydWN0Jm5ic3A7enNkYV9xcCZuYnNwOyoqcXBfYWRkcik7PGJyIC8+Jm5ic3A7DTxiciAv Pit1aW50MTZfdCZuYnNwO3pzZGFfZW5xdWV1ZV9vcF9idXJzdChzdHJ1Y3QmbmJzcDt6c2RhX3Fw Jm5ic3A7KnFwLCZuYnNwO3ZvaWQmbmJzcDsqKm9wcywmbmJzcDtjb25zdCZuYnNwO3VpbnQxNl90 Jm5ic3A7bmJfb3BzKTs8YnIgLz4rPGJyIC8+Jm5ic3A7aW50Jm5ic3A7enNkYV9jb21tb25fc2V0 dXBfcXAodWludDMyX3QmbmJzcDtkZXZfaWQsJm5ic3A7c3RydWN0Jm5ic3A7enNkYV9xcCZuYnNw OyoqcXBfYWRkciw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCZuYnNwO3VpbnQxNl90 Jm5ic3A7cXVldWVfcGFpcl9pZCw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCZuYnNw O3N0cnVjdCZuYnNwO3pzZGFfcXBfY29uZmlnJm5ic3A7KmNvbmYpOzxiciAvPi0tJm5ic3A7DTxi ciAvPjIuMjcuMDxiciAvPg== --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--