From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 78AAF446D2 for ; Wed, 21 Sep 2022 03:04:06 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 52AA068BB35; Wed, 21 Sep 2022 06:04:03 +0300 (EEST) Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 53CFE68BA40 for ; Wed, 21 Sep 2022 06:03:55 +0300 (EEST) Received: from smtpclient.apple (unknown [202.141.160.96]) by localhost.localdomain (Coremail) with SMTP id AQAAf8AxDGsQfypj0C4fAA--.50137S2; Wed, 21 Sep 2022 11:03:49 +0800 (CST) From: Shiyou Yin Message-Id: Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\)) Date: Wed, 21 Sep 2022 11:03:44 +0800 In-Reply-To: To: FFmpeg development discussions and patches References: <20220829112656.9229-1-chenhao@loongson.cn> <20220829112656.9229-4-chenhao@loongson.cn> X-Mailer: Apple Mail (2.3696.80.82.1.1) X-CM-TRANSID: AQAAf8AxDGsQfypj0C4fAA--.50137S2 X-Coremail-Antispam: 1UD129KBjvJXoW3Aw18ZF48uF1xWFWUGr13twb_yoWxWw15pw 4akrnxtanxtan3X3s3Jws8tr1v93s7Gw13KFnIk3sF9ryjgr9IgryktryUZasFq3y5JFWq 9ryY93y7ua4DC37anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkYb7Iv0xC_tr1lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjc xK6I8E87Iv6xkF7I0E14v26F4UJVW0owAS0I0E0xvYzxvE52x082IY62kv0487McIj6xII jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr 1lF7xvr2IYc2Ij64vIr41l7480Y4vEI4kI2Ix0rVAqx4xJMxkIecxEwVAFwVW8GwCF04k2 0xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r106r1rMI 8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41l IxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIx AIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2 jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8Xo2UUUUUU== X-CM-SenderInfo: p1lq2x5l1r3gtki6z05rqj20fqof0/ X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v1 3/3] swscale/la: Add output_lasx.c file. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: andreas.rheinhardt@outlook.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Cgo+IDIwMjLlubQ55pyIMTHml6UgMTA6MDbvvIxTaGl5b3UgWWluIDx5aW5zaGl5b3UtaGZAbG9v bmdzb24uY24+IOWGmemBk++8mgo+IAo+IAo+IAo+PiAyMDIy5bm0OeaciDnml6UgMjE6MTHvvIxB bmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbSA8bWFpbHRv OmFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4+IOWGmemBk++8mgo+PiAKPj4gU2hpeW91 IFlpbjoKPj4+IAo+Pj4gCj4+Pj4gMjAyMuW5tDnmnIg25pelIDE2OjEy77yMU2hpeW91IFlpbiA8 eWluc2hpeW91LWhmQGxvb25nc29uLmNuIDxtYWlsdG86eWluc2hpeW91LWhmQGxvb25nc29uLmNu Pj4g5YaZ6YGT77yaCj4+Pj4gCj4+Pj4+IAo+Pj4+PiAyMDIy5bm0OOaciDI55pelIDIwOjMw77yM QW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20gPG1haWx0 bzphbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+IDxtYWlsdG86YW5kcmVhcy5yaGVpbmhh cmR0QG91dGxvb2suY29tIDxtYWlsdG86YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPj4+ IOWGmemBk++8mgo+Pj4+PiAKPj4+Pj4gSGFvIENoZW46Cj4+Pj4+PiBmZm1wZWcgLWkgfi9tZWRp YS8xX2gyNjRfMTA4MHBfMzBmcHNfM01icHMubXA0IC1mIHJhd3ZpZGVvIC1zIDY0MHg0ODAgLXBp eF9mbXQKPj4+Pj4+IHJnYjI0IC15IC9kZXYvbnVsbCAtYW4KPj4+Pj4+IGJlZm9yZTogMTUwZnBz Cj4+Pj4+PiBhZnRlcjogMTgzZnBzCj4+Pj4+PiAKPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEhhbyBD aGVuIDxjaGVuaGFvQGxvb25nc29uLmNuIDxtYWlsdG86Y2hlbmhhb0Bsb29uZ3Nvbi5jbj4+Cj4+ Pj4+PiAtLS0KPj4+Pj4+IGxpYnN3c2NhbGUvbG9vbmdhcmNoL01ha2VmaWxlIHwgMyArLQo+Pj4+ Pj4gbGlic3dzY2FsZS9sb29uZ2FyY2gvb3V0cHV0X2xhc3guYyB8IDE5ODIgKysrKysrKysrKysr KysrKysKPj4+Pj4+IGxpYnN3c2NhbGUvbG9vbmdhcmNoL3N3c2NhbGVfaW5pdF9sb29uZ2FyY2gu YyB8IDMgKwo+Pj4+Pj4gbGlic3dzY2FsZS9sb29uZ2FyY2gvc3dzY2FsZV9sb29uZ2FyY2guaCB8 IDYgKwo+Pj4+Pj4gNCBmaWxlcyBjaGFuZ2VkLCAxOTkzIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKPj4+Pj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJzd3NjYWxlL2xvb25nYXJjaC9vdXRw dXRfbGFzeC5jCj4+Pj4+PiAKPj4+IAo+Pj4+Pj4gK3N0YXRpYyB2b2lkCj4+Pj4+PiAreXV2MnJn Yl8yX3RlbXBsYXRlX2xhc3goU3dzQ29udGV4dCAqYywgY29uc3QgaW50MTZfdCAqYnVmWzJdLAo+ Pj4+Pj4gKyBjb25zdCBpbnQxNl90ICp1YnVmWzJdLCBjb25zdCBpbnQxNl90ICp2YnVmWzJdLAo+ Pj4+Pj4gKyBjb25zdCBpbnQxNl90ICphYnVmWzJdLCB1aW50OF90ICpkZXN0LCBpbnQgZHN0VywK Pj4+Pj4+ICsgaW50IHlhbHBoYSwgaW50IHV2YWxwaGEsIGludCB5LAo+Pj4+Pj4gKyBlbnVtIEFW UGl4ZWxGb3JtYXQgdGFyZ2V0LCBpbnQgaGFzQWxwaGEpCj4+Pj4+PiArewo+Pj4+Pj4gKyBjb25z dCBpbnQxNl90ICpidWYwID0gYnVmWzBdLCAqYnVmMSA9IGJ1ZlsxXSwKPj4+Pj4+ICsgKnVidWYw ID0gdWJ1ZlswXSwgKnVidWYxID0gdWJ1ZlsxXSwKPj4+Pj4+ICsgKnZidWYwID0gdmJ1ZlswXSwg KnZidWYxID0gdmJ1ZlsxXTsKPj4+Pj4+ICsgaW50IHlhbHBoYTEgPSA0MDk2IC0geWFscGhhOwo+ Pj4+Pj4gKyBpbnQgdXZhbHBoYTEgPSA0MDk2IC0gdXZhbHBoYTsKPj4+Pj4+ICsgaW50IGksIGNv dW50ID0gMDsKPj4+Pj4+ICsgaW50IGxlbiA9IGRzdFcgLSAxNTsKPj4+Pj4+ICsgaW50IGxlbl9j b3VudCA9IChkc3RXICsgMSkgPj4gMTsKPj4+Pj4+ICsgY29uc3Qgdm9pZCAqciwgKmcsICpiOwo+ Pj4+Pj4gKyBpbnQgaGVhZCA9IFlVVlJHQl9UQUJMRV9IRUFEUk9PTTsKPj4+Pj4+ICsgX19tMjU2 aSB2X3lhbHBoYTEgPSBfX2xhc3hfeHZyZXBsZ3IydnJfdyh5YWxwaGExKTsKPj4+Pj4+ICsgX19t MjU2aSB2X3V2YWxwaGExID0gX19sYXN4X3h2cmVwbGdyMnZyX3codXZhbHBoYTEpOwo+Pj4+Pj4g KyBfX20yNTZpIHZfeWFscGhhID0gX19sYXN4X3h2cmVwbGdyMnZyX3coeWFscGhhKTsKPj4+Pj4+ ICsgX19tMjU2aSB2X3V2YWxwaGEgPSBfX2xhc3hfeHZyZXBsZ3IydnJfdyh1dmFscGhhKTsKPj4+ Pj4+ICsgX19tMjU2aSBoZWFkcm9vbSA9IF9fbGFzeF94dnJlcGxncjJ2cl93KGhlYWQpOwo+Pj4+ Pj4gKwo+Pj4+Pj4gKyBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDE2KSB7Cj4+Pj4+PiArIGlu dCBZMSwgWTIsIFUsIFY7Cj4+Pj4+PiArIGludCBpX2RleCA9IGkgPDwgMTsKPj4+Pj4+ICsgaW50 IGNfZGV4ID0gY291bnQgPDwgMTsKPj4+Pj4+ICsgX19tMjU2aSB5MF9oLCB5MF9sLCB5MCwgdTAs IHYwOwo+Pj4+Pj4gKyBfX20yNTZpIHkxX2gsIHkxX2wsIHkxLCB1MSwgdjE7Cj4+Pj4+PiArIF9f bTI1NmkgeV9sLCB5X2gsIHUsIHY7Cj4+Pj4+PiArCj4+Pj4+PiArIERVUDRfQVJHMihfX2xhc3hf eHZsZHgsIGJ1ZjAsIGlfZGV4LCB1YnVmMCwgY19kZXgsIHZidWYwLCBjX2RleCwKPj4+Pj4+ICsg YnVmMSwgaV9kZXgsIHkwLCB1MCwgdjAsIHkxKTsKPj4+Pj4+ICsgRFVQMl9BUkcyKF9fbGFzeF94 dmxkeCwgdWJ1ZjEsIGNfZGV4LCB2YnVmMSwgY19kZXgsIHUxLCB2MSk7Cj4+Pj4+PiArIERVUDJf QVJHMihfX2xhc3hfeHZzbGx3aWxfd19oLCB5MCwgMCwgeTEsIDAsIHkwX2wsIHkxX2wpOwo+Pj4+ Pj4gKyBEVVAyX0FSRzEoX19sYXN4X3h2ZXh0aF93X2gsIHkwLCB5MSwgeTBfaCwgeTFfaCk7Cj4+ Pj4+PiArIERVUDRfQVJHMShfX2xhc3hfdmV4dDJ4dl93X2gsIHUwLCB1MSwgdjAsIHYxLCB1MCwg dTEsIHYwLCB2MSk7Cj4+Pj4+PiArIHkwX2wgPSBfX2xhc3hfeHZtdWxfdyh5MF9sLCB2X3lhbHBo YTEpOwo+Pj4+Pj4gKyB5MF9oID0gX19sYXN4X3h2bXVsX3coeTBfaCwgdl95YWxwaGExKTsKPj4+ Pj4+ICsgdTAgPSBfX2xhc3hfeHZtdWxfdyh1MCwgdl91dmFscGhhMSk7Cj4+Pj4+PiArIHYwID0g X19sYXN4X3h2bXVsX3codjAsIHZfdXZhbHBoYTEpOwo+Pj4+Pj4gKyB5X2wgPSBfX2xhc3hfeHZt YWRkX3coeTBfbCwgdl95YWxwaGEsIHkxX2wpOwo+Pj4+Pj4gKyB5X2ggPSBfX2xhc3hfeHZtYWRk X3coeTBfaCwgdl95YWxwaGEsIHkxX2gpOwo+Pj4+Pj4gKyB1ID0gX19sYXN4X3h2bWFkZF93KHUw LCB2X3V2YWxwaGEsIHUxKTsKPj4+Pj4+ICsgdiA9IF9fbGFzeF94dm1hZGRfdyh2MCwgdl91dmFs cGhhLCB2MSk7Cj4+Pj4+PiArIHlfbCA9IF9fbGFzeF94dnNyYWlfdyh5X2wsIDE5KTsKPj4+Pj4+ ICsgeV9oID0gX19sYXN4X3h2c3JhaV93KHlfaCwgMTkpOwo+Pj4+Pj4gKyB1ID0gX19sYXN4X3h2 c3JhaV93KHUsIDE5KTsKPj4+Pj4+ICsgdiA9IF9fbGFzeF94dnNyYWlfdyh2LCAxOSk7Cj4+Pj4+ PiArIHUgPSBfX2xhc3hfeHZhZGRfdyh1LCBoZWFkcm9vbSk7Cj4+Pj4+PiArIHYgPSBfX2xhc3hf eHZhZGRfdyh2LCBoZWFkcm9vbSk7Cj4+Pj4+PiArIFdSSVRFX1lVVjJSR0IoeV9sLCB5X2wsIHUs IHYsIDAsIDEsIDAsIDApOwo+Pj4+Pj4gKyBXUklURV9ZVVYyUkdCKHlfbCwgeV9sLCB1LCB2LCAy LCAzLCAxLCAxKTsKPj4+Pj4+ICsgV1JJVEVfWVVWMlJHQih5X2gsIHlfaCwgdSwgdiwgMCwgMSwg MiwgMik7Cj4+Pj4+PiArIFdSSVRFX1lVVjJSR0IoeV9oLCB5X2gsIHUsIHYsIDIsIDMsIDMsIDMp Owo+Pj4+Pj4gKyBXUklURV9ZVVYyUkdCKHlfbCwgeV9sLCB1LCB2LCA0LCA1LCA0LCA0KTsKPj4+ Pj4+ICsgV1JJVEVfWVVWMlJHQih5X2wsIHlfbCwgdSwgdiwgNiwgNywgNSwgNSk7Cj4+Pj4+PiAr IFdSSVRFX1lVVjJSR0IoeV9oLCB5X2gsIHUsIHYsIDQsIDUsIDYsIDYpOwo+Pj4+Pj4gKyBXUklU RV9ZVVYyUkdCKHlfaCwgeV9oLCB1LCB2LCA2LCA3LCA3LCA3KTsKPj4+Pj4+ICsgfQo+Pj4+Pj4g KyBpZiAoZHN0VyAtIGkgPj0gOCkgewo+Pj4+Pj4gKyBpbnQgWTEsIFkyLCBVLCBWOwo+Pj4+Pj4g KyBpbnQgaV9kZXggPSBpIDw8IDE7Cj4+Pj4+PiArIF9fbTI1NmkgeTBfbCwgeTAsIHUwLCB2MDsK Pj4+Pj4+ICsgX19tMjU2aSB5MV9sLCB5MSwgdTEsIHYxOwo+Pj4+Pj4gKyBfX20yNTZpIHlfbCwg dSwgdjsKPj4+Pj4+ICsKPj4+Pj4+ICsgeTAgPSBfX2xhc3hfeHZsZHgoYnVmMCwgaV9kZXgpOwo+ Pj4+PiAKPj4+Pj4gMS4gTm90IGxvbmcgYWdvLCBJIHRyaWVkIHRvIGNvbnN0aWZ5IHRoZSBzcmMg cG9pbnRlciBvZiBzZXZlcmFsIGFzbQo+Pj4+PiBmdW5jdGlvbnMgYW5kIG5vdGljZWQgdGhhdCB0 aGV5IHByb2R1Y2VkIG5ldyB3YXJuaW5ncyBmb3IgbG9vbmdhcmNoCj4+Pj4+IChhY2NvcmRpbmcg dG8gcGF0Y2h3b3JrOgo+Pj4+PiBodHRwczovL3BhdGNod29yay5mZm1wZWcub3JnL3Byb2plY3Qv ZmZtcGVnL3BhdGNoL0RCNlBSMDEwMU1CMjIxNDE3OEQzRTZCOERDQTVCODZGODE5OEY5QTlAREI2 UFIwMTAxTUIyMjE0LmV1cnByZDAxLnByb2QuZXhjaGFuZ2VsYWJzLmNvbS8gPGh0dHBzOi8vcGF0 Y2h3b3JrLmZmbXBlZy5vcmcvcHJvamVjdC9mZm1wZWcvcGF0Y2gvREI2UFIwMTAxTUIyMjE0MTc4 RDNFNkI4RENBNUI4NkY4MTk4RjlBOUBEQjZQUjAxMDFNQjIyMTQuZXVycHJkMDEucHJvZC5leGNo YW5nZWxhYnMuY29tLz4pLAo+Pj4+PiBldmVuIHRob3VnaCBJIHdhcyBzdXJlIHRoYXQgdGhlIGNv ZGUgaXMgY29uc3QtY29ycmVjdC4gQWZ0ZXIgZmluZGluZwo+Pj4+PiAodmlhIGh0dHBzOi8vZ2l0 aHViLmNvbS9vcGVuY3Yvb3BlbmN2L3B1bGwvMjE4MzMgPGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVu Y3Yvb3BlbmN2L3B1bGwvMjE4MzM+KSBhIHRvb2xjaGFpbgo+Pj4+PiAoaHR0cHM6Ly9naXRlZS5j b20vd2VudXgvY3Jvc3MtY29tcGlsZXItbGEtb24teDg2IDxodHRwczovL2dpdGVlLmNvbS93ZW51 eC9jcm9zcy1jb21waWxlci1sYS1vbi14ODY+KSB0aGF0IGNhbiBidWlsZCB0aGUKPj4+Pj4gbGFz eCBhbmQgbHN4IGNvZGUgKHVwc3RyZWFtIEdDQyBzZWVtcyB0byBiZSBsYWNraW5nIGxzeCBhbmQg bGFzeCBzdXBwb3J0Cj4+Pj4+IGF0IHRoZSBtb21lbnQ7IGF0IGxlYXN0LCBteSBzZWxmLWNvbXBp bGVkIGxvb25nYXJjaC1HQ0MgZGlkIG5vdCBzdXBwb3J0Cj4+Pj4+IGxzeCBhbmQgbGFzeCkgdGhl IGlzc3VlIHdhcyBjbGVhcjogbHN4aW50cmluLmggYW5kIGxhc3hpbnRyaW4uaCBkbyBub3QKPj4+ Pj4gdXNlIGNvbnN0IGF0IGFsbCwgZXZlbiBmb3IgZnVuY3Rpb25zIHRoYXQgb25seSByZWFkIGRh dGEgKEkgcHJlc3VtZSB0aGUKPj4+Pj4gdmwgaW4gX19sc3hfdmxkeCBzdGFuZHMgZm9yICJ2ZWN0 b3IgbG9hZCI/KS4KPj4+Pj4gU28gSSBzZW50IGFub3RoZXIgaXRlcmF0aW9uCj4+Pj4+IGh0dHBz Oi8vZmZtcGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMjItQXVndXN0LzI5OTU2Mi5o dG1sIDxodHRwczovL2ZmbXBlZy5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1kZXZlbC8yMDIyLUF1Z3Vz dC8yOTk1NjIuaHRtbD4gb2YKPj4+Pj4gdGhhdCBwYXRjaHNldCB0aGF0IG5vdyBhZGRlZCB3cmFw cGVycyBmb3IgX19sc3hfdmxkeCgpIGFuZAo+Pj4+PiBfX2xhc3hfeHZsZHgoKSBhbmQgY2MnZWQg eW91IGFuZCBzb21lIG90aGVyIGRldmVsb3BlcnMgZnJvbSBsb29uZ3NvbiB0bwo+Pj4+PiBhbGVy dCB5b3Ugb2YgdGhlIGlzc3VlIGluIHRoZSBob3BlIHRoYXQgeW91IGZpeCB0aGUgaGVhZGVycywg c28gdGhhdCBteQo+Pj4+PiB3cmFwcGVycyB3b3VsZG4ndCBuZWVkIHRvIGJlIGFwcGxpZWQuIFRo YXQgZGlkbid0IHdvcmssIGFzIG15IG1haWxzCj4+Pj4+IGNvdWxkIG5vdCBiZSBkZWxpdmVyZWQg dG8geW91LiBTbyBJIGFwcGxpZWQgdGhlIHBhdGNoc2V0Lgo+Pj4+PiAyLiBZb3UgdXNlIF9fbGFz eF94dmxkeCgpIHRvIHJlYWQgZnJvbSBhIGNvbnN0IGludDE2X3QuIFRoaXMgd2lsbCBnaXZlCj4+ Pj4+IG5ldyB3YXJuaW5ncyB1bmxlc3MgdGhlIGFib3ZlIGlzc3VlIGhhcyBiZWVuIGZpeGVkLiBI YXMgaXQ/Cj4+Pj4+IDMuIEkgZG9uJ3Qga25vdyB3aGV0aGVyIGl0IGhhcywgYXMgcGF0Y2h3b3Jr J3MgZmF0ZSB0ZXN0cyBkb24ndCB3b3JrIGZvcgo+Pj4+PiBhIGZldyBkYXlzIGFscmVhZHkuIEdp dmVuIHRoYXQgdGhlIG1haWxzIEkgcmVjZWl2ZSBmcm9tIHBhdGNod29yayB3aGVuCj4+Pj4+IGl0 IGRvZXNuJ3QgbGlrZSBhIGNvbW1pdCBtZXNzYWdlIGFycml2ZSBmcm9tICJQYXRjaHdvcmsKPj4+ Pj4gPHlpbnNoaXlvdS1oZkBsb29uZ3Nvbi5jbiA8bWFpbHRvOnlpbnNoaXlvdS1oZkBsb29uZ3Nv bi5jbj4+IiBJIHByZXN1bWUgdGhhdCBsb29uZ3NvbiBpcyBub3cgc29tZWhvdwo+Pj4+PiBydW5u aW5nIHBhdGNod29yaywgc28geW91IHNob3VsZCBiZSBhYmxlIHRvIGluZm9ybSB0aGUgcmlnaHQg cGVvcGxlIHRvCj4+Pj4+IGZpeCBpdC4KPj4+Pj4gNC4gSWYgeW91IGZpeGVkIHRoZSBjb25zdC1p c3N1ZSwgY2FuIHlvdSBwbGVhc2UgbWFrZSBhbiB1cGRhdGVkCj4+Pj4+IHRvb2xjaGFpbiB3aXRo IGxzeCBhbmQgbGFzeCBzdXBwb3J0IGVuYWJsZWQgYXZhaWxhYmxlIHRvIHVzPwo+Pj4+PiAKPj4+ Pj4gLSBBbmRyZWFzCj4+Pj4+IAo+Pj4+IAo+Pj4+IEhpIEFuZHJlYXMsCj4+Pj4gCj4+Pj4gU29y cnkgZm9yIHRoZSBsYXRlIHJlcGx5Lgo+Pj4+IFRoaXMgaXNzdWUgd2lsbCBiZSBmaXhlZCBieSB1 c2luZyBjb25zdCBmb3IgdjEgb2YgX19sc3hfdmxkeCwgYW5kIEkgd2lsbCB1cGRhdGUgdG9vbGNo YWluIG9mIExvb25nQXJjaCBwYXRjaHdvcmsgcnVubmVyIEFTQVAuCj4+Pj4gVGhhbmsgeW91IHZl cnkgbXVjaCBmb3IgYW5hbHl6aW5nIHRoaXMgcHJvYmxlbSBhbmQgZ2l2aW5nIHN1Z2dlc3Rpb24u IAo+Pj4+IAo+Pj4+IFRoYW5rcywKPj4+PiBTaGl5b3UKPj4+IAo+Pj4gSGkgQW5kcmVhcywKPj4+ IEhhcyB1cGRhdGVkIHBhdGNod29yayBydW5uZXIgZW52aXJvbm1lbnQsIHlvdSBjYW4gcmV2ZXJ0 IHRoZSBwYXRjaHNldCB3aGljaCBhZGQgd3JhcHBlcnMgZm9yIF9fbHN4X1t4XXZsZHguCj4+PiAK Pj4gCj4+IEp1c3Qgc2VudCB0aGUgcGF0Y2hlczoKPj4gaHR0cHM6Ly9mZm1wZWcub3JnL3BpcGVy bWFpbC9mZm1wZWctZGV2ZWwvMjAyMi1TZXB0ZW1iZXIvMzAxMjAxLmh0bWwgPGh0dHBzOi8vZmZt cGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMjItU2VwdGVtYmVyLzMwMTIwMS5odG1s Pgo+PiBDYW4geW91IHByb3ZpZGUgYW4gdXBkYXRlZCB0b29sY2hhaW4gKHdpdGggeDg2IGhvc3Qp IGFibGUgdG8gY29tcGlsZSBsc3gKPj4gYW5kIGxhc3g/Cj4+IAo+PiAtIEFuZHJlYXMKPiAKPiBD b21waWxlciB0ZWFtIGhhdmVu4oCZdCByZWxlYXNlIHRoaXMgdmVyc2lvbiB5ZXQobWF5YmUgYXQg U2VwIDEzKSwgeW91IGNhbiBjaGVjayBoZXJlIDoKPiBodHRwOi8vZnRwLmxvb25nbml4LmNuL3Rv b2xjaGFpbi9nY2MvcmVsZWFzZS9sb29uZ2FyY2gvZ2NjOC8gPGh0dHA6Ly9mdHAubG9vbmduaXgu Y24vdG9vbGNoYWluL2djYy9yZWxlYXNlL2xvb25nYXJjaC9nY2M4Lz4KPiBJZiB5b3Ugd2FudCB0 byB0cnkgaXQgbm93LCB5b3UgY2FuIHVwZGF0ZSBhdHRhY2htZW50IGZpbGUgZmlyc3QuCj4gCj4g CnRvb2xjaGFpbiBoYXMgYmVlbiB1cGxvYWRlZCB0byBodHRwOi8vZnRwLmxvb25nbml4LmNuL3Rv b2xjaGFpbi9nY2MvcmVsZWFzZS9sb29uZ2FyY2gvZ2NjOC8gPGh0dHA6Ly9mdHAubG9vbmduaXgu Y24vdG9vbGNoYWluL2djYy9yZWxlYXNlL2xvb25nYXJjaC9nY2M4Lz4KbG9vbmdzb24tZ251LXRv b2xjaGFpbi04LjMtc3JjLWxvb25nYXJjaDY0LWxpbnV4LWdudS1yYzEuMS50YXIgPGh0dHA6Ly9m dHAubG9vbmduaXguY24vdG9vbGNoYWluL2djYy9yZWxlYXNlL2xvb25nYXJjaC9nY2M4L2xvb25n c29uLWdudS10b29sY2hhaW4tOC4zLXNyYy1sb29uZ2FyY2g2NC1saW51eC1nbnUtcmMxLjEudGFy PiAgCmxvb25nc29uLWdudS10b29sY2hhaW4tOC4zLXg4Nl82NC1sb29uZ2FyY2g2NC1saW51eC1n bnUtcmMxLjEudGFyLnh6IDxodHRwOi8vZnRwLmxvb25nbml4LmNuL3Rvb2xjaGFpbi9nY2MvcmVs ZWFzZS9sb29uZ2FyY2gvZ2NjOC9sb29uZ3Nvbi1nbnUtdG9vbGNoYWluLTguMy14ODZfNjQtbG9v bmdhcmNoNjQtbGludXgtZ251LXJjMS4xLnRhci54ej4KbG9vbmdzb24tZ251LXRvb2xjaGFpbi04 LjMteDg2XzY0LWxvb25nYXJjaDY0LWxpbnV4LWdudS1yYzEuMS50YXIueHoubWQ1IDxodHRwOi8v ZnRwLmxvb25nbml4LmNuL3Rvb2xjaGFpbi9nY2MvcmVsZWFzZS9sb29uZ2FyY2gvZ2NjOC9sb29u Z3Nvbi1nbnUtdG9vbGNoYWluLTguMy14ODZfNjQtbG9vbmdhcmNoNjQtbGludXgtZ251LXJjMS4x LnRhci54ei5tZDU+ICAKClRoYW5rcywKU2hpeW91Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVn LWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVn LWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K