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 4134442B2A; Wed, 17 May 2023 11:04:59 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1BA304114A; Wed, 17 May 2023 11:04:59 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 725284067B for ; Wed, 17 May 2023 11:04:57 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id 3ECDE22535; Wed, 17 May 2023 11:04:57 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01D9889E.A5428DFD" Subject: RE: [PATCH] lib/mempool : rte_mempool_avail_count, fixing return bigger than mempool size X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Wed, 17 May 2023 11:04:52 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D87927@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D87926@smartserver.smartshare.dk> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] lib/mempool : rte_mempool_avail_count, fixing return bigger than mempool size Thread-Index: AdmIlf6KzqbvBeO1QvaHRYawy/WQUAABENpAAAD4hWA= References: <20230516134146.480047-1-yasinncaner@gmail.com> <20230516082349.041c0e68@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35D87923@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D87926@smartserver.smartshare.dk> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Yasin CANER" Cc: "Stephen Hemminger" , , "Yasin CANER" , "Olivier Matz" , "Andrew Rybchenko" 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 This is a multi-part message in MIME format. ------_=_NextPart_001_01D9889E.A5428DFD Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbTogTW9ydGVuIEJyw7hydXAgW21haWx0bzptYkBzbWFydHNoYXJlc3lzdGVtcy5jb21dIA0K U2VudDogV2VkbmVzZGF5LCAxNyBNYXkgMjAyMyAxMC4zOA0KDQoNCg0KRnJvbTogWWFzaW4gQ0FO RVIgW21haWx0bzp5YXNpbm5jYW5lckBnbWFpbC5jb21dIA0KU2VudDogV2VkbmVzZGF5LCAxNyBN YXkgMjAyMyAxMC4wMQ0KDQoNCg0KSGVsbG8sDQoNCiANCg0KSSBkb24ndCBoYXZlIGZ1bGwga25v d2xlZGdlIG9mIGhvdyB0byB3b3JrIHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQoKSBidXQgdGhl cmUgaXMgYW5vdGhlciBjb21tZW50IGFib3V0IGl0LiBNYXliZSBpdCByZWxhdGVzLiANCg0KLyoN CiAqIGR1ZSB0byByYWNlIGNvbmRpdGlvbiAoYWNjZXNzIHRvIGxlbiBpcyBub3QgbG9ja2VkKSwg dGhlDQogKiB0b3RhbCBjYW4gYmUgZ3JlYXRlciB0aGFuIHNpemUuLi4gc28gZml4IHRoZSByZXN1 bHQNCiAqLw0KDQogDQoNCk1COiBUaGlzIGNvbW1lbnQgcmVsYXRlcyB0byB0aGUgcmFjZSB3aGVu IGFjY2Vzc2luZyB0aGUgcGVyLWxjb3JlIGNhY2hlIGNvdW50ZXJzLg0KDQogDQoNCk1CIChjb250 aW51ZWQpOiBJIGhhdmUgYWRkZWQgbW9yZSBpbmZvcm1hdGlvbiwgcmVnYXJkaW5nIG1lbXBvb2wg ZHJpdmVycywgaW4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5kcGRrLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MTIyOQ0KDQogDQoNCiANCg0KQmVzdCByZWdhcmRzLg0KDQogDQoNCk1vcnRlbiBCcsO4cnVw IDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+LCAxNiBNYXkgMjAyMyBTYWwsIDE5OjA0IHRhcmlo aW5kZSDFn3VudSB5YXpkxLE6DQoNCgk+IEZyb206IFN0ZXBoZW4gSGVtbWluZ2VyIFttYWlsdG86 c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmddDQoJPiBTZW50OiBUdWVzZGF5LCAxNiBNYXkgMjAy MyAxNy4yNA0KCT4gDQoJPiBPbiBUdWUsIDE2IE1heSAyMDIzIDEzOjQxOjQ2ICswMDAwDQoJPiBZ YXNpbiBDQU5FUiA8eWFzaW5uY2FuZXJAZ21haWwuY29tPiB3cm90ZToNCgk+IA0KCT4gPiBGcm9t OiBZYXNpbiBDQU5FUiA8eWFzaW4uY2FuZXJAdWxha2hhYmVybGVzbWUuY29tLnRyPg0KCT4gPg0K CT4gPiBhZnRlciBhIHdoaWxlIHdvcmtpbmcgcnRlX21lbXBvb2xfYXZhaWxfY291bnQgZnVuY3Rp b24gcmV0dXJucyBiaWdnZXINCgk+ID4gdGhhbiBtZW1wb29sIHNpemUgdGhhdCBjYXVzZSBtaXNj YWxjdWxhdGlvbiBydGVfbWVtcG9vbF9pbl91c2VfY291bnQuDQoJPiA+DQoJPiA+IGl0IGhlbHBz IHRvIGF2b2lkIG1pc2NhbGN1bGF0aW9uIHJ0ZV9tZW1wb29sX2luX3VzZV9jb3VudC4NCgk+ID4N Cgk+ID4gQnVnemlsbGEgSUQ6IDEyMjkNCgk+ID4NCgk+ID4gU2lnbmVkLW9mZi1ieTogWWFzaW4g Q0FORVIgPHlhc2luLmNhbmVyQHVsYWtoYWJlcmxlc21lLmNvbS50cj4NCgk+IA0KCT4gQW4gYWx0 ZXJuYXRpdmUgdGhhdCBhdm9pZHMgc29tZSBjb2RlIGR1cGxpY2F0aW9uLg0KCT4gDQoJPiBkaWZm IC0tZ2l0IGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYyBiL2xpYi9tZW1wb29sL3J0ZV9tZW1w b29sLmMNCgk+IGluZGV4IGNmNWRlYTIzMDRhNy4uMjQwNmIxMTJlN2IwIDEwMDY0NA0KCT4gLS0t IGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYw0KCT4gKysrIGIvbGliL21lbXBvb2wvcnRlX21l bXBvb2wuYw0KCT4gQEAgLTEwMTAsNyArMTAxMCw3IEBAIHJ0ZV9tZW1wb29sX2F2YWlsX2NvdW50 KGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbA0KCT4gKm1wKQ0KCT4gICAgICAgICBjb3VudCA9IHJ0 ZV9tZW1wb29sX29wc19nZXRfY291bnQobXApOw0KCT4gDQoJPiAgICAgICAgIGlmIChtcC0+Y2Fj aGVfc2l6ZSA9PSAwKQ0KCT4gLSAgICAgICAgICAgICAgIHJldHVybiBjb3VudDsNCgk+ICsgICAg ICAgICAgICAgICBnb3RvIGV4aXQ7DQoJDQoJVGhpcyBidWcgY2FuIG9ubHkgb2NjdXIgaGVyZSAo aS5lLiB3aXRoIGNhY2hlX3NpemU9PTApIGlmIHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQoKSBy ZXR1cm5zIGFuIGluY29ycmVjdCB2YWx1ZS4gVGhlIGJ1ZyBzaG91bGQgYmUgZml4ZWQgdGhlcmUg aW5zdGVhZC4NCg0KCSANCg0KCU1CIChjb250aW51ZWQpOiBUaGUgYnVnIG11c3QgYmUgaW4gdGhl IHVuZGVybHlpbmcgbWVtcG9vbCBkcml2ZXIuIEkgdG9vayBhIGxvb2sgYXQgdGhlIHJpbmcgYW5k IHN0YWNrIGRyaXZlcnMsIGFuZCB0aGV5IHNlZW0gZmluZS4NCg0KCQ0KCQ0KCT4gDQoJPiAgICAg ICAgIGZvciAobGNvcmVfaWQgPSAwOyBsY29yZV9pZCA8IFJURV9NQVhfTENPUkU7IGxjb3JlX2lk KyspDQoJPiAgICAgICAgICAgICAgICAgY291bnQgKz0gbXAtPmxvY2FsX2NhY2hlW2xjb3JlX2lk XS5sZW47DQoJPiBAQCAtMTAxOSw2ICsxMDE5LDcgQEAgcnRlX21lbXBvb2xfYXZhaWxfY291bnQo Y29uc3Qgc3RydWN0IHJ0ZV9tZW1wb29sDQoJPiAqbXApDQoJPiAgICAgICAgICAqIGR1ZSB0byBy YWNlIGNvbmRpdGlvbiAoYWNjZXNzIHRvIGxlbiBpcyBub3QgbG9ja2VkKSwgdGhlDQoJPiAgICAg ICAgICAqIHRvdGFsIGNhbiBiZSBncmVhdGVyIHRoYW4gc2l6ZS4uLiBzbyBmaXggdGhlIHJlc3Vs dA0KCT4gICAgICAgICAgKi8NCgk+ICtleGl0Og0KCT4gICAgICAgICBpZiAoY291bnQgPiBtcC0+ c2l6ZSkNCgk+ICAgICAgICAgICAgICAgICByZXR1cm4gbXAtPnNpemU7DQoJPiAgICAgICAgIHJl dHVybiBjb3VudDsNCg0K ------_=_NextPart_001_01D9889E.A5428DFD Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206 b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4 MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2 YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9 Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9 Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0 cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0 dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3 Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0 cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4 bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6 cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3 LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlw ZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9R2VuZXJhdG9y IGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDEyIChmaWx0ZXJlZCBtZWRpdW0pIj48c3R5bGU+PCEt LQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2Ft YnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250LWZhY2UN Cgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9 DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglwYW5vc2UtMToyIDExIDYgNCAz IDUgNCA0IDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1z b05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAw MDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i LCJzZXJpZiI7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3Jp dHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlz aXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7 DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5FbWFp bFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGli cmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJ e21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIiwi c2Fucy1zZXJpZiI7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5 bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0 aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4w cHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+ PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9 ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBt c28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0 PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPjwv aGVhZD48Ym9keSBsYW5nPUVOLVVTIGxpbms9Ymx1ZSB2bGluaz1wdXJwbGU+PGRpdiBjbGFzcz1X b3JkU2VjdGlvbjE+PGRpdiBzdHlsZT0nYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1 ZSAxLjVwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDQuMHB0Jz48cCBjbGFzcz1Nc29Ob3JtYWw+PGI+ PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMt c2VyaWYiJz5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiJz4gTW9ydGVuIEJyw7hydXAgW21haWx0bzpt YkBzbWFydHNoYXJlc3lzdGVtcy5jb21dIDxicj48Yj5TZW50OjwvYj4gV2VkbmVzZGF5LCAxNyBN YXkgMjAyMyAxMC4zODxicj48YnI+PC9zcGFuPjxvOnA+PC9vOnA+PC9wPjxkaXYgc3R5bGU9J2Jv cmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBj bSA0LjBwdCc+PHAgY2xhc3M9TXNvTm9ybWFsPjxiPjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTAu MHB0O2ZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIic+RnJvbTo8L3NwYW4+PC9iPjxz cGFuIHN0eWxlPSdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNl cmlmIic+IFlhc2luIENBTkVSIFttYWlsdG86eWFzaW5uY2FuZXJAZ21haWwuY29tXSA8YnI+PGI+ U2VudDo8L2I+IFdlZG5lc2RheSwgMTcgTWF5IDIwMjMgMTAuMDE8YnI+PGJyPjwvc3Bhbj48bzpw PjwvbzpwPjwvcD48ZGl2PjxwIGNsYXNzPU1zb05vcm1hbD5IZWxsbyw8bzpwPjwvbzpwPjwvcD48 ZGl2PjxwIGNsYXNzPU1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48L2Rpdj48ZGl2Pjxw IGNsYXNzPU1zb05vcm1hbD5JIGRvbid0Jm5ic3A7aGF2ZSBmdWxsIGtub3dsZWRnZSBvZiBob3cm bmJzcDt0byB3b3JrIHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQoKSBidXQgdGhlcmUgaXMgYW5v dGhlciBjb21tZW50IGFib3V0IGl0LiBNYXliZSBpdCByZWxhdGVzLiZuYnNwOzxvOnA+PC9vOnA+ PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPi8qPGJyPiZuYnNwOyogZHVlIHRvIHJh Y2UgY29uZGl0aW9uIChhY2Nlc3MgdG8gbGVuIGlzIG5vdCBsb2NrZWQpLCB0aGU8YnI+Jm5ic3A7 KiB0b3RhbCBjYW4gYmUgZ3JlYXRlciB0aGFuIHNpemUuLi4gc28gZml4IHRoZSByZXN1bHQ8YnI+ Jm5ic3A7Ki88bzpwPjwvbzpwPjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPU1zb05vcm1hbD48c3Bh biBzdHlsZT0nY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPjxwIGNs YXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi Q2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPk1COiBUaGlzIGNvbW1lbnQgcmVs YXRlcyB0byB0aGUgcmFjZSB3aGVuIGFjY2Vzc2luZyB0aGUgcGVyLWxjb3JlIGNhY2hlIGNvdW50 ZXJzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9 J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xv cjojMUY0OTdEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9TXNvTm9ybWFs PjxzcGFuIHN0eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu cy1zZXJpZiI7Y29sb3I6IzFGNDk3RCc+TUIgKGNvbnRpbnVlZCk6IEkgaGF2ZSBhZGRlZCBtb3Jl IGluZm9ybWF0aW9uLCByZWdhcmRpbmcgbWVtcG9vbCBkcml2ZXJzLCBpbiBCdWd6aWxsYTogPGEg aHJlZj0iaHR0cHM6Ly9idWdzLmRwZGsub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI5Ij5odHRwczov L2J1Z3MuZHBkay5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjk8L2E+PG86cD48L286cD48L3NwYW4+ PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7 PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz1Nc29Ob3JtYWw+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdE Jz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PC9kaXY+PGRpdj48cCBjbGFzcz1Nc29Ob3Jt YWw+QmVzdCByZWdhcmRzLjxvOnA+PC9vOnA+PC9wPjwvZGl2PjwvZGl2PjxwIGNsYXNzPU1zb05v cm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48ZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPk1v cnRlbiBCcsO4cnVwICZsdDs8YSBocmVmPSJtYWlsdG86bWJAc21hcnRzaGFyZXN5c3RlbXMuY29t Ij5tYkBzbWFydHNoYXJlc3lzdGVtcy5jb208L2E+Jmd0OywgMTYgTWF5IDIwMjMgU2FsLCAxOTow NCB0YXJpaGluZGUgxZ91bnUgeWF6ZMSxOjxvOnA+PC9vOnA+PC9wPjwvZGl2PjxibG9ja3F1b3Rl IHN0eWxlPSdib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRp bmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDtt YXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQnPjxwIGNsYXNzPU1zb05vcm1hbD4m Z3Q7IEZyb206IFN0ZXBoZW4gSGVtbWluZ2VyIFttYWlsdG86PGEgaHJlZj0ibWFpbHRvOnN0ZXBo ZW5AbmV0d29ya3BsdW1iZXIub3JnIiB0YXJnZXQ9Il9ibGFuayI+c3RlcGhlbkBuZXR3b3JrcGx1 bWJlci5vcmc8L2E+XTxicj4mZ3Q7IFNlbnQ6IFR1ZXNkYXksIDE2IE1heSAyMDIzIDE3LjI0PGJy PiZndDsgPGJyPiZndDsgT24gVHVlLCAxNiBNYXkgMjAyMyAxMzo0MTo0NiArMDAwMDxicj4mZ3Q7 IFlhc2luIENBTkVSICZsdDs8YSBocmVmPSJtYWlsdG86eWFzaW5uY2FuZXJAZ21haWwuY29tIiB0 YXJnZXQ9Il9ibGFuayI+eWFzaW5uY2FuZXJAZ21haWwuY29tPC9hPiZndDsgd3JvdGU6PGJyPiZn dDsgPGJyPiZndDsgJmd0OyBGcm9tOiBZYXNpbiBDQU5FUiAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlh c2luLmNhbmVyQHVsYWtoYWJlcmxlc21lLmNvbS50ciIgdGFyZ2V0PSJfYmxhbmsiPnlhc2luLmNh bmVyQHVsYWtoYWJlcmxlc21lLmNvbS50cjwvYT4mZ3Q7PGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZn dDsgYWZ0ZXIgYSB3aGlsZSB3b3JraW5nIHJ0ZV9tZW1wb29sX2F2YWlsX2NvdW50IGZ1bmN0aW9u IHJldHVybnMgYmlnZ2VyPGJyPiZndDsgJmd0OyB0aGFuIG1lbXBvb2wgc2l6ZSB0aGF0IGNhdXNl IG1pc2NhbGN1bGF0aW9uIHJ0ZV9tZW1wb29sX2luX3VzZV9jb3VudC48YnI+Jmd0OyAmZ3Q7PGJy PiZndDsgJmd0OyBpdCBoZWxwcyB0byBhdm9pZCBtaXNjYWxjdWxhdGlvbiBydGVfbWVtcG9vbF9p bl91c2VfY291bnQuPGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgQnVnemlsbGEgSUQ6IDEyMjk8 YnI+Jmd0OyAmZ3Q7PGJyPiZndDsgJmd0OyBTaWduZWQtb2ZmLWJ5OiBZYXNpbiBDQU5FUiAmbHQ7 PGEgaHJlZj0ibWFpbHRvOnlhc2luLmNhbmVyQHVsYWtoYWJlcmxlc21lLmNvbS50ciIgdGFyZ2V0 PSJfYmxhbmsiPnlhc2luLmNhbmVyQHVsYWtoYWJlcmxlc21lLmNvbS50cjwvYT4mZ3Q7PGJyPiZn dDsgPGJyPiZndDsgQW4gYWx0ZXJuYXRpdmUgdGhhdCBhdm9pZHMgc29tZSBjb2RlIGR1cGxpY2F0 aW9uLjxicj4mZ3Q7IDxicj4mZ3Q7IGRpZmYgLS1naXQgYS9saWIvbWVtcG9vbC9ydGVfbWVtcG9v bC5jIGIvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYzxicj4mZ3Q7IGluZGV4IGNmNWRlYTIzMDRh Ny4uMjQwNmIxMTJlN2IwIDEwMDY0NDxicj4mZ3Q7IC0tLSBhL2xpYi9tZW1wb29sL3J0ZV9tZW1w b29sLmM8YnI+Jmd0OyArKysgYi9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5jPGJyPiZndDsgQEAg LTEwMTAsNyArMTAxMCw3IEBAIHJ0ZV9tZW1wb29sX2F2YWlsX2NvdW50KGNvbnN0IHN0cnVjdCBy dGVfbWVtcG9vbDxicj4mZ3Q7ICptcCk8YnI+Jmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDtjb3VudCA9IHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQobXApOzxicj4mZ3Q7IDxi cj4mZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChtcC0mZ3Q7Y2FjaGVf c2l6ZSA9PSAwKTxicj4mZ3Q7IC0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIGNvdW50Ozxicj4mZ3Q7ICsmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Z290byBleGl0Ozxicj48YnI+ VGhpcyBidWcgY2FuIG9ubHkgb2NjdXIgaGVyZSAoaS5lLiB3aXRoIGNhY2hlX3NpemU9PTApIGlm IHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQoKSByZXR1cm5zIGFuIGluY29ycmVjdCB2YWx1ZS4g VGhlIGJ1ZyBzaG91bGQgYmUgZml4ZWQgdGhlcmUgaW5zdGVhZC48c3BhbiBzdHlsZT0nY29sb3I6 IzFGNDk3RCc+PG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0n bWFyZ2luLWJvdHRvbTo1LjBwdCc+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTdEJz48bzpwPiZuYnNwOzwv bzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSdtYXJnaW4tYm90dG9tOjUu MHB0Jz48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIs InNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPk1CIChjb250aW51ZWQpOiBUaGUgYnVnIG11c3Qg YmUgaW4gdGhlIHVuZGVybHlpbmcgbWVtcG9vbCBkcml2ZXIuIEkgdG9vayBhIGxvb2sgYXQgdGhl IHJpbmcgYW5kIHN0YWNrIGRyaXZlcnMsIGFuZCB0aGV5IHNlZW0gZmluZS48bzpwPjwvbzpwPjwv c3Bhbj48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxicj48YnI+Jmd0OyA8YnI+Jmd0OyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtmb3IgKGxjb3JlX2lkID0gMDsgbGNvcmVfaWQgJmx0 OyBSVEVfTUFYX0xDT1JFOyBsY29yZV9pZCsrKTxicj4mZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtjb3VudCArPSBtcC0mZ3Q7 bG9jYWxfY2FjaGVbbGNvcmVfaWRdLmxlbjs8YnI+Jmd0OyBAQCAtMTAxOSw2ICsxMDE5LDcgQEAg cnRlX21lbXBvb2xfYXZhaWxfY291bnQoY29uc3Qgc3RydWN0IHJ0ZV9tZW1wb29sPGJyPiZndDsg Km1wKTxicj4mZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIGR1ZSB0byBy YWNlIGNvbmRpdGlvbiAoYWNjZXNzIHRvIGxlbiBpcyBub3QgbG9ja2VkKSwgdGhlPGJyPiZndDsm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICogdG90YWwgY2FuIGJlIGdyZWF0ZXIg dGhhbiBzaXplLi4uIHNvIGZpeCB0aGUgcmVzdWx0PGJyPiZndDsmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICovPGJyPiZndDsgK2V4aXQ6PGJyPiZndDsmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7aWYgKGNvdW50ICZndDsgbXAtJmd0O3NpemUpPGJyPiZndDsmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O3JldHVybiBtcC0mZ3Q7c2l6ZTs8YnI+Jmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDtyZXR1cm4gY291bnQ7PG86cD48L286cD48L3A+PC9ibG9ja3F1b3RlPjwvZGl2PjwvZGl2 PjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+ ------_=_NextPart_001_01D9889E.A5428DFD--