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 DD5E24A590 for ; Thu, 2 May 2024 13:01:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F090868D7E3; Thu, 2 May 2024 16:01:12 +0300 (EEST) Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A7D9E68D71A for ; Thu, 2 May 2024 16:01:05 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1714654853; bh=4BoMfXAa5KIg0uJ2iVnsDXiE9dj7/s+/2jmHuZV/Rfs=; h=From:Subject:Date:References:To:In-Reply-To; b=M7r/aPdvi0x2BOPFHlcU/2ExkfJfbdAUoqU+u6MSribN3/9cmbSYoCSJbBMsr6PJ5 BCG/+RTOvJcrgL1YRFPVNsxGANATaXPtRiqso8nye6SN10F9/nb6wVqo5Xhmd1N/zD YRGM/Nb+yyWPceCEQe7fJmkQyZbGNYFr+jXYP1gI= Received: from smtpclient.apple ([113.118.113.209]) by newxmesmtplogicsvrszb9-0.qq.com (NewEsmtp) with SMTP id 3430286; Thu, 02 May 2024 21:00:52 +0800 X-QQ-mid: xmsmtpt1714654852t4y7iklf0 Message-ID: X-QQ-XMAILINFO: N9OH9Tz+9GdF6B6JqqlH/7iKXQiADDd62FmNcubK9zExR2irlriS2pgkGnnjXD F03IpFOAQNCbASOk+VdE51Ls5C6Sb+URALhva0prkBoPMdg86PjiOGzgjaZ4LP+hmnuKwpyHEMw+ QebH7RTq2cJ2PYuAtXetuMZ9K0V9UDGEnLUpuiSuuld0cdEmBf6m1HhN6DPsJTpi+cJrxbQBtuEq kITBU6ZS6yrgCEHa1PZYv3rM057Bvn233JprhwH6B4hQHdGM4BTmTX/jqvve5ov8/Cickf27NzZr mgx78arrijNzMrPhOUKF/R0PnNoZmkbnQQcbnLnzs1IUCQZJ0+6aLzMUwDIBB1vuYrDEN4O6R8xO e+9J5wDH9LZMd5VRK58oxfk5JQQ0T8CLOs+CGu5e7r8r2JXSofr4FbLJZ4dSQ66N7DItR1BJ/nTb rWE7gnjysgjJXJY6BdwOmAnVIx3WsQm/0dj7FCCcD3EXRdW2/r67reqkjlXAOp8pbdBL6r/XUqM1 mNj0WphSyfwJpn5CvsKfwSufRATKj0c3ESrUzlm/KLNlPUFnrdH7bn+5ZstCWn1pUcHbgVewOlMm XEDUVy0cQzA38y9SD33PHI2T9Vlhr41KwVb/grLgXh3VEZ2FSC94kuvonn18F2lcd/wKbTkX5VRq FGJDfjVPNCGTIgOI2964HMFoV07lHSfSvWi4v4A7+93uEadaAFyuQEnf0G6n+9S8s+5oCmWfXwkm o0nctSnrRSWNbFidWo0VnAjPS7iOy89ikpNW9xwC6LMXjXVUKSjyCkGacX/yZJioAdZEKWTzUHJS 9+6WHDI1hLQHzStZk2PMnQp6Tl7IQVH+UVH7y2VxV3NceTzfLiZkdMOpMPZdn70ItC/6THMf1RSl 22YYW4gsL5VSZbTehAH76RE21JrGD3KLmWkXlIVD26R6kMLUlvDZFn976Macbd/qx0lh6gWxZuc9 ob00jaHeNxe2FJnpVV57F7pfMr1bG0hI+nZBgb+88= X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= From: Zhao Zhili Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.200.91.1.1\)) Date: Thu, 2 May 2024 21:00:42 +0800 References: <20240420121943.201032-1-ffmpeg-devel@pileofstuff.org> <20240422155836.385333-1-ffmpeg-devel@pileofstuff.org> <20240422155836.385333-2-ffmpeg-devel@pileofstuff.org> <20240429092407.2267590-1-ffmpeg-devel@pileofstuff.org> <20240429092407.2267590-3-ffmpeg-devel@pileofstuff.org> To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: <2CA0EA89-31E6-4743-96B6-30142104C01B@foxmail.com> X-Mailer: Apple Mail (2.3774.200.91.1.1) Subject: Re: [FFmpeg-devel] [PATCH v4 3/4] all: Link to "context" from all contexts with documentation 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 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+IE9uIE1heSAyLCAyMDI0LCBhdCAxOTowMSwgTHlubmUgPGRldkBseW5uZS5lZT4gd3JvdGU6 Cj4gCj4gQXByIDI5LCAyMDI0LCAxMToyNCBieSBmZm1wZWctZGV2ZWxAcGlsZW9mc3R1ZmYub3Jn Ogo+IAo+PiBTb21lIGhlYWRpbmdzIG5lZWRlZCB0byBiZSByZXdyaXR0ZW4gdG8gYWNjb21vZGF0 ZSB0aGUgdGV4dCwKPj4gKGhvcGVmdWxseSkgd2l0aG91dCBjaGFuZ2luZyB0aGUgbWVhbmluZy4K Pj4gLS0tCj4+IGxpYmF2Y29kZWMvYWFjL2FhY2RlYy5oICAgICAgICAgICAgfCAgMiArLQo+PiBs aWJhdmNvZGVjL2FhY2VuYy5oICAgICAgICAgICAgICAgIHwgIDIgKy0KPj4gbGliYXZjb2RlYy9h YzNlbmMuaCAgICAgICAgICAgICAgICB8ICAyICstCj4+IGxpYmF2Y29kZWMvYW1mZW5jLmggICAg ICAgICAgICAgICAgfCAgMiArLQo+PiBsaWJhdmNvZGVjL2F0cmFjLmggICAgICAgICAgICAgICAg IHwgIDIgKy0KPj4gbGliYXZjb2RlYy9hdmNvZGVjLmggICAgICAgICAgICAgICB8ICAzICsrLQo+ PiBsaWJhdmNvZGVjL2JzZi5oICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPj4gbGliYXZjb2Rl Yy9jYnMuaCAgICAgICAgICAgICAgICAgICB8ICAyICstCj4+IGxpYmF2Y29kZWMvZDNkMTF2YS5o ICAgICAgICAgICAgICAgfCAgMyArLS0KPj4gbGliYXZjb2RlYy9oMjY0ZHNwLmggICAgICAgICAg ICAgICB8ICAyICstCj4+IGxpYmF2Y29kZWMvaDI2NHByZWQuaCAgICAgICAgICAgICAgfCAgMiAr LQo+PiBsaWJhdmNvZGVjL21lZGlhY29kZWMuaCAgICAgICAgICAgIHwgIDIgKy0KPj4gbGliYXZj b2RlYy9tcGVnYXVkaW9kZWNfdGVtcGxhdGUuYyB8ICAyICstCj4+IGxpYmF2Y29kZWMvcHRocmVh ZF9mcmFtZS5jICAgICAgICAgfCAgNCArKy0tCj4+IGxpYmF2Y29kZWMvcXN2LmggICAgICAgICAg ICAgICAgICAgfCAgNiArKysrLS0KPj4gbGliYXZjb2RlYy9zYnIuaCAgICAgICAgICAgICAgICAg ICB8ICAyICstCj4+IGxpYmF2Y29kZWMvc21hY2tlci5jICAgICAgICAgICAgICAgfCAgMiArLQo+ PiBsaWJhdmNvZGVjL3ZkcGF1LmggICAgICAgICAgICAgICAgIHwgIDMgKystCj4+IGxpYmF2Y29k ZWMvdmlkZW90b29sYm94LmggICAgICAgICAgfCAgNSArKystLQo+PiBsaWJhdmZpbHRlci9hdmZp bHRlci5oICAgICAgICAgICAgIHwgIDIgKy0KPj4gbGliYXZmb3JtYXQvYXZmb3JtYXQuaCAgICAg ICAgICAgICB8ICAzICsrLQo+PiBsaWJhdmZvcm1hdC9hdmlvLmggICAgICAgICAgICAgICAgIHwg IDMgKystCj4+IGxpYmF2dXRpbC9hdWRpb19maWZvLmggICAgICAgICAgICAgfCAgMiArLQo+PiBs aWJhdnV0aWwvaHdjb250ZXh0LmggICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrLS0tLS0t LS0tCj4+IGxpYmF2dXRpbC9od2NvbnRleHRfY3VkYS5oICAgICAgICAgfCAgMiArLQo+PiBsaWJh dnV0aWwvaHdjb250ZXh0X2QzZDExdmEuaCAgICAgIHwgIDQgKystLQo+PiBsaWJhdnV0aWwvaHdj b250ZXh0X2QzZDEydmEuaCAgICAgIHwgIDYgKysrLS0tCj4+IGxpYmF2dXRpbC9od2NvbnRleHRf ZHJtLmggICAgICAgICAgfCAgMiArLQo+PiBsaWJhdnV0aWwvaHdjb250ZXh0X2R4dmEyLmggICAg ICAgIHwgIDQgKystLQo+PiBsaWJhdnV0aWwvaHdjb250ZXh0X21lZGlhY29kZWMuaCAgIHwgIDIg Ky0KPj4gbGliYXZ1dGlsL2h3Y29udGV4dF9vcGVuY2wuaCAgICAgICB8ICA0ICsrLS0KPj4gbGli YXZ1dGlsL2h3Y29udGV4dF9xc3YuaCAgICAgICAgICB8ICA0ICsrLS0KPj4gbGliYXZ1dGlsL2h3 Y29udGV4dF92YWFwaS5oICAgICAgICB8ICA2ICsrKy0tLQo+PiBsaWJhdnV0aWwvaHdjb250ZXh0 X3ZkcGF1LmggICAgICAgIHwgIDIgKy0KPj4gbGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uaCAg ICAgICB8ICA0ICsrLS0KPj4gbGliYXZ1dGlsL2xmZy5oICAgICAgICAgICAgICAgICAgICB8ICAy ICstCj4+IDM2IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygt KQo+PiAKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjL2FhY2RlYy5oIGIvbGliYXZjb2Rl Yy9hYWMvYWFjZGVjLmgKPj4gaW5kZXggNGNmNzY0ZTJlOS4uNzFkNjE4MTNmNCAxMDA2NDQKPj4g LS0tIGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmgKPj4gKysrIGIvbGliYXZjb2RlYy9hYWMvYWFj ZGVjLmgKPj4gQEAgLTI0OCw3ICsyNDgsNyBAQCB0eXBlZGVmIHN0cnVjdCBBQUNEZWNEU1Agewo+ PiB9IEFBQ0RlY0RTUDsKPj4gCj4+IC8qKgo+PiAtICogbWFpbiBBQUMgZGVjb2RpbmcgY29udGV4 dAo+PiArICogbWFpbiBBQUMgZGVjb2RpbmcgQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQi Cj4+ICovCj4+IHN0cnVjdCBBQUNEZWNDb250ZXh0IHsKPj4gY29uc3Qgc3RydWN0IEFWQ2xhc3Mg ICpjbGFzczsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFjZW5jLmggYi9saWJhdmNvZGVj L2FhY2VuYy5oCj4+IGluZGV4IGQwNzk2MDYyMGUuLjFhNjQ1ZjQ3MTkgMTAwNjQ0Cj4+IC0tLSBh L2xpYmF2Y29kZWMvYWFjZW5jLmgKPj4gKysrIGIvbGliYXZjb2RlYy9hYWNlbmMuaAo+PiBAQCAt MjA3LDcgKzIwNyw3IEBAIHR5cGVkZWYgc3RydWN0IEFBQ1BDRUluZm8gewo+PiB9IEFBQ1BDRUlu Zm87Cj4+IAo+PiAvKioKPj4gLSAqIEFBQyBlbmNvZGVyIGNvbnRleHQKPj4gKyAqIEFBQyBlbmNv ZGVyIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0Igo+PiAqLwo+PiB0eXBlZGVmIHN0cnVj dCBBQUNFbmNDb250ZXh0IHsKPj4gQVZDbGFzcyAqYXZfY2xhc3M7Cj4+IGRpZmYgLS1naXQgYS9s aWJhdmNvZGVjL2FjM2VuYy5oIGIvbGliYXZjb2RlYy9hYzNlbmMuaAo+PiBpbmRleCAzMDgxMjYx N2NjLi5jNzI1MDA3MDc3IDEwMDY0NAo+PiAtLS0gYS9saWJhdmNvZGVjL2FjM2VuYy5oCj4+ICsr KyBiL2xpYmF2Y29kZWMvYWMzZW5jLmgKPj4gQEAgLTE1Miw3ICsxNTIsNyBAQCB0eXBlZGVmIHN0 cnVjdCBBQzNCbG9jayB7Cj4+IH0gQUMzQmxvY2s7Cj4+IAo+PiAvKioKPj4gLSAqIEFDLTMgZW5j b2RlciBwcml2YXRlIGNvbnRleHQuCj4+ICsgKiBBQy0zIGVuY29kZXIgcHJpdmF0ZSBAcmVmIG1k X2RvY18yY29udGV4dCAiY29udGV4dCIKPj4gKi8KPj4gdHlwZWRlZiBzdHJ1Y3QgQUMzRW5jb2Rl Q29udGV4dCB7Cj4+IEFWQ2xhc3MgKmF2X2NsYXNzOyAgICAgICAgICAgICAgICAgICAgICAvLy88 IEFWQ2xhc3MgdXNlZCBmb3IgQVZPcHRpb24KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYW1m ZW5jLmggYi9saWJhdmNvZGVjL2FtZmVuYy5oCj4+IGluZGV4IDJkYmQzNzhlZjguLmYxNDJlZGU2 M2EgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvYW1mZW5jLmgKPj4gKysrIGIvbGliYXZjb2Rl Yy9hbWZlbmMuaAo+PiBAQCAtNDMsNyArNDMsNyBAQCB0eXBlZGVmIHN0cnVjdCBBbWZUcmFjZVdy aXRlciB7Cj4+IH0gQW1mVHJhY2VXcml0ZXI7Cj4+IAo+PiAvKioKPj4gLSogQU1GIGVuY29kZXIg Y29udGV4dAo+PiArKiBBTUYgZW5jb2RlciBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIK Pj4gKi8KPj4gCj4+IHR5cGVkZWYgc3RydWN0IEFtZkNvbnRleHQgewo+PiBkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9hdHJhYy5oIGIvbGliYXZjb2RlYy9hdHJhYy5oCj4+IGluZGV4IDA1MjA4YmJl ZTYuLjE1MjdlMzc2YTkgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvYXRyYWMuaAo+PiArKysg Yi9saWJhdmNvZGVjL2F0cmFjLmgKPj4gQEAgLTM5LDcgKzM5LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg QXRyYWNHYWluSW5mbyB7Cj4+IH0gQXRyYWNHYWluSW5mbzsKPj4gCj4+IC8qKgo+PiAtICogIEdh aW4gY29tcGVuc2F0aW9uIGNvbnRleHQgc3RydWN0dXJlLgo+PiArICogIEdhaW4gY29tcGVuc2F0 aW9uIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0Igo+PiAqLwo+PiB0eXBlZGVmIHN0cnVj dCBBdHJhY0dDQ29udGV4dCB7Cj4+IGZsb2F0ICAgZ2Fpbl90YWIxWzE2XTsgIC8vLzwgZ2FpbiBj b21wZW5zYXRpb24gbGV2ZWwgdGFibGUKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYXZjb2Rl Yy5oIGIvbGliYXZjb2RlYy9hdmNvZGVjLmgKPj4gaW5kZXggOTY4MDA5YTE5Mi4uOTE4MGZlZGNh NyAxMDA2NDQKPj4gLS0tIGEvbGliYXZjb2RlYy9hdmNvZGVjLmgKPj4gKysrIGIvbGliYXZjb2Rl Yy9hdmNvZGVjLmgKPj4gQEAgLTQzMCw3ICs0MzAsOCBAQCB0eXBlZGVmIHN0cnVjdCBSY092ZXJy aWRlewo+PiAjZGVmaW5lIEFWX0dFVF9FTkNPREVfQlVGRkVSX0ZMQUdfUkVGICgxIDw8IDApCj4+ IAo+PiAvKioKPj4gLSAqIG1haW4gZXh0ZXJuYWwgQVBJIHN0cnVjdHVyZS4KPj4gKyAqIEByZWYg bWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgYW4gZW5jb2RlIG9yIGRlY29kZSBzZXNzaW9u Cj4+ICsgKgo+PiAqIE5ldyBmaWVsZHMgY2FuIGJlIGFkZGVkIHRvIHRoZSBlbmQgd2l0aCBtaW5v ciB2ZXJzaW9uIGJ1bXBzLgo+PiAqIFJlbW92YWwsIHJlb3JkZXJpbmcgYW5kIGNoYW5nZXMgdG8g ZXhpc3RpbmcgZmllbGRzIHJlcXVpcmUgYSBtYWpvcgo+PiAqIHZlcnNpb24gYnVtcC4KPj4gZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvYnNmLmggYi9saWJhdmNvZGVjL2JzZi5oCj4+IGluZGV4IGEw OWM2OWYyNDIuLmJmNzlhZmE3Y2MgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvYnNmLmgKPj4g KysrIGIvbGliYXZjb2RlYy9ic2YuaAo+PiBAQCAtNTYsNyArNTYsNyBAQAo+PiAqLwo+PiAKPj4g LyoqCj4+IC0gKiBUaGUgYml0c3RyZWFtIGZpbHRlciBzdGF0ZS4KPj4gKyAqIEJpdHN0cmVhbSBm aWx0ZXIgQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiCj4+ICoKPj4gKiBUaGlzIHN0cnVj dCBtdXN0IGJlIGFsbG9jYXRlZCB3aXRoIGF2X2JzZl9hbGxvYygpIGFuZCBmcmVlZCB3aXRoCj4+ ICogYXZfYnNmX2ZyZWUoKS4KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzLmggYi9saWJh dmNvZGVjL2Nicy5oCj4+IGluZGV4IGQ0NzliMWFjMmQuLjBmZjY0ZDJmZWYgMTAwNjQ0Cj4+IC0t LSBhL2xpYmF2Y29kZWMvY2JzLmgKPj4gKysrIGIvbGliYXZjb2RlYy9jYnMuaAo+PiBAQCAtMjE0 LDcgKzIxNCw3IEBAIHR5cGVkZWYgdm9pZCAoKkNCU1RyYWNlV3JpdGVDYWxsYmFjaykodm9pZCAq dHJhY2VfY29udGV4dCwKPj4gaW50NjRfdCB2YWx1ZSk7Cj4+IAo+PiAvKioKPj4gLSAqIENvbnRl eHQgc3RydWN0dXJlIGZvciBjb2RlZCBiaXRzdHJlYW0gb3BlcmF0aW9ucy4KPj4gKyAqIEByZWYg bWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBzdHJ1Y3R1cmUgZm9yIGNvZGVkIGJpdHN0cmVhbSBv cGVyYXRpb25zLgo+PiAqLwo+PiB0eXBlZGVmIHN0cnVjdCBDb2RlZEJpdHN0cmVhbUNvbnRleHQg ewo+PiAvKioKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZDNkMTF2YS5oIGIvbGliYXZjb2Rl Yy9kM2QxMXZhLmgKPj4gaW5kZXggMjdmNDBlNTUxOS4uZWMwYzQ3MmFiOSAxMDA2NDQKPj4gLS0t IGEvbGliYXZjb2RlYy9kM2QxMXZhLmgKPj4gKysrIGIvbGliYXZjb2RlYy9kM2QxMXZhLmgKPj4g QEAgLTQ2LDggKzQ2LDcgQEAKPj4gKi8KPj4gCj4+IC8qKgo+PiAtICogVGhpcyBzdHJ1Y3R1cmUg aXMgdXNlZCB0byBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb25zIGFuZCBkYXRh Cj4+IC0gKiB0byB0aGUgRGlyZWN0M0QxMSBGRm1wZWcgSFdBY2NlbCBpbXBsZW1lbnRhdGlvbi4K Pj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgdGhlIERpcmVjdDNEMTEg RkZtcGVnIEhXQWNjZWwgaW1wbGVtZW50YXRpb24KPj4gKgo+PiAqIFRoZSBhcHBsaWNhdGlvbiBt dXN0IG1ha2UgaXQgYXZhaWxhYmxlIGFzIEFWQ29kZWNDb250ZXh0Lmh3YWNjZWxfY29udGV4dC4K Pj4gKgo+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0ZHNwLmggYi9saWJhdmNvZGVjL2gy NjRkc3AuaAo+PiBpbmRleCBlMDg4MGM0ZDg4Li4yNzI1NmM1NjA1IDEwMDY0NAo+PiAtLS0gYS9s aWJhdmNvZGVjL2gyNjRkc3AuaAo+PiArKysgYi9saWJhdmNvZGVjL2gyNjRkc3AuaAo+PiBAQCAt MzcsNyArMzcsNyBAQCB0eXBlZGVmIHZvaWQgKCpoMjY0X2Jpd2VpZ2h0X2Z1bmMpKHVpbnQ4X3Qg KmRzdCwgdWludDhfdCAqc3JjLAo+PiBpbnQgd2VpZ2h0ZCwgaW50IHdlaWdodHMsIGludCBvZmZz ZXQpOwo+PiAKPj4gLyoqCj4+IC0gKiBDb250ZXh0IGZvciBzdG9yaW5nIEguMjY0IERTUCBmdW5j dGlvbnMKPj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3Igc3RvcmluZyBI LjI2NCBEU1AgZnVuY3Rpb25zCj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEgyNjREU1BDb250ZXh0 IHsKPj4gLyogd2VpZ2h0ZWQgTUMgKi8KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2NHBy ZWQuaCBiL2xpYmF2Y29kZWMvaDI2NHByZWQuaAo+PiBpbmRleCBjYjAwODU0OGZjLi4yYjA3NmY4 ODQ2IDEwMDY0NAo+PiAtLS0gYS9saWJhdmNvZGVjL2gyNjRwcmVkLmgKPj4gKysrIGIvbGliYXZj b2RlYy9oMjY0cHJlZC5oCj4+IEBAIC04OSw3ICs4OSw3IEBACj4+ICNkZWZpbmUgUEFSVF9OT1Rf QVZBSUxBQkxFIC0yCj4+IAo+PiAvKioKPj4gLSAqIENvbnRleHQgZm9yIHN0b3JpbmcgSC4yNjQg cHJlZGljdGlvbiBmdW5jdGlvbnMKPj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0 IiBmb3Igc3RvcmluZyBILjI2NCBwcmVkaWN0aW9uIGZ1bmN0aW9ucwo+PiAqLwo+PiB0eXBlZGVm IHN0cnVjdCBIMjY0UHJlZENvbnRleHQgewo+PiB2b2lkKCpwcmVkNHg0WzkgKyAzICsgM10pKHVp bnQ4X3QgKnNyYywgY29uc3QgdWludDhfdCAqdG9wcmlnaHQsCj4+IGRpZmYgLS1naXQgYS9saWJh dmNvZGVjL21lZGlhY29kZWMuaCBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlYy5oCj4+IGluZGV4IDRl OWI1NmE2MTguLjk5NjdhN2NmYjMgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvbWVkaWFjb2Rl Yy5oCj4+ICsrKyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlYy5oCj4+IEBAIC0yNiw3ICsyNiw3IEBA Cj4+ICNpbmNsdWRlICJsaWJhdmNvZGVjL2F2Y29kZWMuaCIKPj4gCj4+IC8qKgo+PiAtICogVGhp cyBzdHJ1Y3R1cmUgaG9sZHMgYSByZWZlcmVuY2UgdG8gYSBhbmRyb2lkL3ZpZXcvU3VyZmFjZSBv YmplY3QgdGhhdCB3aWxsCj4+ICsgKiBAcmVmIG1kX2RvY18yY29udGV4dCAiQ29udGV4dCIgZm9y IHRoZSBhbmRyb2lkL3ZpZXcvU3VyZmFjZSBvYmplY3QgdGhhdCB3aWxsCj4+ICogYmUgdXNlZCBh cyBvdXRwdXQgYnkgdGhlIGRlY29kZXIuCj4+ICoKPj4gKi8KPj4gZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvbXBlZ2F1ZGlvZGVjX3RlbXBsYXRlLmMgYi9saWJhdmNvZGVjL21wZWdhdWRpb2RlY190 ZW1wbGF0ZS5jCj4+IGluZGV4IGM3M2IxZTAwNTQuLjE1ZDYzMjE1ZDEgMTAwNjQ0Cj4+IC0tLSBh L2xpYmF2Y29kZWMvbXBlZ2F1ZGlvZGVjX3RlbXBsYXRlLmMKPj4gKysrIGIvbGliYXZjb2RlYy9t cGVnYXVkaW9kZWNfdGVtcGxhdGUuYwo+PiBAQCAtMTY5MSw3ICsxNjkxLDcgQEAgc3RhdGljIGlu dCBkZWNvZGVfZnJhbWVfYWR1KEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqZnJhbWUs Cj4+ICNpZiBDT05GSUdfTVAzT040X0RFQ09ERVIgfHwgQ09ORklHX01QM09ONEZMT0FUX0RFQ09E RVIKPj4gCj4+IC8qKgo+PiAtICogQ29udGV4dCBmb3IgTVAzT240IGRlY29kZXIKPj4gKyAqIEBy ZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgTVAzT240IGRlY29kZXIKPj4gKi8KPj4g dHlwZWRlZiBzdHJ1Y3QgTVAzT240RGVjb2RlQ29udGV4dCB7Cj4+IGludCBmcmFtZXM7ICAgICAg ICAgICAgICAgICAgICAgLy8vPCBudW1iZXIgb2YgbXAzIGZyYW1lcyBwZXIgYmxvY2sgKG51bWJl ciBvZiBtcDMgZGVjb2RlciBpbnN0YW5jZXMpCj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3B0 aHJlYWRfZnJhbWUuYyBiL2xpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jCj4+IGluZGV4IDY3ZjA5 YzFmNDguLjc0ZjA1ZWVkY2YgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvcHRocmVhZF9mcmFt ZS5jCj4+ICsrKyBiL2xpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jCj4+IEBAIC03MSw3ICs3MSw3 IEBAIHR5cGVkZWYgc3RydWN0IFRocmVhZEZyYW1lUHJvZ3Jlc3Mgewo+PiB9IFRocmVhZEZyYW1l UHJvZ3Jlc3M7Cj4+IAo+PiAvKioKPj4gLSAqIENvbnRleHQgdXNlZCBieSBjb2RlYyB0aHJlYWRz IGFuZCBzdG9yZWQgaW4gdGhlaXIgQVZDb2RlY0ludGVybmFsIHRocmVhZF9jdHguCj4+ICsgKiBA cmVmIG1kX2RvY18yY29udGV4dCAiQ29udGV4dCIgdXNlZCBieSBjb2RlYyB0aHJlYWRzIGFuZCBz dG9yZWQgaW4gdGhlaXIgQVZDb2RlY0ludGVybmFsIHRocmVhZF9jdHguCj4+ICovCj4+IHR5cGVk ZWYgc3RydWN0IFBlclRocmVhZENvbnRleHQgewo+PiBzdHJ1Y3QgRnJhbWVUaHJlYWRDb250ZXh0 ICpwYXJlbnQ7Cj4+IEBAIC0xMTEsNyArMTExLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGVyVGhyZWFk Q29udGV4dCB7Cj4+IH0gUGVyVGhyZWFkQ29udGV4dDsKPj4gCj4+IC8qKgo+PiAtICogQ29udGV4 dCBzdG9yZWQgaW4gdGhlIGNsaWVudCBBVkNvZGVjSW50ZXJuYWwgdGhyZWFkX2N0eC4KPj4gKyAq IEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBzdG9yZWQgaW4gdGhlIGNsaWVudCBBVkNv ZGVjSW50ZXJuYWwgdGhyZWFkX2N0eC4KPj4gKi8KPj4gdHlwZWRlZiBzdHJ1Y3QgRnJhbWVUaHJl YWRDb250ZXh0IHsKPj4gUGVyVGhyZWFkQ29udGV4dCAqdGhyZWFkczsgICAgIC8vLzwgVGhlIGNv bnRleHRzIGZvciBlYWNoIHRocmVhZC4KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcXN2Lmgg Yi9saWJhdmNvZGVjL3Fzdi5oCj4+IGluZGV4IGMxNTZiMDhkMDcuLjhiODE2MGE0YjEgMTAwNjQ0 Cj4+IC0tLSBhL2xpYmF2Y29kZWMvcXN2LmgKPj4gKysrIGIvbGliYXZjb2RlYy9xc3YuaAo+PiBA QCAtMjYsOCArMjYsMTAgQEAKPj4gI2luY2x1ZGUgImxpYmF2dXRpbC9idWZmZXIuaCIKPj4gCj4+ IC8qKgo+PiAtICogVGhpcyBzdHJ1Y3QgaXMgdXNlZCBmb3IgY29tbXVuaWNhdGluZyBRU1YgcGFy YW1ldGVycyBiZXR3ZWVuIGxpYmF2Y29kZWMgYW5kCj4+IC0gKiB0aGUgY2FsbGVyLiBJdCBpcyBt YW5hZ2VkIGJ5IHRoZSBjYWxsZXIgYW5kIG11c3QgYmUgYXNzaWduZWQgdG8KPj4gKyAqIEByZWYg bWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgY29tbXVuaWNhdGluZyBRU1YgcGFyYW1ldGVy cyBiZXR3ZWVuIGxpYmF2Y29kZWMKPj4gKyAqIGFuZCB0aGUgY2FsbGVyLgo+PiArICoKPj4gKyAq IEl0IGlzIG1hbmFnZWQgYnkgdGhlIGNhbGxlciBhbmQgbXVzdCBiZSBhc3NpZ25lZCB0bwo+PiAq IEFWQ29kZWNDb250ZXh0Lmh3YWNjZWxfY29udGV4dC4KPj4gKiAtIGRlY29kaW5nOiBod2FjY2Vs X2NvbnRleHQgbXVzdCBiZSBzZXQgb24gcmV0dXJuIGZyb20gdGhlIGdldF9mb3JtYXQoKQo+PiAq ICAgICAgICAgICAgIGNhbGxiYWNrCj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Nici5oIGIv bGliYXZjb2RlYy9zYnIuaAo+PiBpbmRleCBmZTNhMzk2MDNhLi45OGFkOTAyNGE5IDEwMDY0NAo+ PiAtLS0gYS9saWJhdmNvZGVjL3Nici5oCj4+ICsrKyBiL2xpYmF2Y29kZWMvc2JyLmgKPj4gQEAg LTExNiw3ICsxMTYsNyBAQCB0eXBlZGVmIHN0cnVjdCBTQlJEYXRhIHsKPj4gdHlwZWRlZiBzdHJ1 Y3QgU3BlY3RyYWxCYW5kUmVwbGljYXRpb24gU3BlY3RyYWxCYW5kUmVwbGljYXRpb247Cj4+IAo+ PiAvKioKPj4gLSAqIGFhY3NiciBmdW5jdGlvbnMgcG9pbnRlcnMKPj4gKyAqIGFhY3NiciBmdW5j dGlvbnMgcG9pbnRlciBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIKPj4gKi8KPj4gdHlw ZWRlZiBzdHJ1Y3QgQUFDU0JSQ29udGV4dCB7Cj4+IGludCAoKnNicl9sZl9nZW4pKFNwZWN0cmFs QmFuZFJlcGxpY2F0aW9uICpzYnIsCj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3NtYWNrZXIu YyBiL2xpYmF2Y29kZWMvc21hY2tlci5jCj4+IGluZGV4IDhmMTk4ZDY5NTcuLjFjYTM5YTc0YTAg MTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvc21hY2tlci5jCj4+ICsrKyBiL2xpYmF2Y29kZWMv c21hY2tlci5jCj4+IEBAIC02OCw3ICs2OCw3IEBAIHR5cGVkZWYgc3RydWN0IEh1ZmZFbnRyeSB7 Cj4+IH0gSHVmZkVudHJ5Owo+PiAKPj4gLyoqCj4+IC0gKiBDb250ZXh0IHVzZWQgZm9yIGNvZGUg cmVjb25zdHJ1Y3RpbmcKPj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiB1c2Vk IGZvciBjb2RlIHJlY29uc3RydWN0aW5nCj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEh1ZmZDb250 ZXh0IHsKPj4gaW50IGN1cnJlbnQ7Cj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZkcGF1Lmgg Yi9saWJhdmNvZGVjL3ZkcGF1LmgKPj4gaW5kZXggODAyMWMyNTc2MS4uMjI3Yjg1NzI3ZCAxMDA2 NDQKPj4gLS0tIGEvbGliYXZjb2RlYy92ZHBhdS5oCj4+ICsrKyBiL2xpYmF2Y29kZWMvdmRwYXUu aAo+PiBAQCAtNjQsOCArNjQsOSBAQCB0eXBlZGVmIGludCAoKkFWVkRQQVVfUmVuZGVyMikoc3Ry dWN0IEFWQ29kZWNDb250ZXh0ICosIHN0cnVjdCBBVkZyYW1lICosCj4+IGNvbnN0IFZkcEJpdHN0 cmVhbUJ1ZmZlciAqKTsKPj4gCj4+IC8qKgo+PiAtICogVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0 byBzaGFyZSBkYXRhIGJldHdlZW4gdGhlIGxpYmF2Y29kZWMgbGlicmFyeSBhbmQKPj4gKyAqIEBy ZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiB0byBzaGFyZSBkYXRhIGJldHdlZW4gdGhlIGxp YmF2Y29kZWMgbGlicmFyeSBhbmQKPj4gKiB0aGUgY2xpZW50IHZpZGVvIGFwcGxpY2F0aW9uLgo+ PiArICoKPj4gKiBUaGlzIHN0cnVjdHVyZSB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgc3RvcmVkIGlu IEFWQ29kZWNDb250ZXh0Lmh3YWNjZWxfY29udGV4dAo+PiAqIGJ5IGF2X3ZkcGF1X2JpbmRfY29u dGV4dCgpLiBNZW1iZXJzIGNhbiBiZSBzZXQgYnkgdGhlIHVzZXIgb25jZQo+PiAqIGR1cmluZyBp bml0aWFsaXphdGlvbiBvciB0aHJvdWdoIGVhY2ggQVZDb2RlY0NvbnRleHQuZ2V0X2J1ZmZlcigp Cj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveC5oIGIvbGliYXZjb2RlYy92 aWRlb3Rvb2xib3guaAo+PiBpbmRleCBkNjhkNzZlNDAwLi5mMTVlNzlmMzI1IDEwMDY0NAo+PiAt LS0gYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveC5oCj4+ICsrKyBiL2xpYmF2Y29kZWMvdmlkZW90 b29sYm94LmgKPj4gQEAgLTQ5LDggKzQ5LDkgQEAKPj4gI2luY2x1ZGUgImxpYmF2dXRpbC9hdHRy aWJ1dGVzLmgiCj4+IAo+PiAvKioKPj4gLSAqIFRoaXMgc3RydWN0IGhvbGRzIGFsbCB0aGUgaW5m b3JtYXRpb24gdGhhdCBuZWVkcyB0byBiZSBwYXNzZWQKPj4gLSAqIGJldHdlZW4gdGhlIGNhbGxl ciBhbmQgbGliYXZjb2RlYyBmb3IgaW5pdGlhbGl6aW5nIFZpZGVvdG9vbGJveCBkZWNvZGluZy4K Pj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgaW5mb3JtYXRpb24gcGFz c2VkIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgbGliYXZjb2RlYwo+PiArICogZm9yIGluaXRpYWxp emluZyBWaWRlb3Rvb2xib3ggZGVjb2RpbmcuCj4+ICsgKgo+PiAqIEl0cyBzaXplIGlzIG5vdCBh IHBhcnQgb2YgdGhlIHB1YmxpYyBBQkksIGl0IG11c3QgYmUgYWxsb2NhdGVkIHdpdGgKPj4gKiBh dl92aWRlb3Rvb2xib3hfYWxsb2NfY29udGV4dCgpIGFuZCBmcmVlZCB3aXRoIGF2X2ZyZWUoKS4K Pj4gKi8KPj4gZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2F2ZmlsdGVyLmggYi9saWJhdmZpbHRl ci9hdmZpbHRlci5oCj4+IGluZGV4IGEzNGU2MWYyM2MuLjU0YjVmOWRjNDMgMTAwNjQ0Cj4+IC0t LSBhL2xpYmF2ZmlsdGVyL2F2ZmlsdGVyLmgKPj4gKysrIGIvbGliYXZmaWx0ZXIvYXZmaWx0ZXIu aAo+PiBAQCAtNDAzLDcgKzQwMyw3IEBAIHVuc2lnbmVkIGF2ZmlsdGVyX2ZpbHRlcl9wYWRfY291 bnQoY29uc3QgQVZGaWx0ZXIgKmZpbHRlciwgaW50IGlzX291dHB1dCk7Cj4+ICovCj4+ICNkZWZp bmUgQVZGSUxURVJfVEhSRUFEX1NMSUNFICgxIDw8IDApCj4+IAo+PiAtLyoqIEFuIGluc3RhbmNl IG9mIGEgZmlsdGVyICovCj4+ICsvKiogQHJlZiBtZF9kb2NfMmNvbnRleHQgIkNvbnRleHQiIGZv ciBhIGZpbHRlciAqLwo+PiBzdHJ1Y3QgQVZGaWx0ZXJDb250ZXh0IHsKPj4gY29uc3QgQVZDbGFz cyAqYXZfY2xhc3M7ICAgICAgICAvLy88IG5lZWRlZCBmb3IgYXZfbG9nKCkgYW5kIGZpbHRlcnMg Y29tbW9uIG9wdGlvbnMKPj4gCj4+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9hdmZvcm1hdC5o IGIvbGliYXZmb3JtYXQvYXZmb3JtYXQuaAo+PiBpbmRleCA4YWZkY2Q5ZmQwLi4yODI0M2MwNmM0 IDEwMDY0NAo+PiAtLS0gYS9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCj4+ICsrKyBiL2xpYmF2Zm9y bWF0L2F2Zm9ybWF0LmgKPj4gQEAgLTEyNDEsNyArMTI0MSw4IEBAIGVudW0gQVZEdXJhdGlvbkVz dGltYXRpb25NZXRob2Qgewo+PiB9Owo+PiAKPj4gLyoqCj4+IC0gKiBGb3JtYXQgSS9PIGNvbnRl eHQuCj4+ICsgKiBGb3JtYXQgSS9PIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0Igo+PiAr ICoKPj4gKiBOZXcgZmllbGRzIGNhbiBiZSBhZGRlZCB0byB0aGUgZW5kIHdpdGggbWlub3IgdmVy c2lvbiBidW1wcy4KPj4gKiBSZW1vdmFsLCByZW9yZGVyaW5nIGFuZCBjaGFuZ2VzIHRvIGV4aXN0 aW5nIGZpZWxkcyByZXF1aXJlIGEgbWFqb3IKPj4gKiB2ZXJzaW9uIGJ1bXAuCj4+IGRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9hdmlvLmggYi9saWJhdmZvcm1hdC9hdmlvLmgKPj4gaW5kZXggZWJm NjExMTg3ZC4uYjUyNWM5MzE5NCAxMDA2NDQKPj4gLS0tIGEvbGliYXZmb3JtYXQvYXZpby5oCj4+ ICsrKyBiL2xpYmF2Zm9ybWF0L2F2aW8uaAo+PiBAQCAtMTQ2LDcgKzE0Niw4IEBAIGVudW0gQVZJ T0RhdGFNYXJrZXJUeXBlIHsKPj4gfTsKPj4gCj4+IC8qKgo+PiAtICogQnl0ZXN0cmVhbSBJTyBD b250ZXh0Lgo+PiArICogQnl0ZXN0cmVhbSBJL08gQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRl eHQiCj4+ICsgKgo+PiAqIE5ldyBwdWJsaWMgZmllbGRzIGNhbiBiZSBhZGRlZCB3aXRoIG1pbm9y IHZlcnNpb24gYnVtcHMuCj4+ICogUmVtb3ZhbCwgcmVvcmRlcmluZyBhbmQgY2hhbmdlcyB0byBl eGlzdGluZyBwdWJsaWMgZmllbGRzIHJlcXVpcmUKPj4gKiBhIG1ham9yIHZlcnNpb24gYnVtcC4K Pj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9hdWRpb19maWZvLmggYi9saWJhdnV0aWwvYXVkaW9f Zmlmby5oCj4+IGluZGV4IGZhNWY1OWEyYmUuLmRlMjk3MTU0NjIgMTAwNjQ0Cj4+IC0tLSBhL2xp YmF2dXRpbC9hdWRpb19maWZvLmgKPj4gKysrIGIvbGliYXZ1dGlsL2F1ZGlvX2ZpZm8uaAo+PiBA QCAtMzksNyArMzksNyBAQAo+PiAqLwo+PiAKPj4gLyoqCj4+IC0gKiBDb250ZXh0IGZvciBhbiBB dWRpbyBGSUZPIEJ1ZmZlci4KPj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBm b3IgYW4gQXVkaW8gRklGTyBCdWZmZXIuCj4+ICoKPj4gKiAtIE9wZXJhdGVzIGF0IHRoZSBzYW1w bGUgbGV2ZWwgcmF0aGVyIHRoYW4gdGhlIGJ5dGUgbGV2ZWwuCj4+ICogLSBTdXBwb3J0cyBtdWx0 aXBsZSBjaGFubmVscyB3aXRoIGVpdGhlciBwbGFuYXIgb3IgcGFja2VkIHNhbXBsZSBmb3JtYXQu Cj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0LmggYi9saWJhdnV0aWwvaHdjb250 ZXh0LmgKPj4gaW5kZXggYmFjMzBkZWJhZS4uNjAwNjRjZjA4YiAxMDA2NDQKPj4gLS0tIGEvbGli YXZ1dGlsL2h3Y29udGV4dC5oCj4+ICsrKyBiL2xpYmF2dXRpbC9od2NvbnRleHQuaAo+PiBAQCAt NDEsMTIgKzQxLDEzIEBAIGVudW0gQVZIV0RldmljZVR5cGUgewo+PiB9Owo+PiAKPj4gLyoqCj4+ IC0gKiBUaGlzIHN0cnVjdCBhZ2dyZWdhdGVzIGFsbCB0aGUgKGhhcmR3YXJlL3ZlbmRvci1zcGVj aWZpYykgImhpZ2gtbGV2ZWwiIHN0YXRlLAo+PiAtICogaS5lLiBzdGF0ZSB0aGF0IGlzIG5vdCB0 aWVkIHRvIGEgY29uY3JldGUgcHJvY2Vzc2luZyBjb25maWd1cmF0aW9uLgo+PiAtICogRS5nLiwg aW4gYW4gQVBJIHRoYXQgc3VwcG9ydHMgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgZW5jb2RpbmcgYW5k IGRlY29kaW5nLAo+PiAtICogdGhpcyBzdHJ1Y3Qgd2lsbCAoaWYgcG9zc2libGUpIHdyYXAgdGhl IHN0YXRlIHRoYXQgaXMgY29tbW9uIHRvIGJvdGggZW5jb2RpbmcKPj4gLSAqIGFuZCBkZWNvZGlu ZyBhbmQgZnJvbSB3aGljaCBzcGVjaWZpYyBpbnN0YW5jZXMgb2YgZW5jb2RlcnMgb3IgZGVjb2Rl cnMgY2FuIGJlCj4+IC0gKiBkZXJpdmVkLgo+PiArICogQHJlZiBtZF9kb2NfMmNvbnRleHQgIkNv bnRleHQiIGZvciAoaGFyZHdhcmUvdmVuZG9yLXNwZWNpZmljKSAiaGlnaC1sZXZlbCIgc3RhdGUu Cj4+ICsgKgo+PiArICogIkhpZ2gtbGV2ZWwgc3RhdGUiIGlzIGFueXRoaW5nIHRoYXQgaXMgbm90 IHRpZWQgdG8gYSBjb25jcmV0ZSBwcm9jZXNzaW5nCj4+ICsgKiBjb25maWd1cmF0aW9uLiBFLmcu LCBpbiBhbiBBUEkgdGhhdCBzdXBwb3J0cyBoYXJkd2FyZS1hY2NlbGVyYXRlZCBlbmNvZGluZwo+ PiArICogYW5kIGRlY29kaW5nLCB0aGlzIHN0cnVjdCB3aWxsIChpZiBwb3NzaWJsZSkgd3JhcCB0 aGUgc3RhdGUgdGhhdCBpcyBjb21tb24KPj4gKyAqIHRvIGJvdGggZW5jb2RpbmcgYW5kIGRlY29k aW5nIGFuZCBmcm9tIHdoaWNoIHNwZWNpZmljIGluc3RhbmNlcyBvZiBlbmNvZGVycwo+PiArICog b3IgZGVjb2RlcnMgY2FuIGJlIGRlcml2ZWQuCj4+ICoKPj4gKiBUaGlzIHN0cnVjdCBpcyByZWZl cmVuY2UtY291bnRlZCB3aXRoIHRoZSBBVkJ1ZmZlciBtZWNoYW5pc20uIFRoZQo+PiAqIGF2X2h3 ZGV2aWNlX2N0eF9hbGxvYygpIGNvbnN0cnVjdG9yIHlpZWxkcyBhIHJlZmVyZW5jZSwgd2hvc2Ug ZGF0YSBmaWVsZAo+PiBAQCAtMTAzLDkgKzEwNCwxMSBAQCB0eXBlZGVmIHN0cnVjdCBBVkhXRGV2 aWNlQ29udGV4dCB7Cj4+IH0gQVZIV0RldmljZUNvbnRleHQ7Cj4+IAo+PiAvKioKPj4gLSAqIFRo aXMgc3RydWN0IGRlc2NyaWJlcyBhIHNldCBvciBwb29sIG9mICJoYXJkd2FyZSIgZnJhbWVzIChp LmUuIHRob3NlIHdpdGgKPj4gLSAqIGRhdGEgbm90IGxvY2F0ZWQgaW4gbm9ybWFsIHN5c3RlbSBt ZW1vcnkpLiBBbGwgdGhlIGZyYW1lcyBpbiB0aGUgcG9vbCBhcmUKPj4gLSAqIGFzc3VtZWQgdG8g YmUgYWxsb2NhdGVkIGluIHRoZSBzYW1lIHdheSBhbmQgaW50ZXJjaGFuZ2VhYmxlLgo+PiArICog QHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGZvciBhIHBvb2wgb2YgImhhcmR3YXJlIiBm cmFtZXMgKHRob3NlIHdpdGgKPj4gKyAqIGRhdGEgbm90IGxvY2F0ZWQgaW4gbm9ybWFsIHN5c3Rl bSBtZW1vcnkpCj4+ICsgKgo+PiArICogQWxsIHRoZSBmcmFtZXMgaW4gdGhlIHBvb2wgYXJlIGFz c3VtZWQgdG8gYmUgYWxsb2NhdGVkIGluIHRoZSBzYW1lIHdheSBhbmQKPj4gKyAqIGludGVyY2hh bmdlYWJsZS4KPj4gKgo+PiAqIFRoaXMgc3RydWN0IGlzIHJlZmVyZW5jZS1jb3VudGVkIHdpdGgg dGhlIEFWQnVmZmVyIG1lY2hhbmlzbSBhbmQgdGllZCB0byBhCj4+ICogZ2l2ZW4gQVZIV0Rldmlj ZUNvbnRleHQgaW5zdGFuY2UuIFRoZSBhdl9od2ZyYW1lX2N0eF9hbGxvYygpIGNvbnN0cnVjdG9y Cj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X2N1ZGEuaCBiL2xpYmF2dXRpbC9o d2NvbnRleHRfY3VkYS5oCj4+IGluZGV4IGNiYWQ0MzRmZWEuLmUyNTk4OTI2ODggMTAwNjQ0Cj4+ IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfY3VkYS5oCj4+ICsrKyBiL2xpYmF2dXRpbC9od2Nv bnRleHRfY3VkYS5oCj4+IEBAIC0zNyw3ICszNyw3IEBACj4+IHR5cGVkZWYgc3RydWN0IEFWQ1VE QURldmljZUNvbnRleHRJbnRlcm5hbCBBVkNVREFEZXZpY2VDb250ZXh0SW50ZXJuYWw7Cj4+IAo+ PiAvKioKPj4gLSAqIFRoaXMgc3RydWN0IGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4 dC5od2N0eAo+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxs b2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+ICovCj4+IHR5cGVkZWYgc3RydWN0 IEFWQ1VEQURldmljZUNvbnRleHQgewo+PiBDVWNvbnRleHQgY3VkYV9jdHg7Cj4+IGRpZmYgLS1n aXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X2QzZDExdmEuaCBiL2xpYmF2dXRpbC9od2NvbnRleHRf ZDNkMTF2YS5oCj4+IGluZGV4IDc3ZDJkNzJmMWIuLjEwMWQxY2I2ZjggMTAwNjQ0Cj4+IC0tLSBh L2xpYmF2dXRpbC9od2NvbnRleHRfZDNkMTF2YS5oCj4+ICsrKyBiL2xpYmF2dXRpbC9od2NvbnRl eHRfZDNkMTF2YS5oCj4+IEBAIC00MCw3ICs0MCw3IEBACj4+ICNpbmNsdWRlIDxzdGRpbnQuaD4K Pj4gCj4+IC8qKgo+PiAtICogVGhpcyBzdHJ1Y3QgaXMgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VD b250ZXh0Lmh3Y3R4Cj4+ICsgKiBUaGlzIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0IiBp cyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4gKi8KPj4gdHlwZWRlZiBz dHJ1Y3QgQVZEM0QxMVZBRGV2aWNlQ29udGV4dCB7Cj4+IC8qKgo+PiBAQCAtMTI2LDcgKzEyNiw3 IEBAIHR5cGVkZWYgc3RydWN0IEFWRDNEMTFGcmFtZURlc2NyaXB0b3Igewo+PiB9IEFWRDNEMTFG cmFtZURlc2NyaXB0b3I7Cj4+IAo+PiAvKioKPj4gLSAqIFRoaXMgc3RydWN0IGlzIGFsbG9jYXRl ZCBhcyBBVkhXRnJhbWVzQ29udGV4dC5od2N0eAo+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29u dGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Cj4+ ICovCj4+IHR5cGVkZWYgc3RydWN0IEFWRDNEMTFWQUZyYW1lc0NvbnRleHQgewo+PiAvKioKPj4g ZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRfZDNkMTJ2YS5oIGIvbGliYXZ1dGlsL2h3 Y29udGV4dF9kM2QxMnZhLmgKPj4gaW5kZXggZmYwNmU2ZjJlZi4uYzYyMzkxNGMyYiAxMDA2NDQK Pj4gLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF9kM2QxMnZhLmgKPj4gKysrIGIvbGliYXZ1dGls L2h3Y29udGV4dF9kM2QxMnZhLmgKPj4gQEAgLTM3LDcgKzM3LDcgQEAKPj4gI2luY2x1ZGUgPGQz ZDEydmlkZW8uaD4KPj4gCj4+IC8qKgo+PiAtICogQGJyaWVmIFRoaXMgc3RydWN0IGlzIGFsbG9j YXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+PiArICogQGJyaWVmIFRoaXMgQHJlZiBt ZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4 dC5od2N0eAo+PiAqCj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEFWRDNEMTJWQURldmljZUNvbnRl eHQgewo+PiBAQCAtNzgsNyArNzgsNyBAQCB0eXBlZGVmIHN0cnVjdCBBVkQzRDEyVkFEZXZpY2VD b250ZXh0IHsKPj4gfSBBVkQzRDEyVkFEZXZpY2VDb250ZXh0Owo+PiAKPj4gLyoqCj4+IC0gKiBA YnJpZWYgVGhpcyBzdHJ1Y3QgaXMgdXNlZCB0byBzeW5jIGQzZDEyIGV4ZWN1dGlvbgo+PiArICog QGJyaWVmIFRoaXMgQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIHVzZWQgdG8gc3lu YyBkM2QxMiBleGVjdXRpb24KPj4gKgo+PiAqLwo+PiB0eXBlZGVmIHN0cnVjdCBBVkQzRDEyVkFT eW5jQ29udGV4dCB7Cj4+IEBAIC0xMjAsNyArMTIwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZEM0Qx MlZBRnJhbWUgewo+PiB9IEFWRDNEMTJWQUZyYW1lOwo+PiAKPj4gLyoqCj4+IC0gKiBAYnJpZWYg VGhpcyBzdHJ1Y3QgaXMgYWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Cj4+ICsg KiBAYnJpZWYgVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVk IGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Cj4+ICoKPj4gKi8KPj4gdHlwZWRlZiBzdHJ1Y3Qg QVZEM0QxMlZBRnJhbWVzQ29udGV4dCB7Cj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250 ZXh0X2RybS5oIGIvbGliYXZ1dGlsL2h3Y29udGV4dF9kcm0uaAo+PiBpbmRleCA0MjcwOWYyMTVl Li44MzI5ZTY5OTY2IDEwMDY0NAo+PiAtLS0gYS9saWJhdnV0aWwvaHdjb250ZXh0X2RybS5oCj4+ ICsrKyBiL2xpYmF2dXRpbC9od2NvbnRleHRfZHJtLmgKPj4gQEAgLTE1Miw3ICsxNTIsNyBAQCB0 eXBlZGVmIHN0cnVjdCBBVkRSTUZyYW1lRGVzY3JpcHRvciB7Cj4+IC8qKgo+PiAqIERSTSBkZXZp Y2UuCj4+ICoKPj4gLSAqIEFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eC4KPj4g KyAqIFRoaXMgQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBB VkhXRGV2aWNlQ29udGV4dC5od2N0eC4KPj4gKi8KPj4gdHlwZWRlZiBzdHJ1Y3QgQVZEUk1EZXZp Y2VDb250ZXh0IHsKPj4gLyoqCj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X2R4 dmEyLmggYi9saWJhdnV0aWwvaHdjb250ZXh0X2R4dmEyLmgKPj4gaW5kZXggZTFiNzliYzBkZS4u YzY3OWMxNmFmMCAxMDA2NDQKPj4gLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF9keHZhMi5oCj4+ ICsrKyBiL2xpYmF2dXRpbC9od2NvbnRleHRfZHh2YTIuaAo+PiBAQCAtMzQsMTQgKzM0LDE0IEBA Cj4+ICNpbmNsdWRlIDxkeHZhMmFwaS5oPgo+PiAKPj4gLyoqCj4+IC0gKiBUaGlzIHN0cnVjdCBp cyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4gKyAqIFRoaXMgQHJlZiBt ZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4 dC5od2N0eAo+PiAqLwo+PiB0eXBlZGVmIHN0cnVjdCBBVkRYVkEyRGV2aWNlQ29udGV4dCB7Cj4+ IElEaXJlY3QzRERldmljZU1hbmFnZXI5ICpkZXZtZ3I7Cj4+IH0gQVZEWFZBMkRldmljZUNvbnRl eHQ7Cj4+IAo+PiAvKioKPj4gLSAqIFRoaXMgc3RydWN0IGlzIGFsbG9jYXRlZCBhcyBBVkhXRnJh bWVzQ29udGV4dC5od2N0eAo+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4 dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Cj4+ICovCj4+IHR5cGVk ZWYgc3RydWN0IEFWRFhWQTJGcmFtZXNDb250ZXh0IHsKPj4gLyoqCj4+IGRpZmYgLS1naXQgYS9s aWJhdnV0aWwvaHdjb250ZXh0X21lZGlhY29kZWMuaCBiL2xpYmF2dXRpbC9od2NvbnRleHRfbWVk aWFjb2RlYy5oCj4+IGluZGV4IGZjMDI2M2NhYmMuLmU4MTE5MzI0N2IgMTAwNjQ0Cj4+IC0tLSBh L2xpYmF2dXRpbC9od2NvbnRleHRfbWVkaWFjb2RlYy5oCj4+ICsrKyBiL2xpYmF2dXRpbC9od2Nv bnRleHRfbWVkaWFjb2RlYy5oCj4+IEBAIC0yMiw3ICsyMiw3IEBACj4+IC8qKgo+PiAqIE1lZGlh Q29kZWMgZGV0YWlscy4KPj4gKgo+PiAtICogQWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0 Lmh3Y3R4Cj4+ICsgKiBUaGlzIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0IiBpcyBhbGxv Y2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4gKi8KPj4gdHlwZWRlZiBzdHJ1Y3Qg QVZNZWRpYUNvZGVjRGV2aWNlQ29udGV4dCB7Cj4+IC8qKgo+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1 dGlsL2h3Y29udGV4dF9vcGVuY2wuaCBiL2xpYmF2dXRpbC9od2NvbnRleHRfb3BlbmNsLmgKPj4g aW5kZXggZWY1NDQ4NmM5NS4uN2FiZDk3ZGIyYiAxMDA2NDQKPj4gLS0tIGEvbGliYXZ1dGlsL2h3 Y29udGV4dF9vcGVuY2wuaAo+PiArKysgYi9saWJhdnV0aWwvaHdjb250ZXh0X29wZW5jbC5oCj4+ IEBAIC01OCw3ICs1OCw3IEBAIHR5cGVkZWYgc3RydWN0IEFWT3BlbkNMRnJhbWVEZXNjcmlwdG9y IHsKPj4gLyoqCj4+ICogT3BlbkNMIGRldmljZSBkZXRhaWxzLgo+PiAqCj4+IC0gKiBBbGxvY2F0 ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4gKyAqIFRoaXMgQHJlZiBtZF9kb2NfMmNv bnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+ PiAqLwo+PiB0eXBlZGVmIHN0cnVjdCBBVk9wZW5DTERldmljZUNvbnRleHQgewo+PiAvKioKPj4g QEAgLTg0LDcgKzg0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZPcGVuQ0xEZXZpY2VDb250ZXh0IHsK Pj4gLyoqCj4+ICogT3BlbkNMLXNwZWNpZmljIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgZnJhbWUg cG9vbC4KPj4gKgo+PiAtICogQWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Lgo+ PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFz IEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Lgo+PiAqLwo+PiB0eXBlZGVmIHN0cnVjdCBBVk9wZW5D TEZyYW1lc0NvbnRleHQgewo+PiAvKioKPj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRl eHRfcXN2LmggYi9saWJhdnV0aWwvaHdjb250ZXh0X3Fzdi5oCj4+IGluZGV4IGUyZGJhOGFkODMu LmI2M2ViZGRhZWYgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfcXN2LmgKPj4g KysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF9xc3YuaAo+PiBAQCAtMzAsNyArMzAsNyBAQAo+PiAq Lwo+PiAKPj4gLyoqCj4+IC0gKiBUaGlzIHN0cnVjdCBpcyBhbGxvY2F0ZWQgYXMgQVZIV0Rldmlj ZUNvbnRleHQuaHdjdHgKPj4gKyAqIFRoaXMgQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQi IGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+PiAqLwo+PiB0eXBlZGVm IHN0cnVjdCBBVlFTVkRldmljZUNvbnRleHQgewo+PiBtZnhTZXNzaW9uIHNlc3Npb247Cj4+IEBA IC00OCw3ICs0OCw3IEBAIHR5cGVkZWYgc3RydWN0IEFWUVNWRGV2aWNlQ29udGV4dCB7Cj4+IH0g QVZRU1ZEZXZpY2VDb250ZXh0Owo+PiAKPj4gLyoqCj4+IC0gKiBUaGlzIHN0cnVjdCBpcyBhbGxv Y2F0ZWQgYXMgQVZIV0ZyYW1lc0NvbnRleHQuaHdjdHgKPj4gKyAqIFRoaXMgQHJlZiBtZF9kb2Nf MmNvbnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRnJhbWVzQ29udGV4dC5od2N0 eAo+PiAqLwo+PiB0eXBlZGVmIHN0cnVjdCBBVlFTVkZyYW1lc0NvbnRleHQgewo+PiBtZnhGcmFt ZVN1cmZhY2UxICpzdXJmYWNlczsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRf dmFhcGkuaCBiL2xpYmF2dXRpbC9od2NvbnRleHRfdmFhcGkuaAo+PiBpbmRleCAwYjJlMDcxY2Iz Li40YTg5N2ViODUxIDEwMDY0NAo+PiAtLS0gYS9saWJhdnV0aWwvaHdjb250ZXh0X3ZhYXBpLmgK Pj4gKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF92YWFwaS5oCj4+IEBAIC02Myw3ICs2Myw3IEBA IGVudW0gewo+PiAvKioKPj4gKiBWQUFQSSBjb25uZWN0aW9uIGRldGFpbHMuCj4+ICoKPj4gLSAq IEFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+PiArICogVGhpcyBAcmVmIG1k X2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0 Lmh3Y3R4Cj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEFWVkFBUElEZXZpY2VDb250ZXh0IHsKPj4g LyoqCj4+IEBAIC04Myw3ICs4Myw3IEBAIHR5cGVkZWYgc3RydWN0IEFWVkFBUElEZXZpY2VDb250 ZXh0IHsKPj4gLyoqCj4+ICogVkFBUEktc3BlY2lmaWMgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBm cmFtZSBwb29sLgo+PiAqCj4+IC0gKiBBbGxvY2F0ZWQgYXMgQVZIV0ZyYW1lc0NvbnRleHQuaHdj dHguCj4+ICsgKiBUaGlzIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0IiBpcyBhbGxvY2F0 ZWQgYXMgQVZIV0ZyYW1lc0NvbnRleHQuaHdjdHguCj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEFW VkFBUElGcmFtZXNDb250ZXh0IHsKPj4gLyoqCj4+IEBAIC0xMDUsNyArMTA1LDcgQEAgdHlwZWRl ZiBzdHJ1Y3QgQVZWQUFQSUZyYW1lc0NvbnRleHQgewo+PiAvKioKPj4gKiBWQUFQSSBoYXJkd2Fy ZSBwaXBlbGluZSBjb25maWd1cmF0aW9uIGRldGFpbHMuCj4+ICoKPj4gLSAqIEFsbG9jYXRlZCB3 aXRoIGF2X2h3ZGV2aWNlX2h3Y29uZmlnX2FsbG9jKCkuCj4+ICsgKiBUaGlzIHN0cnVjdCBpcyBh bGxvY2F0ZWQgd2l0aCBhdl9od2RldmljZV9od2NvbmZpZ19hbGxvYygpLgo+PiAqLwo+PiB0eXBl ZGVmIHN0cnVjdCBBVlZBQVBJSFdDb25maWcgewo+PiAvKioKPj4gZGlmZiAtLWdpdCBhL2xpYmF2 dXRpbC9od2NvbnRleHRfdmRwYXUuaCBiL2xpYmF2dXRpbC9od2NvbnRleHRfdmRwYXUuaAo+PiBp bmRleCAxYjdlYTFlNDQzLi5lMzA1Y2FhNTk1IDEwMDY0NAo+PiAtLS0gYS9saWJhdnV0aWwvaHdj b250ZXh0X3ZkcGF1LmgKPj4gKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF92ZHBhdS5oCj4+IEBA IC0zMCw3ICszMCw3IEBACj4+ICovCj4+IAo+PiAvKioKPj4gLSAqIFRoaXMgc3RydWN0IGlzIGFs bG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+PiArICogVGhpcyBAcmVmIG1kX2Rv Y18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3 Y3R4Cj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEFWVkRQQVVEZXZpY2VDb250ZXh0IHsKPj4gVmRw RGV2aWNlICAgICAgICAgIGRldmljZTsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRl eHRfdnVsa2FuLmggYi9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5oCj4+IGluZGV4IGNiYmQy MzkwYzEuLjE4Njk4NzAwMzIgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfdnVs a2FuLmgKPj4gKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uaAo+PiBAQCAtMzksNyAr MzksNyBAQCB0eXBlZGVmIHN0cnVjdCBBVlZrRnJhbWUgQVZWa0ZyYW1lOwo+PiAqLwo+PiAKPj4g LyoqCj4+IC0gKiBNYWluIFZ1bGthbiBjb250ZXh0LCBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNv bnRleHQuaHdjdHguCj4+ICsgKiBNYWluIFZ1bGthbiBAcmVmIG1kX2RvY18yY29udGV4dCAiY29u dGV4dCIsIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eC4KPj4gKiBBbGwgb2Yg dGhlc2UgY2FuIGJlIHNldCBiZWZvcmUgaW5pdCB0byBjaGFuZ2Ugd2hhdCB0aGUgY29udGV4dCB1 c2VzCj4+ICovCj4+IHR5cGVkZWYgc3RydWN0IEFWVnVsa2FuRGV2aWNlQ29udGV4dCB7Cj4+IEBA IC0xNzIsNyArMTcyLDcgQEAgdHlwZWRlZiBlbnVtIEFWVmtGcmFtZUZsYWdzIHsKPj4gfSBBVlZr RnJhbWVGbGFnczsKPj4gCj4+IC8qKgo+PiAtICogQWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250 ZXh0Lmh3Y3R4LCB1c2VkIHRvIHNldCBwb29sLXNwZWNpZmljIG9wdGlvbnMKPj4gKyAqIFRoaXMg QHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRnJhbWVz Q29udGV4dC5od2N0eCwgdXNlZCB0byBzZXQgcG9vbC1zcGVjaWZpYyBvcHRpb25zCj4+ICovCj4+ IHR5cGVkZWYgc3RydWN0IEFWVnVsa2FuRnJhbWVzQ29udGV4dCB7Cj4+IC8qKgo+PiBkaWZmIC0t Z2l0IGEvbGliYXZ1dGlsL2xmZy5oIGIvbGliYXZ1dGlsL2xmZy5oCj4+IGluZGV4IGU3NWE5ODZm MTIuLjdmNGZmNWI2MmYgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2dXRpbC9sZmcuaAo+PiArKysgYi9s aWJhdnV0aWwvbGZnLmgKPj4gQEAgLTI1LDcgKzI1LDcgQEAKPj4gI2luY2x1ZGUgPHN0ZGludC5o Pgo+PiAKPj4gLyoqCj4+IC0gKiBDb250ZXh0IHN0cnVjdHVyZSBmb3IgdGhlIExhZ2dlZCBGaWJv bmFjY2kgUFJORy4KPj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBzdHJ1Y3R1 cmUgZm9yIHRoZSBMYWdnZWQgRmlib25hY2NpIFBSTkcuCj4+ICogVGhlIGV4YWN0IGxheW91dCwg dHlwZXMgYW5kIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3QgbWF5IGNoYW5nZSBhbmQgc2hvdWxkCj4+ ICogbm90IGJlIGFjY2Vzc2VkIGRpcmVjdGx5LiBPbmx5IGl0cyBgc2l6ZW9mKClgIGlzIGd1YXJh bnRlZWQgdG8gc3RheSB0aGUgc2FtZQo+PiAqIHRvIGFsbG93IGVhc3kgaW5zdGFuY2lhdGlvbi4K Pj4gCj4gCj4gQ291bGQgeW91IGF0IGxlYXN0IG5vdCBwdXQgImNvbnRleHQiIGluIHF1b3RhdGlv biBtYXJrcz8KPiBUbyBiZSBob25lc3QsIEknbSBub3Qgc3VyZSB0aGlzIG1ha2VzIGRvY3VtZW50 YXRpb24gYW55IGJldHRlci4KPiBBIGNvbnRleHQgaXMgYW4gZXNzZW50aWFsIHRlcm0gd2UgdXNl IGluIG91ciBjb2RlYmFzZSB0aGF0J3MgcHJldHR5Cj4gdW5pdmVyc2FsLiBFeHBsYWluaW5nIGFn YWluIGFuZCBhZ2FpbiBhdCBldmVyeSBtZW50aW9uIGlzIGFubm95aW5nLgoKKzEuIEkgZG9u4oCZ dCB0aGluayDigJxjb250ZXh0IiBpcyBzcGVjaWZpYyB0byBGRm1wZWcsIGl04oCZcyBsaWtlIGNv bW1vbiBuYW1pbmcgY29udmVudGlvbnMuCgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1k ZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZt cGVnLWRldmVsCj4gCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWls Cj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2Ny aWJlIi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZm bXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K