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 BBA3B48438 for ; Thu, 2 May 2024 13:40:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EA57068D75F; Thu, 2 May 2024 16:40:18 +0300 (EEST) Received: from out203-205-251-59.mail.qq.com (out203-205-251-59.mail.qq.com [203.205.251.59]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 03C9A68D75F for ; Thu, 2 May 2024 16:40:10 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1714657205; bh=YHr57vZ8/MDgln+UvesKqmA3FrZa4KmUi23vMP6aZ1s=; h=From:Subject:Date:References:To:In-Reply-To; b=c/Y9I4EKiD+cpzg6+VYK/Lpgo1QM+yvAr979d0lGCM7thuPH2cHVYFvVwxV1YAbMM yvBeFyIzXn5vE4rzAq5I1UTrPfskrvr7RmXxF5kP9AhRV0Xl42hfPejwr3bAY12jWX dzrbO8StqlYOTtnRXOc90nJUAmiUpwRuQYcVwwRA= Received: from smtpclient.apple ([113.118.113.209]) by newxmesmtplogicsvrszb16-1.qq.com (NewEsmtp) with SMTP id A04862E7; Thu, 02 May 2024 21:40:04 +0800 X-QQ-mid: xmsmtpt1714657204trpvz9bl7 Message-ID: X-QQ-XMAILINFO: NWspS5xPsmCtgHxfUH5B6Eo3eSWMZMZUGo6k75VgRnruglX5FW+31LiheKEmfo pRHYAT8v0rZXyHl6kMn4j0IYCIGJ4whDk9PtXKmkJIWAI7Nd8+ikTKvQ7FX6Rl2zTVsCYjuF/wlJ xwL+xd9wuQiKfcn1qud2Ig6TQd3xqEYfynErmzhlvM1rCj9w8oLI3PwVI6ZdkLqClYzJfri93p71 E4emtfuAZ2BDncpuPrRW8aLyAq/SlWl8IWbTcfC4uEUri/5xZ+4ZBW1C5+/P9ELzdlF7xh4JZxG1 KYtQnoaP508FitjQxNEHcLXioAp951QrqvD7YXfIy3mafI/uZhhsUGb6Oo/hMNeLNH5sarBQprZx 4OIrohAcnSr2Xlw0cYx50TCrfpn5VtuCEIqBerxqQZnJPq3GMtblkGO5QbglQeXVobzjyr5GQlhl 5OOoGVpzDWlNOO0TcId6vktILYUa+vDS5CztGDea8GS/sC+0lt0UAd7P1JBUD+1L6bh3QBEaEKlX fDA1/iUnEmpVSS4LlvWlo+q0CKNqGGUjk1HqzYeewu3lcHTeBUgUl7cR4ShQLV49mJ5pidg0x9CI 2IWSiI4vbTB8Mho47lTiZYktvmbKKxi+D3tr7M9yO00L1guCxQpGo4COpPt0yPj0/Z3ATopWxkjY 0gpd+Y0CTTePJs163KJvrPQtosj9iLIx+3jxh0HmsW0SYfXbm9S8Pr7Ft2bBro8bxb62k7rnlWH5 ruWXdyBCEfMVEbTfF08OP2x3BJj4nUA8M2rdivylDobF3P0XqdFfVfkIPKBCehA4e7r3w602mucW azFahda3yEnO41E1zMnX3Idyu9zWyYqRF7yLXKLE11zm1ZJ24T7Ubh+UTyUzQN/dA2u8GRPrIAga YyUJqOPsGby+I4cmCJVDiS47g25YNMSjsmN516WHiBP0vH1KkmOnWLcS3cAhJi0qZWroI4mAjfum hFAXNzRN+ygZKlcKUSKLYhtpONdIlZdB8g9Cq4OU5sh99kR8Uq4B4tj03D9g+U13QKz0JeaW4CN2 R2D9Gl/4WjQhW7CgyNnpY+zdwEvuZkiUkS5fj/gg== X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.200.91.1.1\)) Date: Thu, 2 May 2024 21:39:54 +0800 References: <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: X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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+IE9uIE1heSAyLCAyMDI0LCBhdCAyMToyNywgQW5kcmV3IFNheWVycyA8ZmZtcGVnLWRldmVs QHBpbGVvZnN0dWZmLm9yZz4gd3JvdGU6Cj4gCj4gT24gVGh1LCBNYXkgMDIsIDIwMjQgYXQgMDk6 MDA6NDJQTSArMDgwMCwgWmhhbyBaaGlsaSB3cm90ZToKPj4gCj4+IAo+Pj4gT24gTWF5IDIsIDIw MjQsIGF0IDE5OjAxLCBMeW5uZSA8ZGV2QGx5bm5lLmVlPiB3cm90ZToKPj4+IAo+Pj4gQXByIDI5 LCAyMDI0LCAxMToyNCBieSBmZm1wZWctZGV2ZWxAcGlsZW9mc3R1ZmYub3JnOgo+Pj4gCj4+Pj4g U29tZSBoZWFkaW5ncyBuZWVkZWQgdG8gYmUgcmV3cml0dGVuIHRvIGFjY29tb2RhdGUgdGhlIHRl eHQsCj4+Pj4gKGhvcGVmdWxseSkgd2l0aG91dCBjaGFuZ2luZyB0aGUgbWVhbmluZy4KPj4+PiAt LS0KPj4+PiBsaWJhdmNvZGVjL2FhYy9hYWNkZWMuaCAgICAgICAgICAgIHwgIDIgKy0KPj4+PiBs aWJhdmNvZGVjL2FhY2VuYy5oICAgICAgICAgICAgICAgIHwgIDIgKy0KPj4+PiBsaWJhdmNvZGVj L2FjM2VuYy5oICAgICAgICAgICAgICAgIHwgIDIgKy0KPj4+PiBsaWJhdmNvZGVjL2FtZmVuYy5o ICAgICAgICAgICAgICAgIHwgIDIgKy0KPj4+PiBsaWJhdmNvZGVjL2F0cmFjLmggICAgICAgICAg ICAgICAgIHwgIDIgKy0KPj4+PiBsaWJhdmNvZGVjL2F2Y29kZWMuaCAgICAgICAgICAgICAgIHwg IDMgKystCj4+Pj4gbGliYXZjb2RlYy9ic2YuaCAgICAgICAgICAgICAgICAgICB8ICAyICstCj4+ Pj4gbGliYXZjb2RlYy9jYnMuaCAgICAgICAgICAgICAgICAgICB8ICAyICstCj4+Pj4gbGliYXZj b2RlYy9kM2QxMXZhLmggICAgICAgICAgICAgICB8ICAzICstLQo+Pj4+IGxpYmF2Y29kZWMvaDI2 NGRzcC5oICAgICAgICAgICAgICAgfCAgMiArLQo+Pj4+IGxpYmF2Y29kZWMvaDI2NHByZWQuaCAg ICAgICAgICAgICAgfCAgMiArLQo+Pj4+IGxpYmF2Y29kZWMvbWVkaWFjb2RlYy5oICAgICAgICAg ICAgfCAgMiArLQo+Pj4+IGxpYmF2Y29kZWMvbXBlZ2F1ZGlvZGVjX3RlbXBsYXRlLmMgfCAgMiAr LQo+Pj4+IGxpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jICAgICAgICAgfCAgNCArKy0tCj4+Pj4g bGliYXZjb2RlYy9xc3YuaCAgICAgICAgICAgICAgICAgICB8ICA2ICsrKystLQo+Pj4+IGxpYmF2 Y29kZWMvc2JyLmggICAgICAgICAgICAgICAgICAgfCAgMiArLQo+Pj4+IGxpYmF2Y29kZWMvc21h Y2tlci5jICAgICAgICAgICAgICAgfCAgMiArLQo+Pj4+IGxpYmF2Y29kZWMvdmRwYXUuaCAgICAg ICAgICAgICAgICAgfCAgMyArKy0KPj4+PiBsaWJhdmNvZGVjL3ZpZGVvdG9vbGJveC5oICAgICAg ICAgIHwgIDUgKysrLS0KPj4+PiBsaWJhdmZpbHRlci9hdmZpbHRlci5oICAgICAgICAgICAgIHwg IDIgKy0KPj4+PiBsaWJhdmZvcm1hdC9hdmZvcm1hdC5oICAgICAgICAgICAgIHwgIDMgKystCj4+ Pj4gbGliYXZmb3JtYXQvYXZpby5oICAgICAgICAgICAgICAgICB8ICAzICsrLQo+Pj4+IGxpYmF2 dXRpbC9hdWRpb19maWZvLmggICAgICAgICAgICAgfCAgMiArLQo+Pj4+IGxpYmF2dXRpbC9od2Nv bnRleHQuaCAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKystLS0tLS0tLS0KPj4+PiBsaWJh dnV0aWwvaHdjb250ZXh0X2N1ZGEuaCAgICAgICAgIHwgIDIgKy0KPj4+PiBsaWJhdnV0aWwvaHdj b250ZXh0X2QzZDExdmEuaCAgICAgIHwgIDQgKystLQo+Pj4+IGxpYmF2dXRpbC9od2NvbnRleHRf ZDNkMTJ2YS5oICAgICAgfCAgNiArKystLS0KPj4+PiBsaWJhdnV0aWwvaHdjb250ZXh0X2RybS5o ICAgICAgICAgIHwgIDIgKy0KPj4+PiBsaWJhdnV0aWwvaHdjb250ZXh0X2R4dmEyLmggICAgICAg IHwgIDQgKystLQo+Pj4+IGxpYmF2dXRpbC9od2NvbnRleHRfbWVkaWFjb2RlYy5oICAgfCAgMiAr LQo+Pj4+IGxpYmF2dXRpbC9od2NvbnRleHRfb3BlbmNsLmggICAgICAgfCAgNCArKy0tCj4+Pj4g bGliYXZ1dGlsL2h3Y29udGV4dF9xc3YuaCAgICAgICAgICB8ICA0ICsrLS0KPj4+PiBsaWJhdnV0 aWwvaHdjb250ZXh0X3ZhYXBpLmggICAgICAgIHwgIDYgKysrLS0tCj4+Pj4gbGliYXZ1dGlsL2h3 Y29udGV4dF92ZHBhdS5oICAgICAgICB8ICAyICstCj4+Pj4gbGliYXZ1dGlsL2h3Y29udGV4dF92 dWxrYW4uaCAgICAgICB8ICA0ICsrLS0KPj4+PiBsaWJhdnV0aWwvbGZnLmggICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KPj4+PiAzNiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA1 NyBkZWxldGlvbnMoLSkKPj4+PiAKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hYWMvYWFj ZGVjLmggYi9saWJhdmNvZGVjL2FhYy9hYWNkZWMuaAo+Pj4+IGluZGV4IDRjZjc2NGUyZTkuLjcx ZDYxODEzZjQgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9hYWMvYWFjZGVjLmgKPj4+PiAr KysgYi9saWJhdmNvZGVjL2FhYy9hYWNkZWMuaAo+Pj4+IEBAIC0yNDgsNyArMjQ4LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgQUFDRGVjRFNQIHsKPj4+PiB9IEFBQ0RlY0RTUDsKPj4+PiAKPj4+PiAvKioK Pj4+PiAtICogbWFpbiBBQUMgZGVjb2RpbmcgY29udGV4dAo+Pj4+ICsgKiBtYWluIEFBQyBkZWNv ZGluZyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIKPj4+PiAqLwo+Pj4+IHN0cnVjdCBB QUNEZWNDb250ZXh0IHsKPj4+PiBjb25zdCBzdHJ1Y3QgQVZDbGFzcyAgKmNsYXNzOwo+Pj4+IGRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhY2VuYy5oIGIvbGliYXZjb2RlYy9hYWNlbmMuaAo+Pj4+ IGluZGV4IGQwNzk2MDYyMGUuLjFhNjQ1ZjQ3MTkgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2Rl Yy9hYWNlbmMuaAo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMvYWFjZW5jLmgKPj4+PiBAQCAtMjA3LDcg KzIwNyw3IEBAIHR5cGVkZWYgc3RydWN0IEFBQ1BDRUluZm8gewo+Pj4+IH0gQUFDUENFSW5mbzsK Pj4+PiAKPj4+PiAvKioKPj4+PiAtICogQUFDIGVuY29kZXIgY29udGV4dAo+Pj4+ICsgKiBBQUMg ZW5jb2RlciBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIKPj4+PiAqLwo+Pj4+IHR5cGVk ZWYgc3RydWN0IEFBQ0VuY0NvbnRleHQgewo+Pj4+IEFWQ2xhc3MgKmF2X2NsYXNzOwo+Pj4+IGRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL2FjM2VuYy5oIGIvbGliYXZjb2RlYy9hYzNlbmMuaAo+Pj4+ IGluZGV4IDMwODEyNjE3Y2MuLmM3MjUwMDcwNzcgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2Rl Yy9hYzNlbmMuaAo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMvYWMzZW5jLmgKPj4+PiBAQCAtMTUyLDcg KzE1Miw3IEBAIHR5cGVkZWYgc3RydWN0IEFDM0Jsb2NrIHsKPj4+PiB9IEFDM0Jsb2NrOwo+Pj4+ IAo+Pj4+IC8qKgo+Pj4+IC0gKiBBQy0zIGVuY29kZXIgcHJpdmF0ZSBjb250ZXh0Lgo+Pj4+ICsg KiBBQy0zIGVuY29kZXIgcHJpdmF0ZSBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIKPj4+ PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IEFDM0VuY29kZUNvbnRleHQgewo+Pj4+IEFWQ2xhc3Mg KmF2X2NsYXNzOyAgICAgICAgICAgICAgICAgICAgICAvLy88IEFWQ2xhc3MgdXNlZCBmb3IgQVZP cHRpb24KPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hbWZlbmMuaCBiL2xpYmF2Y29kZWMv YW1mZW5jLmgKPj4+PiBpbmRleCAyZGJkMzc4ZWY4Li5mMTQyZWRlNjNhIDEwMDY0NAo+Pj4+IC0t LSBhL2xpYmF2Y29kZWMvYW1mZW5jLmgKPj4+PiArKysgYi9saWJhdmNvZGVjL2FtZmVuYy5oCj4+ Pj4gQEAgLTQzLDcgKzQzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQW1mVHJhY2VXcml0ZXIgewo+Pj4+ IH0gQW1mVHJhY2VXcml0ZXI7Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSogQU1GIGVuY29kZXIgY29u dGV4dAo+Pj4+ICsqIEFNRiBlbmNvZGVyIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0Igo+ Pj4+ICovCj4+Pj4gCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQW1mQ29udGV4dCB7Cj4+Pj4gZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvYXRyYWMuaCBiL2xpYmF2Y29kZWMvYXRyYWMuaAo+Pj4+IGluZGV4 IDA1MjA4YmJlZTYuLjE1MjdlMzc2YTkgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9hdHJh Yy5oCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9hdHJhYy5oCj4+Pj4gQEAgLTM5LDcgKzM5LDcgQEAg dHlwZWRlZiBzdHJ1Y3QgQXRyYWNHYWluSW5mbyB7Cj4+Pj4gfSBBdHJhY0dhaW5JbmZvOwo+Pj4+ IAo+Pj4+IC8qKgo+Pj4+IC0gKiAgR2FpbiBjb21wZW5zYXRpb24gY29udGV4dCBzdHJ1Y3R1cmUu Cj4+Pj4gKyAqICBHYWluIGNvbXBlbnNhdGlvbiBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4 dCIKPj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IEF0cmFjR0NDb250ZXh0IHsKPj4+PiBmbG9h dCAgIGdhaW5fdGFiMVsxNl07ICAvLy88IGdhaW4gY29tcGVuc2F0aW9uIGxldmVsIHRhYmxlCj4+ Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYXZjb2RlYy5oIGIvbGliYXZjb2RlYy9hdmNvZGVj LmgKPj4+PiBpbmRleCA5NjgwMDlhMTkyLi45MTgwZmVkY2E3IDEwMDY0NAo+Pj4+IC0tLSBhL2xp YmF2Y29kZWMvYXZjb2RlYy5oCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9hdmNvZGVjLmgKPj4+PiBA QCAtNDMwLDcgKzQzMCw4IEBAIHR5cGVkZWYgc3RydWN0IFJjT3ZlcnJpZGV7Cj4+Pj4gI2RlZmlu ZSBBVl9HRVRfRU5DT0RFX0JVRkZFUl9GTEFHX1JFRiAoMSA8PCAwKQo+Pj4+IAo+Pj4+IC8qKgo+ Pj4+IC0gKiBtYWluIGV4dGVybmFsIEFQSSBzdHJ1Y3R1cmUuCj4+Pj4gKyAqIEByZWYgbWRfZG9j XzJjb250ZXh0ICJDb250ZXh0IiBmb3IgYW4gZW5jb2RlIG9yIGRlY29kZSBzZXNzaW9uCj4+Pj4g KyAqCj4+Pj4gKiBOZXcgZmllbGRzIGNhbiBiZSBhZGRlZCB0byB0aGUgZW5kIHdpdGggbWlub3Ig dmVyc2lvbiBidW1wcy4KPj4+PiAqIFJlbW92YWwsIHJlb3JkZXJpbmcgYW5kIGNoYW5nZXMgdG8g ZXhpc3RpbmcgZmllbGRzIHJlcXVpcmUgYSBtYWpvcgo+Pj4+ICogdmVyc2lvbiBidW1wLgo+Pj4+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2JzZi5oIGIvbGliYXZjb2RlYy9ic2YuaAo+Pj4+IGlu ZGV4IGEwOWM2OWYyNDIuLmJmNzlhZmE3Y2MgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9i c2YuaAo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMvYnNmLmgKPj4+PiBAQCAtNTYsNyArNTYsNyBAQAo+ Pj4+ICovCj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIFRoZSBiaXRzdHJlYW0gZmlsdGVyIHN0YXRl Lgo+Pj4+ICsgKiBCaXRzdHJlYW0gZmlsdGVyIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0 Igo+Pj4+ICoKPj4+PiAqIFRoaXMgc3RydWN0IG11c3QgYmUgYWxsb2NhdGVkIHdpdGggYXZfYnNm X2FsbG9jKCkgYW5kIGZyZWVkIHdpdGgKPj4+PiAqIGF2X2JzZl9mcmVlKCkuCj4+Pj4gZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvY2JzLmggYi9saWJhdmNvZGVjL2Nicy5oCj4+Pj4gaW5kZXggZDQ3 OWIxYWMyZC4uMGZmNjRkMmZlZiAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmNvZGVjL2Nicy5oCj4+ Pj4gKysrIGIvbGliYXZjb2RlYy9jYnMuaAo+Pj4+IEBAIC0yMTQsNyArMjE0LDcgQEAgdHlwZWRl ZiB2b2lkICgqQ0JTVHJhY2VXcml0ZUNhbGxiYWNrKSh2b2lkICp0cmFjZV9jb250ZXh0LAo+Pj4+ IGludDY0X3QgdmFsdWUpOwo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBDb250ZXh0IHN0cnVjdHVy ZSBmb3IgY29kZWQgYml0c3RyZWFtIG9wZXJhdGlvbnMuCj4+Pj4gKyAqIEByZWYgbWRfZG9jXzJj b250ZXh0ICJDb250ZXh0IiBzdHJ1Y3R1cmUgZm9yIGNvZGVkIGJpdHN0cmVhbSBvcGVyYXRpb25z Lgo+Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQ29kZWRCaXRzdHJlYW1Db250ZXh0IHsKPj4+ PiAvKioKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9kM2QxMXZhLmggYi9saWJhdmNvZGVj L2QzZDExdmEuaAo+Pj4+IGluZGV4IDI3ZjQwZTU1MTkuLmVjMGM0NzJhYjkgMTAwNjQ0Cj4+Pj4g LS0tIGEvbGliYXZjb2RlYy9kM2QxMXZhLmgKPj4+PiArKysgYi9saWJhdmNvZGVjL2QzZDExdmEu aAo+Pj4+IEBAIC00Niw4ICs0Niw3IEBACj4+Pj4gKi8KPj4+PiAKPj4+PiAvKioKPj4+PiAtICog VGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3Vy YXRpb25zIGFuZCBkYXRhCj4+Pj4gLSAqIHRvIHRoZSBEaXJlY3QzRDExIEZGbXBlZyBIV0FjY2Vs IGltcGxlbWVudGF0aW9uLgo+Pj4+ICsgKiBAcmVmIG1kX2RvY18yY29udGV4dCAiQ29udGV4dCIg Zm9yIHRoZSBEaXJlY3QzRDExIEZGbXBlZyBIV0FjY2VsIGltcGxlbWVudGF0aW9uCj4+Pj4gKgo+ Pj4+ICogVGhlIGFwcGxpY2F0aW9uIG11c3QgbWFrZSBpdCBhdmFpbGFibGUgYXMgQVZDb2RlY0Nv bnRleHQuaHdhY2NlbF9jb250ZXh0Lgo+Pj4+ICoKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2Rl Yy9oMjY0ZHNwLmggYi9saWJhdmNvZGVjL2gyNjRkc3AuaAo+Pj4+IGluZGV4IGUwODgwYzRkODgu LjI3MjU2YzU2MDUgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9oMjY0ZHNwLmgKPj4+PiAr KysgYi9saWJhdmNvZGVjL2gyNjRkc3AuaAo+Pj4+IEBAIC0zNyw3ICszNyw3IEBAIHR5cGVkZWYg dm9pZCAoKmgyNjRfYml3ZWlnaHRfZnVuYykodWludDhfdCAqZHN0LCB1aW50OF90ICpzcmMsCj4+ Pj4gaW50IHdlaWdodGQsIGludCB3ZWlnaHRzLCBpbnQgb2Zmc2V0KTsKPj4+PiAKPj4+PiAvKioK Pj4+PiAtICogQ29udGV4dCBmb3Igc3RvcmluZyBILjI2NCBEU1AgZnVuY3Rpb25zCj4+Pj4gKyAq IEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3Igc3RvcmluZyBILjI2NCBEU1AgZnVu Y3Rpb25zCj4+Pj4gKi8KPj4+PiB0eXBlZGVmIHN0cnVjdCBIMjY0RFNQQ29udGV4dCB7Cj4+Pj4g Lyogd2VpZ2h0ZWQgTUMgKi8KPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0cHJlZC5o IGIvbGliYXZjb2RlYy9oMjY0cHJlZC5oCj4+Pj4gaW5kZXggY2IwMDg1NDhmYy4uMmIwNzZmODg0 NiAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmNvZGVjL2gyNjRwcmVkLmgKPj4+PiArKysgYi9saWJh dmNvZGVjL2gyNjRwcmVkLmgKPj4+PiBAQCAtODksNyArODksNyBAQAo+Pj4+ICNkZWZpbmUgUEFS VF9OT1RfQVZBSUxBQkxFIC0yCj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIENvbnRleHQgZm9yIHN0 b3JpbmcgSC4yNjQgcHJlZGljdGlvbiBmdW5jdGlvbnMKPj4+PiArICogQHJlZiBtZF9kb2NfMmNv bnRleHQgIkNvbnRleHQiIGZvciBzdG9yaW5nIEguMjY0IHByZWRpY3Rpb24gZnVuY3Rpb25zCj4+ Pj4gKi8KPj4+PiB0eXBlZGVmIHN0cnVjdCBIMjY0UHJlZENvbnRleHQgewo+Pj4+IHZvaWQoKnBy ZWQ0eDRbOSArIDMgKyAzXSkodWludDhfdCAqc3JjLCBjb25zdCB1aW50OF90ICp0b3ByaWdodCwK Pj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tZWRpYWNvZGVjLmggYi9saWJhdmNvZGVjL21l ZGlhY29kZWMuaAo+Pj4+IGluZGV4IDRlOWI1NmE2MTguLjk5NjdhN2NmYjMgMTAwNjQ0Cj4+Pj4g LS0tIGEvbGliYXZjb2RlYy9tZWRpYWNvZGVjLmgKPj4+PiArKysgYi9saWJhdmNvZGVjL21lZGlh Y29kZWMuaAo+Pj4+IEBAIC0yNiw3ICsyNiw3IEBACj4+Pj4gI2luY2x1ZGUgImxpYmF2Y29kZWMv YXZjb2RlYy5oIgo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlzIHN0cnVjdHVyZSBob2xkcyBh IHJlZmVyZW5jZSB0byBhIGFuZHJvaWQvdmlldy9TdXJmYWNlIG9iamVjdCB0aGF0IHdpbGwKPj4+ PiArICogQHJlZiBtZF9kb2NfMmNvbnRleHQgIkNvbnRleHQiIGZvciB0aGUgYW5kcm9pZC92aWV3 L1N1cmZhY2Ugb2JqZWN0IHRoYXQgd2lsbAo+Pj4+ICogYmUgdXNlZCBhcyBvdXRwdXQgYnkgdGhl IGRlY29kZXIuCj4+Pj4gKgo+Pj4+ICovCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbXBl Z2F1ZGlvZGVjX3RlbXBsYXRlLmMgYi9saWJhdmNvZGVjL21wZWdhdWRpb2RlY190ZW1wbGF0ZS5j Cj4+Pj4gaW5kZXggYzczYjFlMDA1NC4uMTVkNjMyMTVkMSAxMDA2NDQKPj4+PiAtLS0gYS9saWJh dmNvZGVjL21wZWdhdWRpb2RlY190ZW1wbGF0ZS5jCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9tcGVn YXVkaW9kZWNfdGVtcGxhdGUuYwo+Pj4+IEBAIC0xNjkxLDcgKzE2OTEsNyBAQCBzdGF0aWMgaW50 IGRlY29kZV9mcmFtZV9hZHUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwK Pj4+PiAjaWYgQ09ORklHX01QM09ONF9ERUNPREVSIHx8IENPTkZJR19NUDNPTjRGTE9BVF9ERUNP REVSCj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIENvbnRleHQgZm9yIE1QM09uNCBkZWNvZGVyCj4+ Pj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgTVAzT240IGRlY29kZXIK Pj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IE1QM09uNERlY29kZUNvbnRleHQgewo+Pj4+IGlu dCBmcmFtZXM7ICAgICAgICAgICAgICAgICAgICAgLy8vPCBudW1iZXIgb2YgbXAzIGZyYW1lcyBw ZXIgYmxvY2sgKG51bWJlciBvZiBtcDMgZGVjb2RlciBpbnN0YW5jZXMpCj4+Pj4gZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jIGIvbGliYXZjb2RlYy9wdGhyZWFkX2ZyYW1l LmMKPj4+PiBpbmRleCA2N2YwOWMxZjQ4Li43NGYwNWVlZGNmIDEwMDY0NAo+Pj4+IC0tLSBhL2xp YmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9wdGhyZWFkX2Zy YW1lLmMKPj4+PiBAQCAtNzEsNyArNzEsNyBAQCB0eXBlZGVmIHN0cnVjdCBUaHJlYWRGcmFtZVBy b2dyZXNzIHsKPj4+PiB9IFRocmVhZEZyYW1lUHJvZ3Jlc3M7Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4g LSAqIENvbnRleHQgdXNlZCBieSBjb2RlYyB0aHJlYWRzIGFuZCBzdG9yZWQgaW4gdGhlaXIgQVZD b2RlY0ludGVybmFsIHRocmVhZF9jdHguCj4+Pj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJD b250ZXh0IiB1c2VkIGJ5IGNvZGVjIHRocmVhZHMgYW5kIHN0b3JlZCBpbiB0aGVpciBBVkNvZGVj SW50ZXJuYWwgdGhyZWFkX2N0eC4KPj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IFBlclRocmVh ZENvbnRleHQgewo+Pj4+IHN0cnVjdCBGcmFtZVRocmVhZENvbnRleHQgKnBhcmVudDsKPj4+PiBA QCAtMTExLDcgKzExMSw3IEBAIHR5cGVkZWYgc3RydWN0IFBlclRocmVhZENvbnRleHQgewo+Pj4+ IH0gUGVyVGhyZWFkQ29udGV4dDsKPj4+PiAKPj4+PiAvKioKPj4+PiAtICogQ29udGV4dCBzdG9y ZWQgaW4gdGhlIGNsaWVudCBBVkNvZGVjSW50ZXJuYWwgdGhyZWFkX2N0eC4KPj4+PiArICogQHJl ZiBtZF9kb2NfMmNvbnRleHQgIkNvbnRleHQiIHN0b3JlZCBpbiB0aGUgY2xpZW50IEFWQ29kZWNJ bnRlcm5hbCB0aHJlYWRfY3R4Lgo+Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgRnJhbWVUaHJl YWRDb250ZXh0IHsKPj4+PiBQZXJUaHJlYWRDb250ZXh0ICp0aHJlYWRzOyAgICAgLy8vPCBUaGUg Y29udGV4dHMgZm9yIGVhY2ggdGhyZWFkLgo+Pj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Fz di5oIGIvbGliYXZjb2RlYy9xc3YuaAo+Pj4+IGluZGV4IGMxNTZiMDhkMDcuLjhiODE2MGE0YjEg MTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9xc3YuaAo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMv cXN2LmgKPj4+PiBAQCAtMjYsOCArMjYsMTAgQEAKPj4+PiAjaW5jbHVkZSAibGliYXZ1dGlsL2J1 ZmZlci5oIgo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlzIHN0cnVjdCBpcyB1c2VkIGZvciBj b21tdW5pY2F0aW5nIFFTViBwYXJhbWV0ZXJzIGJldHdlZW4gbGliYXZjb2RlYyBhbmQKPj4+PiAt ICogdGhlIGNhbGxlci4gSXQgaXMgbWFuYWdlZCBieSB0aGUgY2FsbGVyIGFuZCBtdXN0IGJlIGFz c2lnbmVkIHRvCj4+Pj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgY29t bXVuaWNhdGluZyBRU1YgcGFyYW1ldGVycyBiZXR3ZWVuIGxpYmF2Y29kZWMKPj4+PiArICogYW5k IHRoZSBjYWxsZXIuCj4+Pj4gKyAqCj4+Pj4gKyAqIEl0IGlzIG1hbmFnZWQgYnkgdGhlIGNhbGxl ciBhbmQgbXVzdCBiZSBhc3NpZ25lZCB0bwo+Pj4+ICogQVZDb2RlY0NvbnRleHQuaHdhY2NlbF9j b250ZXh0Lgo+Pj4+ICogLSBkZWNvZGluZzogaHdhY2NlbF9jb250ZXh0IG11c3QgYmUgc2V0IG9u IHJldHVybiBmcm9tIHRoZSBnZXRfZm9ybWF0KCkKPj4+PiAqICAgICAgICAgICAgIGNhbGxiYWNr Cj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvc2JyLmggYi9saWJhdmNvZGVjL3Nici5oCj4+ Pj4gaW5kZXggZmUzYTM5NjAzYS4uOThhZDkwMjRhOSAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmNv ZGVjL3Nici5oCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9zYnIuaAo+Pj4+IEBAIC0xMTYsNyArMTE2 LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgU0JSRGF0YSB7Cj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgU3BlY3Ry YWxCYW5kUmVwbGljYXRpb24gU3BlY3RyYWxCYW5kUmVwbGljYXRpb247Cj4+Pj4gCj4+Pj4gLyoq Cj4+Pj4gLSAqIGFhY3NiciBmdW5jdGlvbnMgcG9pbnRlcnMKPj4+PiArICogYWFjc2JyIGZ1bmN0 aW9ucyBwb2ludGVyIEByZWYgbWRfZG9jXzJjb250ZXh0ICJjb250ZXh0Igo+Pj4+ICovCj4+Pj4g dHlwZWRlZiBzdHJ1Y3QgQUFDU0JSQ29udGV4dCB7Cj4+Pj4gaW50ICgqc2JyX2xmX2dlbikoU3Bl Y3RyYWxCYW5kUmVwbGljYXRpb24gKnNiciwKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9z bWFja2VyLmMgYi9saWJhdmNvZGVjL3NtYWNrZXIuYwo+Pj4+IGluZGV4IDhmMTk4ZDY5NTcuLjFj YTM5YTc0YTAgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy9zbWFja2VyLmMKPj4+PiArKysg Yi9saWJhdmNvZGVjL3NtYWNrZXIuYwo+Pj4+IEBAIC02OCw3ICs2OCw3IEBAIHR5cGVkZWYgc3Ry dWN0IEh1ZmZFbnRyeSB7Cj4+Pj4gfSBIdWZmRW50cnk7Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAq IENvbnRleHQgdXNlZCBmb3IgY29kZSByZWNvbnN0cnVjdGluZwo+Pj4+ICsgKiBAcmVmIG1kX2Rv Y18yY29udGV4dCAiQ29udGV4dCIgdXNlZCBmb3IgY29kZSByZWNvbnN0cnVjdGluZwo+Pj4+ICov Cj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgSHVmZkNvbnRleHQgewo+Pj4+IGludCBjdXJyZW50Owo+Pj4+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZkcGF1LmggYi9saWJhdmNvZGVjL3ZkcGF1LmgKPj4+ PiBpbmRleCA4MDIxYzI1NzYxLi4yMjdiODU3MjdkIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYmF2Y29k ZWMvdmRwYXUuaAo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMvdmRwYXUuaAo+Pj4+IEBAIC02NCw4ICs2 NCw5IEBAIHR5cGVkZWYgaW50ICgqQVZWRFBBVV9SZW5kZXIyKShzdHJ1Y3QgQVZDb2RlY0NvbnRl eHQgKiwgc3RydWN0IEFWRnJhbWUgKiwKPj4+PiBjb25zdCBWZHBCaXRzdHJlYW1CdWZmZXIgKik7 Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gc2hhcmUg ZGF0YSBiZXR3ZWVuIHRoZSBsaWJhdmNvZGVjIGxpYnJhcnkgYW5kCj4+Pj4gKyAqIEByZWYgbWRf ZG9jXzJjb250ZXh0ICJDb250ZXh0IiB0byBzaGFyZSBkYXRhIGJldHdlZW4gdGhlIGxpYmF2Y29k ZWMgbGlicmFyeSBhbmQKPj4+PiAqIHRoZSBjbGllbnQgdmlkZW8gYXBwbGljYXRpb24uCj4+Pj4g KyAqCj4+Pj4gKiBUaGlzIHN0cnVjdHVyZSB3aWxsIGJlIGFsbG9jYXRlZCBhbmQgc3RvcmVkIGlu IEFWQ29kZWNDb250ZXh0Lmh3YWNjZWxfY29udGV4dAo+Pj4+ICogYnkgYXZfdmRwYXVfYmluZF9j b250ZXh0KCkuIE1lbWJlcnMgY2FuIGJlIHNldCBieSB0aGUgdXNlciBvbmNlCj4+Pj4gKiBkdXJp bmcgaW5pdGlhbGl6YXRpb24gb3IgdGhyb3VnaCBlYWNoIEFWQ29kZWNDb250ZXh0LmdldF9idWZm ZXIoKQo+Pj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZpZGVvdG9vbGJveC5oIGIvbGliYXZj b2RlYy92aWRlb3Rvb2xib3guaAo+Pj4+IGluZGV4IGQ2OGQ3NmU0MDAuLmYxNWU3OWYzMjUgMTAw NjQ0Cj4+Pj4gLS0tIGEvbGliYXZjb2RlYy92aWRlb3Rvb2xib3guaAo+Pj4+ICsrKyBiL2xpYmF2 Y29kZWMvdmlkZW90b29sYm94LmgKPj4+PiBAQCAtNDksOCArNDksOSBAQAo+Pj4+ICNpbmNsdWRl ICJsaWJhdnV0aWwvYXR0cmlidXRlcy5oIgo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlzIHN0 cnVjdCBob2xkcyBhbGwgdGhlIGluZm9ybWF0aW9uIHRoYXQgbmVlZHMgdG8gYmUgcGFzc2VkCj4+ Pj4gLSAqIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgbGliYXZjb2RlYyBmb3IgaW5pdGlhbGl6aW5n IFZpZGVvdG9vbGJveCBkZWNvZGluZy4KPj4+PiArICogQHJlZiBtZF9kb2NfMmNvbnRleHQgIkNv bnRleHQiIGZvciBpbmZvcm1hdGlvbiBwYXNzZWQgYmV0d2VlbiB0aGUgY2FsbGVyIGFuZCBsaWJh dmNvZGVjCj4+Pj4gKyAqIGZvciBpbml0aWFsaXppbmcgVmlkZW90b29sYm94IGRlY29kaW5nLgo+ Pj4+ICsgKgo+Pj4+ICogSXRzIHNpemUgaXMgbm90IGEgcGFydCBvZiB0aGUgcHVibGljIEFCSSwg aXQgbXVzdCBiZSBhbGxvY2F0ZWQgd2l0aAo+Pj4+ICogYXZfdmlkZW90b29sYm94X2FsbG9jX2Nv bnRleHQoKSBhbmQgZnJlZWQgd2l0aCBhdl9mcmVlKCkuCj4+Pj4gKi8KPj4+PiBkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvYXZmaWx0ZXIuaCBiL2xpYmF2ZmlsdGVyL2F2ZmlsdGVyLmgKPj4+PiBp bmRleCBhMzRlNjFmMjNjLi41NGI1ZjlkYzQzIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYmF2ZmlsdGVy L2F2ZmlsdGVyLmgKPj4+PiArKysgYi9saWJhdmZpbHRlci9hdmZpbHRlci5oCj4+Pj4gQEAgLTQw Myw3ICs0MDMsNyBAQCB1bnNpZ25lZCBhdmZpbHRlcl9maWx0ZXJfcGFkX2NvdW50KGNvbnN0IEFW RmlsdGVyICpmaWx0ZXIsIGludCBpc19vdXRwdXQpOwo+Pj4+ICovCj4+Pj4gI2RlZmluZSBBVkZJ TFRFUl9USFJFQURfU0xJQ0UgKDEgPDwgMCkKPj4+PiAKPj4+PiAtLyoqIEFuIGluc3RhbmNlIG9m IGEgZmlsdGVyICovCj4+Pj4gKy8qKiBAcmVmIG1kX2RvY18yY29udGV4dCAiQ29udGV4dCIgZm9y IGEgZmlsdGVyICovCj4+Pj4gc3RydWN0IEFWRmlsdGVyQ29udGV4dCB7Cj4+Pj4gY29uc3QgQVZD bGFzcyAqYXZfY2xhc3M7ICAgICAgICAvLy88IG5lZWRlZCBmb3IgYXZfbG9nKCkgYW5kIGZpbHRl cnMgY29tbW9uIG9wdGlvbnMKPj4+PiAKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvYXZm b3JtYXQuaCBiL2xpYmF2Zm9ybWF0L2F2Zm9ybWF0LmgKPj4+PiBpbmRleCA4YWZkY2Q5ZmQwLi4y ODI0M2MwNmM0IDEwMDY0NAo+Pj4+IC0tLSBhL2xpYmF2Zm9ybWF0L2F2Zm9ybWF0LmgKPj4+PiAr KysgYi9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCj4+Pj4gQEAgLTEyNDEsNyArMTI0MSw4IEBAIGVu dW0gQVZEdXJhdGlvbkVzdGltYXRpb25NZXRob2Qgewo+Pj4+IH07Cj4+Pj4gCj4+Pj4gLyoqCj4+ Pj4gLSAqIEZvcm1hdCBJL08gY29udGV4dC4KPj4+PiArICogRm9ybWF0IEkvTyBAcmVmIG1kX2Rv Y18yY29udGV4dCAiY29udGV4dCIKPj4+PiArICoKPj4+PiAqIE5ldyBmaWVsZHMgY2FuIGJlIGFk ZGVkIHRvIHRoZSBlbmQgd2l0aCBtaW5vciB2ZXJzaW9uIGJ1bXBzLgo+Pj4+ICogUmVtb3ZhbCwg cmVvcmRlcmluZyBhbmQgY2hhbmdlcyB0byBleGlzdGluZyBmaWVsZHMgcmVxdWlyZSBhIG1ham9y Cj4+Pj4gKiB2ZXJzaW9uIGJ1bXAuCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2F2aW8u aCBiL2xpYmF2Zm9ybWF0L2F2aW8uaAo+Pj4+IGluZGV4IGViZjYxMTE4N2QuLmI1MjVjOTMxOTQg MTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZmb3JtYXQvYXZpby5oCj4+Pj4gKysrIGIvbGliYXZmb3Jt YXQvYXZpby5oCj4+Pj4gQEAgLTE0Niw3ICsxNDYsOCBAQCBlbnVtIEFWSU9EYXRhTWFya2VyVHlw ZSB7Cj4+Pj4gfTsKPj4+PiAKPj4+PiAvKioKPj4+PiAtICogQnl0ZXN0cmVhbSBJTyBDb250ZXh0 Lgo+Pj4+ICsgKiBCeXRlc3RyZWFtIEkvTyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIK Pj4+PiArICoKPj4+PiAqIE5ldyBwdWJsaWMgZmllbGRzIGNhbiBiZSBhZGRlZCB3aXRoIG1pbm9y IHZlcnNpb24gYnVtcHMuCj4+Pj4gKiBSZW1vdmFsLCByZW9yZGVyaW5nIGFuZCBjaGFuZ2VzIHRv IGV4aXN0aW5nIHB1YmxpYyBmaWVsZHMgcmVxdWlyZQo+Pj4+ICogYSBtYWpvciB2ZXJzaW9uIGJ1 bXAuCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9hdWRpb19maWZvLmggYi9saWJhdnV0aWwv YXVkaW9fZmlmby5oCj4+Pj4gaW5kZXggZmE1ZjU5YTJiZS4uZGUyOTcxNTQ2MiAxMDA2NDQKPj4+ PiAtLS0gYS9saWJhdnV0aWwvYXVkaW9fZmlmby5oCj4+Pj4gKysrIGIvbGliYXZ1dGlsL2F1ZGlv X2ZpZm8uaAo+Pj4+IEBAIC0zOSw3ICszOSw3IEBACj4+Pj4gKi8KPj4+PiAKPj4+PiAvKioKPj4+ PiAtICogQ29udGV4dCBmb3IgYW4gQXVkaW8gRklGTyBCdWZmZXIuCj4+Pj4gKyAqIEByZWYgbWRf ZG9jXzJjb250ZXh0ICJDb250ZXh0IiBmb3IgYW4gQXVkaW8gRklGTyBCdWZmZXIuCj4+Pj4gKgo+ Pj4+ICogLSBPcGVyYXRlcyBhdCB0aGUgc2FtcGxlIGxldmVsIHJhdGhlciB0aGFuIHRoZSBieXRl IGxldmVsLgo+Pj4+ICogLSBTdXBwb3J0cyBtdWx0aXBsZSBjaGFubmVscyB3aXRoIGVpdGhlciBw bGFuYXIgb3IgcGFja2VkIHNhbXBsZSBmb3JtYXQuCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRp bC9od2NvbnRleHQuaCBiL2xpYmF2dXRpbC9od2NvbnRleHQuaAo+Pj4+IGluZGV4IGJhYzMwZGVi YWUuLjYwMDY0Y2YwOGIgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dC5oCj4+ Pj4gKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dC5oCj4+Pj4gQEAgLTQxLDEyICs0MSwxMyBAQCBl bnVtIEFWSFdEZXZpY2VUeXBlIHsKPj4+PiB9Owo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlz IHN0cnVjdCBhZ2dyZWdhdGVzIGFsbCB0aGUgKGhhcmR3YXJlL3ZlbmRvci1zcGVjaWZpYykgImhp Z2gtbGV2ZWwiIHN0YXRlLAo+Pj4+IC0gKiBpLmUuIHN0YXRlIHRoYXQgaXMgbm90IHRpZWQgdG8g YSBjb25jcmV0ZSBwcm9jZXNzaW5nIGNvbmZpZ3VyYXRpb24uCj4+Pj4gLSAqIEUuZy4sIGluIGFu IEFQSSB0aGF0IHN1cHBvcnRzIGhhcmR3YXJlLWFjY2VsZXJhdGVkIGVuY29kaW5nIGFuZCBkZWNv ZGluZywKPj4+PiAtICogdGhpcyBzdHJ1Y3Qgd2lsbCAoaWYgcG9zc2libGUpIHdyYXAgdGhlIHN0 YXRlIHRoYXQgaXMgY29tbW9uIHRvIGJvdGggZW5jb2RpbmcKPj4+PiAtICogYW5kIGRlY29kaW5n IGFuZCBmcm9tIHdoaWNoIHNwZWNpZmljIGluc3RhbmNlcyBvZiBlbmNvZGVycyBvciBkZWNvZGVy cyBjYW4gYmUKPj4+PiAtICogZGVyaXZlZC4KPj4+PiArICogQHJlZiBtZF9kb2NfMmNvbnRleHQg IkNvbnRleHQiIGZvciAoaGFyZHdhcmUvdmVuZG9yLXNwZWNpZmljKSAiaGlnaC1sZXZlbCIgc3Rh dGUuCj4+Pj4gKyAqCj4+Pj4gKyAqICJIaWdoLWxldmVsIHN0YXRlIiBpcyBhbnl0aGluZyB0aGF0 IGlzIG5vdCB0aWVkIHRvIGEgY29uY3JldGUgcHJvY2Vzc2luZwo+Pj4+ICsgKiBjb25maWd1cmF0 aW9uLiBFLmcuLCBpbiBhbiBBUEkgdGhhdCBzdXBwb3J0cyBoYXJkd2FyZS1hY2NlbGVyYXRlZCBl bmNvZGluZwo+Pj4+ICsgKiBhbmQgZGVjb2RpbmcsIHRoaXMgc3RydWN0IHdpbGwgKGlmIHBvc3Np YmxlKSB3cmFwIHRoZSBzdGF0ZSB0aGF0IGlzIGNvbW1vbgo+Pj4+ICsgKiB0byBib3RoIGVuY29k aW5nIGFuZCBkZWNvZGluZyBhbmQgZnJvbSB3aGljaCBzcGVjaWZpYyBpbnN0YW5jZXMgb2YgZW5j b2RlcnMKPj4+PiArICogb3IgZGVjb2RlcnMgY2FuIGJlIGRlcml2ZWQuCj4+Pj4gKgo+Pj4+ICog VGhpcyBzdHJ1Y3QgaXMgcmVmZXJlbmNlLWNvdW50ZWQgd2l0aCB0aGUgQVZCdWZmZXIgbWVjaGFu aXNtLiBUaGUKPj4+PiAqIGF2X2h3ZGV2aWNlX2N0eF9hbGxvYygpIGNvbnN0cnVjdG9yIHlpZWxk cyBhIHJlZmVyZW5jZSwgd2hvc2UgZGF0YSBmaWVsZAo+Pj4+IEBAIC0xMDMsOSArMTA0LDExIEBA IHR5cGVkZWYgc3RydWN0IEFWSFdEZXZpY2VDb250ZXh0IHsKPj4+PiB9IEFWSFdEZXZpY2VDb250 ZXh0Owo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlzIHN0cnVjdCBkZXNjcmliZXMgYSBzZXQg b3IgcG9vbCBvZiAiaGFyZHdhcmUiIGZyYW1lcyAoaS5lLiB0aG9zZSB3aXRoCj4+Pj4gLSAqIGRh dGEgbm90IGxvY2F0ZWQgaW4gbm9ybWFsIHN5c3RlbSBtZW1vcnkpLiBBbGwgdGhlIGZyYW1lcyBp biB0aGUgcG9vbCBhcmUKPj4+PiAtICogYXNzdW1lZCB0byBiZSBhbGxvY2F0ZWQgaW4gdGhlIHNh bWUgd2F5IGFuZCBpbnRlcmNoYW5nZWFibGUuCj4+Pj4gKyAqIEByZWYgbWRfZG9jXzJjb250ZXh0 ICJjb250ZXh0IiBmb3IgYSBwb29sIG9mICJoYXJkd2FyZSIgZnJhbWVzICh0aG9zZSB3aXRoCj4+ Pj4gKyAqIGRhdGEgbm90IGxvY2F0ZWQgaW4gbm9ybWFsIHN5c3RlbSBtZW1vcnkpCj4+Pj4gKyAq Cj4+Pj4gKyAqIEFsbCB0aGUgZnJhbWVzIGluIHRoZSBwb29sIGFyZSBhc3N1bWVkIHRvIGJlIGFs bG9jYXRlZCBpbiB0aGUgc2FtZSB3YXkgYW5kCj4+Pj4gKyAqIGludGVyY2hhbmdlYWJsZS4KPj4+ PiAqCj4+Pj4gKiBUaGlzIHN0cnVjdCBpcyByZWZlcmVuY2UtY291bnRlZCB3aXRoIHRoZSBBVkJ1 ZmZlciBtZWNoYW5pc20gYW5kIHRpZWQgdG8gYQo+Pj4+ICogZ2l2ZW4gQVZIV0RldmljZUNvbnRl eHQgaW5zdGFuY2UuIFRoZSBhdl9od2ZyYW1lX2N0eF9hbGxvYygpIGNvbnN0cnVjdG9yCj4+Pj4g ZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRfY3VkYS5oIGIvbGliYXZ1dGlsL2h3Y29u dGV4dF9jdWRhLmgKPj4+PiBpbmRleCBjYmFkNDM0ZmVhLi5lMjU5ODkyNjg4IDEwMDY0NAo+Pj4+ IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfY3VkYS5oCj4+Pj4gKysrIGIvbGliYXZ1dGlsL2h3 Y29udGV4dF9jdWRhLmgKPj4+PiBAQCAtMzcsNyArMzcsNyBAQAo+Pj4+IHR5cGVkZWYgc3RydWN0 IEFWQ1VEQURldmljZUNvbnRleHRJbnRlcm5hbCBBVkNVREFEZXZpY2VDb250ZXh0SW50ZXJuYWw7 Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIFRoaXMgc3RydWN0IGlzIGFsbG9jYXRlZCBhcyBBVkhX RGV2aWNlQ29udGV4dC5od2N0eAo+Pj4+ICsgKiBUaGlzIEByZWYgbWRfZG9jXzJjb250ZXh0ICJj b250ZXh0IiBpcyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4+PiAqLwo+ Pj4+IHR5cGVkZWYgc3RydWN0IEFWQ1VEQURldmljZUNvbnRleHQgewo+Pj4+IENVY29udGV4dCBj dWRhX2N0eDsKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3Y29udGV4dF9kM2QxMXZhLmgg Yi9saWJhdnV0aWwvaHdjb250ZXh0X2QzZDExdmEuaAo+Pj4+IGluZGV4IDc3ZDJkNzJmMWIuLjEw MWQxY2I2ZjggMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF9kM2QxMXZhLmgK Pj4+PiArKysgYi9saWJhdnV0aWwvaHdjb250ZXh0X2QzZDExdmEuaAo+Pj4+IEBAIC00MCw3ICs0 MCw3IEBACj4+Pj4gI2luY2x1ZGUgPHN0ZGludC5oPgo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBU aGlzIHN0cnVjdCBpcyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4+PiAr ICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFW SFdEZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+Pj4gKi8KPj4+PiB0eXBlZGVmIHN0cnVjdCBBVkQzRDEx VkFEZXZpY2VDb250ZXh0IHsKPj4+PiAvKioKPj4+PiBAQCAtMTI2LDcgKzEyNiw3IEBAIHR5cGVk ZWYgc3RydWN0IEFWRDNEMTFGcmFtZURlc2NyaXB0b3Igewo+Pj4+IH0gQVZEM0QxMUZyYW1lRGVz Y3JpcHRvcjsKPj4+PiAKPj4+PiAvKioKPj4+PiAtICogVGhpcyBzdHJ1Y3QgaXMgYWxsb2NhdGVk IGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Cj4+Pj4gKyAqIFRoaXMgQHJlZiBtZF9kb2NfMmNv bnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRnJhbWVzQ29udGV4dC5od2N0eAo+ Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQVZEM0QxMVZBRnJhbWVzQ29udGV4dCB7Cj4+Pj4g LyoqCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRfZDNkMTJ2YS5oIGIvbGli YXZ1dGlsL2h3Y29udGV4dF9kM2QxMnZhLmgKPj4+PiBpbmRleCBmZjA2ZTZmMmVmLi5jNjIzOTE0 YzJiIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfZDNkMTJ2YS5oCj4+Pj4g KysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF9kM2QxMnZhLmgKPj4+PiBAQCAtMzcsNyArMzcsNyBA QAo+Pj4+ICNpbmNsdWRlIDxkM2QxMnZpZGVvLmg+Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIEBi cmllZiBUaGlzIHN0cnVjdCBpcyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgK Pj4+PiArICogQGJyaWVmIFRoaXMgQHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIGFs bG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+Pj4+ICoKPj4+PiAqLwo+Pj4+IHR5 cGVkZWYgc3RydWN0IEFWRDNEMTJWQURldmljZUNvbnRleHQgewo+Pj4+IEBAIC03OCw3ICs3OCw3 IEBAIHR5cGVkZWYgc3RydWN0IEFWRDNEMTJWQURldmljZUNvbnRleHQgewo+Pj4+IH0gQVZEM0Qx MlZBRGV2aWNlQ29udGV4dDsKPj4+PiAKPj4+PiAvKioKPj4+PiAtICogQGJyaWVmIFRoaXMgc3Ry dWN0IGlzIHVzZWQgdG8gc3luYyBkM2QxMiBleGVjdXRpb24KPj4+PiArICogQGJyaWVmIFRoaXMg QHJlZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIHVzZWQgdG8gc3luYyBkM2QxMiBleGVj dXRpb24KPj4+PiAqCj4+Pj4gKi8KPj4+PiB0eXBlZGVmIHN0cnVjdCBBVkQzRDEyVkFTeW5jQ29u dGV4dCB7Cj4+Pj4gQEAgLTEyMCw3ICsxMjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBBVkQzRDEyVkFG cmFtZSB7Cj4+Pj4gfSBBVkQzRDEyVkFGcmFtZTsKPj4+PiAKPj4+PiAvKioKPj4+PiAtICogQGJy aWVmIFRoaXMgc3RydWN0IGlzIGFsbG9jYXRlZCBhcyBBVkhXRnJhbWVzQ29udGV4dC5od2N0eAo+ Pj4+ICsgKiBAYnJpZWYgVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxs b2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Cj4+Pj4gKgo+Pj4+ICovCj4+Pj4gdHlw ZWRlZiBzdHJ1Y3QgQVZEM0QxMlZBRnJhbWVzQ29udGV4dCB7Cj4+Pj4gZGlmZiAtLWdpdCBhL2xp YmF2dXRpbC9od2NvbnRleHRfZHJtLmggYi9saWJhdnV0aWwvaHdjb250ZXh0X2RybS5oCj4+Pj4g aW5kZXggNDI3MDlmMjE1ZS4uODMyOWU2OTk2NiAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdnV0aWwv aHdjb250ZXh0X2RybS5oCj4+Pj4gKysrIGIvbGliYXZ1dGlsL2h3Y29udGV4dF9kcm0uaAo+Pj4+ IEBAIC0xNTIsNyArMTUyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZEUk1GcmFtZURlc2NyaXB0b3Ig ewo+Pj4+IC8qKgo+Pj4+ICogRFJNIGRldmljZS4KPj4+PiAqCj4+Pj4gLSAqIEFsbG9jYXRlZCBh cyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eC4KPj4+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29u dGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3Y3R4Lgo+ Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQVZEUk1EZXZpY2VDb250ZXh0IHsKPj4+PiAvKioK Pj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3Y29udGV4dF9keHZhMi5oIGIvbGliYXZ1dGls L2h3Y29udGV4dF9keHZhMi5oCj4+Pj4gaW5kZXggZTFiNzliYzBkZS4uYzY3OWMxNmFmMCAxMDA2 NDQKPj4+PiAtLS0gYS9saWJhdnV0aWwvaHdjb250ZXh0X2R4dmEyLmgKPj4+PiArKysgYi9saWJh dnV0aWwvaHdjb250ZXh0X2R4dmEyLmgKPj4+PiBAQCAtMzQsMTQgKzM0LDE0IEBACj4+Pj4gI2lu Y2x1ZGUgPGR4dmEyYXBpLmg+Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIFRoaXMgc3RydWN0IGlz IGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+Pj4+ICsgKiBUaGlzIEByZWYg bWRfZG9jXzJjb250ZXh0ICJjb250ZXh0IiBpcyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRl eHQuaHdjdHgKPj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IEFWRFhWQTJEZXZpY2VDb250ZXh0 IHsKPj4+PiBJRGlyZWN0M0REZXZpY2VNYW5hZ2VyOSAqZGV2bWdyOwo+Pj4+IH0gQVZEWFZBMkRl dmljZUNvbnRleHQ7Cj4+Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIFRoaXMgc3RydWN0IGlzIGFsbG9j YXRlZCBhcyBBVkhXRnJhbWVzQ29udGV4dC5od2N0eAo+Pj4+ICsgKiBUaGlzIEByZWYgbWRfZG9j XzJjb250ZXh0ICJjb250ZXh0IiBpcyBhbGxvY2F0ZWQgYXMgQVZIV0ZyYW1lc0NvbnRleHQuaHdj dHgKPj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IEFWRFhWQTJGcmFtZXNDb250ZXh0IHsKPj4+ PiAvKioKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3Y29udGV4dF9tZWRpYWNvZGVjLmgg Yi9saWJhdnV0aWwvaHdjb250ZXh0X21lZGlhY29kZWMuaAo+Pj4+IGluZGV4IGZjMDI2M2NhYmMu LmU4MTE5MzI0N2IgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF9tZWRpYWNv ZGVjLmgKPj4+PiArKysgYi9saWJhdnV0aWwvaHdjb250ZXh0X21lZGlhY29kZWMuaAo+Pj4+IEBA IC0yMiw3ICsyMiw3IEBACj4+Pj4gLyoqCj4+Pj4gKiBNZWRpYUNvZGVjIGRldGFpbHMuCj4+Pj4g Kgo+Pj4+IC0gKiBBbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4+PiArICog VGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdE ZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+Pj4gKi8KPj4+PiB0eXBlZGVmIHN0cnVjdCBBVk1lZGlhQ29k ZWNEZXZpY2VDb250ZXh0IHsKPj4+PiAvKioKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3 Y29udGV4dF9vcGVuY2wuaCBiL2xpYmF2dXRpbC9od2NvbnRleHRfb3BlbmNsLmgKPj4+PiBpbmRl eCBlZjU0NDg2Yzk1Li43YWJkOTdkYjJiIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYmF2dXRpbC9od2Nv bnRleHRfb3BlbmNsLmgKPj4+PiArKysgYi9saWJhdnV0aWwvaHdjb250ZXh0X29wZW5jbC5oCj4+ Pj4gQEAgLTU4LDcgKzU4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZPcGVuQ0xGcmFtZURlc2NyaXB0 b3Igewo+Pj4+IC8qKgo+Pj4+ICogT3BlbkNMIGRldmljZSBkZXRhaWxzLgo+Pj4+ICoKPj4+PiAt ICogQWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+Pj4gKyAqIFRoaXMgQHJl ZiBtZF9kb2NfMmNvbnRleHQgImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29u dGV4dC5od2N0eAo+Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQVZPcGVuQ0xEZXZpY2VDb250 ZXh0IHsKPj4+PiAvKioKPj4+PiBAQCAtODQsNyArODQsNyBAQCB0eXBlZGVmIHN0cnVjdCBBVk9w ZW5DTERldmljZUNvbnRleHQgewo+Pj4+IC8qKgo+Pj4+ICogT3BlbkNMLXNwZWNpZmljIGRhdGEg YXNzb2NpYXRlZCB3aXRoIGEgZnJhbWUgcG9vbC4KPj4+PiAqCj4+Pj4gLSAqIEFsbG9jYXRlZCBh cyBBVkhXRnJhbWVzQ29udGV4dC5od2N0eC4KPj4+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29u dGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Lgo+ Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQVZPcGVuQ0xGcmFtZXNDb250ZXh0IHsKPj4+PiAv KioKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3Y29udGV4dF9xc3YuaCBiL2xpYmF2dXRp bC9od2NvbnRleHRfcXN2LmgKPj4+PiBpbmRleCBlMmRiYThhZDgzLi5iNjNlYmRkYWVmIDEwMDY0 NAo+Pj4+IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfcXN2LmgKPj4+PiArKysgYi9saWJhdnV0 aWwvaHdjb250ZXh0X3Fzdi5oCj4+Pj4gQEAgLTMwLDcgKzMwLDcgQEAKPj4+PiAqLwo+Pj4+IAo+ Pj4+IC8qKgo+Pj4+IC0gKiBUaGlzIHN0cnVjdCBpcyBhbGxvY2F0ZWQgYXMgQVZIV0RldmljZUNv bnRleHQuaHdjdHgKPj4+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIg aXMgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+Pj4gKi8KPj4+PiB0eXBl ZGVmIHN0cnVjdCBBVlFTVkRldmljZUNvbnRleHQgewo+Pj4+IG1meFNlc3Npb24gc2Vzc2lvbjsK Pj4+PiBAQCAtNDgsNyArNDgsNyBAQCB0eXBlZGVmIHN0cnVjdCBBVlFTVkRldmljZUNvbnRleHQg ewo+Pj4+IH0gQVZRU1ZEZXZpY2VDb250ZXh0Owo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlz IHN0cnVjdCBpcyBhbGxvY2F0ZWQgYXMgQVZIV0ZyYW1lc0NvbnRleHQuaHdjdHgKPj4+PiArICog VGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdG cmFtZXNDb250ZXh0Lmh3Y3R4Cj4+Pj4gKi8KPj4+PiB0eXBlZGVmIHN0cnVjdCBBVlFTVkZyYW1l c0NvbnRleHQgewo+Pj4+IG1meEZyYW1lU3VyZmFjZTEgKnN1cmZhY2VzOwo+Pj4+IGRpZmYgLS1n aXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X3ZhYXBpLmggYi9saWJhdnV0aWwvaHdjb250ZXh0X3Zh YXBpLmgKPj4+PiBpbmRleCAwYjJlMDcxY2IzLi40YTg5N2ViODUxIDEwMDY0NAo+Pj4+IC0tLSBh L2xpYmF2dXRpbC9od2NvbnRleHRfdmFhcGkuaAo+Pj4+ICsrKyBiL2xpYmF2dXRpbC9od2NvbnRl eHRfdmFhcGkuaAo+Pj4+IEBAIC02Myw3ICs2Myw3IEBAIGVudW0gewo+Pj4+IC8qKgo+Pj4+ICog VkFBUEkgY29ubmVjdGlvbiBkZXRhaWxzLgo+Pj4+ICoKPj4+PiAtICogQWxsb2NhdGVkIGFzIEFW SFdEZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+Pj4gKyAqIFRoaXMgQHJlZiBtZF9kb2NfMmNvbnRleHQg ImNvbnRleHQiIGlzIGFsbG9jYXRlZCBhcyBBVkhXRGV2aWNlQ29udGV4dC5od2N0eAo+Pj4+ICov Cj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQVZWQUFQSURldmljZUNvbnRleHQgewo+Pj4+IC8qKgo+Pj4+ IEBAIC04Myw3ICs4Myw3IEBAIHR5cGVkZWYgc3RydWN0IEFWVkFBUElEZXZpY2VDb250ZXh0IHsK Pj4+PiAvKioKPj4+PiAqIFZBQVBJLXNwZWNpZmljIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgZnJh bWUgcG9vbC4KPj4+PiAqCj4+Pj4gLSAqIEFsbG9jYXRlZCBhcyBBVkhXRnJhbWVzQ29udGV4dC5o d2N0eC4KPj4+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAiY29udGV4dCIgaXMgYWxs b2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4Lgo+Pj4+ICovCj4+Pj4gdHlwZWRlZiBz dHJ1Y3QgQVZWQUFQSUZyYW1lc0NvbnRleHQgewo+Pj4+IC8qKgo+Pj4+IEBAIC0xMDUsNyArMTA1 LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZWQUFQSUZyYW1lc0NvbnRleHQgewo+Pj4+IC8qKgo+Pj4+ ICogVkFBUEkgaGFyZHdhcmUgcGlwZWxpbmUgY29uZmlndXJhdGlvbiBkZXRhaWxzLgo+Pj4+ICoK Pj4+PiAtICogQWxsb2NhdGVkIHdpdGggYXZfaHdkZXZpY2VfaHdjb25maWdfYWxsb2MoKS4KPj4+ PiArICogVGhpcyBzdHJ1Y3QgaXMgYWxsb2NhdGVkIHdpdGggYXZfaHdkZXZpY2VfaHdjb25maWdf YWxsb2MoKS4KPj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IEFWVkFBUElIV0NvbmZpZyB7Cj4+ Pj4gLyoqCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRfdmRwYXUuaCBiL2xp YmF2dXRpbC9od2NvbnRleHRfdmRwYXUuaAo+Pj4+IGluZGV4IDFiN2VhMWU0NDMuLmUzMDVjYWE1 OTUgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF92ZHBhdS5oCj4+Pj4gKysr IGIvbGliYXZ1dGlsL2h3Y29udGV4dF92ZHBhdS5oCj4+Pj4gQEAgLTMwLDcgKzMwLDcgQEAKPj4+ PiAqLwo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBUaGlzIHN0cnVjdCBpcyBhbGxvY2F0ZWQgYXMg QVZIV0RldmljZUNvbnRleHQuaHdjdHgKPj4+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4 dCAiY29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3Y3R4Cj4+Pj4g Ki8KPj4+PiB0eXBlZGVmIHN0cnVjdCBBVlZEUEFVRGV2aWNlQ29udGV4dCB7Cj4+Pj4gVmRwRGV2 aWNlICAgICAgICAgIGRldmljZTsKPj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3Y29udGV4 dF92dWxrYW4uaCBiL2xpYmF2dXRpbC9od2NvbnRleHRfdnVsa2FuLmgKPj4+PiBpbmRleCBjYmJk MjM5MGMxLi4xODY5ODcwMDMyIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRf dnVsa2FuLmgKPj4+PiArKysgYi9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5oCj4+Pj4gQEAg LTM5LDcgKzM5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZWa0ZyYW1lIEFWVmtGcmFtZTsKPj4+PiAq Lwo+Pj4+IAo+Pj4+IC8qKgo+Pj4+IC0gKiBNYWluIFZ1bGthbiBjb250ZXh0LCBhbGxvY2F0ZWQg YXMgQVZIV0RldmljZUNvbnRleHQuaHdjdHguCj4+Pj4gKyAqIE1haW4gVnVsa2FuIEByZWYgbWRf ZG9jXzJjb250ZXh0ICJjb250ZXh0IiwgYWxsb2NhdGVkIGFzIEFWSFdEZXZpY2VDb250ZXh0Lmh3 Y3R4Lgo+Pj4+ICogQWxsIG9mIHRoZXNlIGNhbiBiZSBzZXQgYmVmb3JlIGluaXQgdG8gY2hhbmdl IHdoYXQgdGhlIGNvbnRleHQgdXNlcwo+Pj4+ICovCj4+Pj4gdHlwZWRlZiBzdHJ1Y3QgQVZWdWxr YW5EZXZpY2VDb250ZXh0IHsKPj4+PiBAQCAtMTcyLDcgKzE3Miw3IEBAIHR5cGVkZWYgZW51bSBB VlZrRnJhbWVGbGFncyB7Cj4+Pj4gfSBBVlZrRnJhbWVGbGFnczsKPj4+PiAKPj4+PiAvKioKPj4+ PiAtICogQWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4LCB1c2VkIHRvIHNldCBw b29sLXNwZWNpZmljIG9wdGlvbnMKPj4+PiArICogVGhpcyBAcmVmIG1kX2RvY18yY29udGV4dCAi Y29udGV4dCIgaXMgYWxsb2NhdGVkIGFzIEFWSFdGcmFtZXNDb250ZXh0Lmh3Y3R4LCB1c2VkIHRv IHNldCBwb29sLXNwZWNpZmljIG9wdGlvbnMKPj4+PiAqLwo+Pj4+IHR5cGVkZWYgc3RydWN0IEFW VnVsa2FuRnJhbWVzQ29udGV4dCB7Cj4+Pj4gLyoqCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRp bC9sZmcuaCBiL2xpYmF2dXRpbC9sZmcuaAo+Pj4+IGluZGV4IGU3NWE5ODZmMTIuLjdmNGZmNWI2 MmYgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZ1dGlsL2xmZy5oCj4+Pj4gKysrIGIvbGliYXZ1dGls L2xmZy5oCj4+Pj4gQEAgLTI1LDcgKzI1LDcgQEAKPj4+PiAjaW5jbHVkZSA8c3RkaW50Lmg+Cj4+ Pj4gCj4+Pj4gLyoqCj4+Pj4gLSAqIENvbnRleHQgc3RydWN0dXJlIGZvciB0aGUgTGFnZ2VkIEZp Ym9uYWNjaSBQUk5HLgo+Pj4+ICsgKiBAcmVmIG1kX2RvY18yY29udGV4dCAiQ29udGV4dCIgc3Ry dWN0dXJlIGZvciB0aGUgTGFnZ2VkIEZpYm9uYWNjaSBQUk5HLgo+Pj4+ICogVGhlIGV4YWN0IGxh eW91dCwgdHlwZXMgYW5kIGNvbnRlbnQgb2YgdGhpcyBzdHJ1Y3QgbWF5IGNoYW5nZSBhbmQgc2hv dWxkCj4+Pj4gKiBub3QgYmUgYWNjZXNzZWQgZGlyZWN0bHkuIE9ubHkgaXRzIGBzaXplb2YoKWAg aXMgZ3VhcmFudGVlZCB0byBzdGF5IHRoZSBzYW1lCj4+Pj4gKiB0byBhbGxvdyBlYXN5IGluc3Rh bmNpYXRpb24uCj4+Pj4gCj4+PiAKPj4+IENvdWxkIHlvdSBhdCBsZWFzdCBub3QgcHV0ICJjb250 ZXh0IiBpbiBxdW90YXRpb24gbWFya3M/Cj4+PiBUbyBiZSBob25lc3QsIEknbSBub3Qgc3VyZSB0 aGlzIG1ha2VzIGRvY3VtZW50YXRpb24gYW55IGJldHRlci4KPj4+IEEgY29udGV4dCBpcyBhbiBl c3NlbnRpYWwgdGVybSB3ZSB1c2UgaW4gb3VyIGNvZGViYXNlIHRoYXQncyBwcmV0dHkKPj4+IHVu aXZlcnNhbC4gRXhwbGFpbmluZyBhZ2FpbiBhbmQgYWdhaW4gYXQgZXZlcnkgbWVudGlvbiBpcyBh bm5veWluZy4KPj4gCj4+ICsxLiBJIGRvbuKAmXQgdGhpbmsg4oCcY29udGV4dCIgaXMgc3BlY2lm aWMgdG8gRkZtcGVnLCBpdOKAmXMgbGlrZSBjb21tb24gbmFtaW5nIGNvbnZlbnRpb25zLgo+IAo+ IE9vaCwgSSBkb24ndCBzdXBwb3NlIHlvdSd2ZSBnb3Qgc29tZSBleGFtcGxlcz8KCkN1cmwsIGxp YnhtbDIsIGxpYmV2ZW50LgoKPiAgSSBrbm93IHNvbWUgb3RoZXIgQwo+IHByb2plY3RzIHVzZSBz aW1pbGFyIGNvbmNlcHRzLCBidXQgYSBjb21wYXRpYmxlIHVzZSBvZiB0aGUgd29yZAo+ICJjb250 ZXh0IiB3b3VsZCByZWFsbHkgaGVscCBleHBsYWluIHRoaW5ncyB0byBuZXdiaWVzLgo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnIDxtYWlsdG86ZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmc+Cj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZt cGVnLWRldmVsCj4gCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWls Cj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyA8bWFpbHRvOmZmbXBlZy1kZXZlbC1y ZXF1ZXN0QGZmbXBlZy5vcmc+IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1h bi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAi dW5zdWJzY3JpYmUiLgo=