Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp7490154rwd; Tue, 20 Jun 2023 01:50:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5ik9a2MN8u7+/Sdw5qY945sv3p3sEMuSV7ov4QjuE5p1L4ZvczKrRJi8rAIhA2l/ZJ8EWJ X-Received: by 2002:a05:6a00:24cb:b0:668:74e9:8f06 with SMTP id d11-20020a056a0024cb00b0066874e98f06mr3441033pfv.1.1687251057649; Tue, 20 Jun 2023 01:50:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687251057; cv=none; d=google.com; s=arc-20160816; b=KMG8iv0Q9pUuZXxZaCZJ+XH6OSdGVRrbO6M7Ze+vCsj8kqsLEwblNfStaJ6pOaETRo c7bVVts1Ly0A5wUF/2fiPNSdOLAPn8BEG3ylOWRJLHdhhgJa11IdkArWGaeioFKmGAWA JX9LUdZ7mJk0nfti4j0pOII0BmCYYEJPMWcc3+eXSEqIYih//RzDHYYV6Kb7ohhITzMM vQhltBmIt3QUdCD0DDxb37s523rO0uB+1jMXeOAm1BRKHP3AAyXSapX57UD1maD3AZbK r1ISOfTUFcxjfwxDgW5nYXjzt5ZWEeixDZwJMwoihOd+Q3pX1bGsXcLfpc3GhAB5fPYR avnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=uvIMbSM8lUE4j4HkY3cfuFfDwHi9cXKCNP4lvXqC8EM=; b=V4o+PpaYhlwHG6KWQEDJRoeeaawNHAj/sv+JLdctdCutVXagqrODGGmJQwUNqdxoQq fhzZ0PuXBcNQw58BBy1zqt/nmvOjWdWq/fQKw/c61hWKggJLR+fHn4ykVbcEmjiJsfIS aCpt33nN04M3DWNwQaQ4DrZda4+c+UqF37aCp60EGiPjzm1kznHhLe76cg8fYoaGTzxN 0r5Fs/rKnpkOSgADTaatg/gkKf0QshLeGzqNPTFfH6CVmHm+i4lBEiSLRgmK9pgE97r1 ENYqGKbX89q+Xqz0IPoz5u4yeQq/OGHk5UAcsxNrOFiiPBhPMwv3gfdGXm1He0GZVnHN QLvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xry111.site header.s=default header.b=mHPtjgDw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=xry111.site Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y26-20020aa793da000000b0066882062113si1261431pff.9.2023.06.20.01.50.45; Tue, 20 Jun 2023 01:50:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@xry111.site header.s=default header.b=mHPtjgDw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=xry111.site Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231384AbjFTIQM (ORCPT + 99 others); Tue, 20 Jun 2023 04:16:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229519AbjFTIQL (ORCPT ); Tue, 20 Jun 2023 04:16:11 -0400 Received: from xry111.site (xry111.site [89.208.246.23]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F00F7186; Tue, 20 Jun 2023 01:16:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1687248957; bh=uvIMbSM8lUE4j4HkY3cfuFfDwHi9cXKCNP4lvXqC8EM=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=mHPtjgDwpGjJDTcWygYEtovN3PrUWxR3CR3S77sbdp4F4nTKJItA5HJnsfoB19GwT vVzsh35nZhuWSC/d4KSIDktdFi6rWuih19zm2eCHLqtyoBmRPFmU5jIzaMSguoubpT PDpQWS3c8nPbcwn4idMnlIpA4iw+n51QYS7qux1Y= Received: from [192.168.124.11] (unknown [113.140.11.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id ADE2E66418; Tue, 20 Jun 2023 04:15:54 -0400 (EDT) Message-ID: Subject: Re: [RFC PATCH v1 00/23] LoongArch: Add objtool and ORC unwinder support From: Xi Ruoyao To: Youling Tang , Josh Poimboeuf , Peter Zijlstra , Huacai Chen , madvenka@linux.microsoft.com Cc: chenzhongjin@huawei.com, WANG Xuerui , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, tangyouling00@gmail.com, youling.tang@outlook.com Date: Tue, 20 Jun 2023 16:15:52 +0800 In-Reply-To: <1687247209-31676-1-git-send-email-tangyouling@loongson.cn> References: <1687247209-31676-1-git-send-email-tangyouling@loongson.cn> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.48.3 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SXQgbG9va3MgbGlrZSBvbmx5IDE5IHBhdGNoZXMgYXJlIHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQs IG91dCBvZiAyMy4KCkFuZCBBRkFJSyBvYmp0b29sIG5lZWRzIGxpYmVsZiBmcm9tIGVsZnV0aWxz LCBhbmQgdGhlIExvb25nQXJjaCBzdXBwb3J0CmluIGVsZnV0aWxzIGlzIG5vdCBjb21wbGV0ZSAo dGhlcmUgYXJlIGFib3V0IHRlbiBmYWlsdXJlcyBpbiB0aGUgdGVzdApzdWl0ZSBhcyBhdCB0aGUg bGF0ZXN0IDAuMTg5IHJlbGVhc2UpLiAgRG8gd2UgbmVlZCB0byBhZGQgbW9yZSBMb29uZ0FyY2gK c3VwcG9ydCBpbnRvIGxpYmVsZiBhbmQvb3IgZGVjbGFyZSBhIG1pbmltYWwgbmVlZGVkIGxpYmVs ZiB2ZXJzaW9uIGZvcgpMb29uZ0FyY2ggb2JqdG9vbD8KCk9uIFR1ZSwgMjAyMy0wNi0yMCBhdCAx NTo0NiArMDgwMCwgWW91bGluZyBUYW5nIHdyb3RlOgo+IFRoaXMgc2VyaWVzIG9mIHBhdGNoZXMg YWRkcyBvYmp0b29sIGFuZCBPUkMgdW53aW5kZXIgc3VwcG9ydCBmb3IKPiBMb29uZ0FyY2guCj4g Cj4gUGF0Y2ggMDEgLSAwNyBhcmUgZnJvbSAiTWFkaGF2YW4gVC4gVmVua2F0YXJhbWFuIiBbMV0g d2l0aCBtaW5vcgo+IGNvZGUgdHdlYWtzLiBUaGUgIm9ianRvb2w6IFJlb3JnYW5pemUgT1JDIHR5 cGVzIiBwYXRjaCB3YXMgbm90Cj4gYWRkZWQsIGJlY2F1c2UgTG9vbmdBcmNoIGNhbm5vdCBzaGFy ZSBgc3RyY3V0IG9yY19lbnRyeWAsIGl0IGFsc28KPiBuZWVkcyB0byBpbmNsdWRlIHJhX29mZnNl dCBhbmQgcmFfcmVnLgo+IAo+IFNpbmNlIHRoZSBjaGFuZ2VzIGluIFBhdGNoIDAxIC0gMDggaW4g WzFdIGFyZSBhcmNoaXRlY3R1cmUtCj4gaW5kZXBlbmRlbnQsCj4gaXQgbWlnaHQgYmUgYmV0dGVy IGlmIHRoZXkgY291bGQgYmUgc2VwYXJhdGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUKPiBzZXJpZXMK PiBvZiBwYXRjaGVzLgo+IAo+IE9SQyB1bndpbmRlciBjYW4gZ2V0IGEgcmVsaWFibGUgc3RhY2sg dHJhY2UsIHdoaWNoIHByb3ZpZGVzIGEKPiBwcmVyZXF1aXNpdGUKPiBmb3IgdGhlIHN1YnNlcXVl bnQgYWRkaXRpb24gb2YgbGl2ZXBhdGNoIHN1cHBvcnQuCj4gCj4gCj4gSW5zdHJ1Y3Rpb24gZGVj b2Rlcgo+ID09PT09PT09PT09PT09PT09PT0KPiAKPiBUbyBkbyB0aGlzLCBhbiBpbnN0cnVjdGlv biBkZWNvZGVyIG5lZWRzIHRvIGJlIGltcGxlbWVudGVkLiBJIGhhdmUKPiBpbXBsZW1lbnRlZAo+ IGEgc2ltcGxlLCB0YWJsZS1kcml2ZW4gZGVjb2RlciBmb3IgTG9vbmdBcmNoLiBPbmx5IGEgc3Vi c2V0IG9mIHRoZQo+IGluc3RydWN0aW9ucwo+IG5lZWRzIHRvIGJlIGZ1bGx5IGRlY29kZWQgZm9y IHRoaXMgcHVycG9zZToKPiAKPiDCoMKgwqDCoMKgwqDCoMKgLSBMb2FkLVN0b3JlIGluc3RydWN0 aW9ucwo+IMKgwqDCoMKgwqDCoMKgwqAtIEFkZCBpbnN0cnVjdGlvbnMKPiDCoMKgwqDCoMKgwqDC oMKgLSBCcmFuY2ggaW5zdHJ1Y3Rpb25zCj4gwqDCoMKgwqDCoMKgwqDCoC0gQ2FsbCBpbnN0cnVj dGlvbnMKPiDCoMKgwqDCoMKgwqDCoMKgLSBSZXR1cm4gaW5zdHJ1Y3Rpb25zCj4gwqDCoMKgwqDC oMKgwqDCoC0gU3RhY2sgcG9pbnRlciBhdXRoZW50aWNhdGlvbiBpbnN0cnVjdGlvbgo+IAo+IAo+ IFVud2luZCBoaW50cwo+ID09PT09PT09PT09PQo+IAo+IFVud2luZCBoaW50cyBhcmUgY29sbGVj dGVkIGluIGEgc3BlY2lhbCBzZWN0aW9uLiBPYmp0b29sIGNvbnZlcnRzCj4gdW53aW5kIGhpbnRz Cj4gdG8gT1JDIGRhdGEuIFRoZSB1bndpbmRlciBwcm9jZXNzZXMgdW53aW5kIGhpbnRzIHRvIGhh bmRsZSBzcGVjaWFsCj4gY2FzZXMKPiBtZW50aW9uZWQgYWJvdmUuCj4gCj4gCj4gT1JDIHVud2lu ZGVyCj4gPT09PT09PT09PT09Cj4gCj4gQmVmb3JlIHZtbGludXggY3JlYXRlZCwgd2UgY2hlY2sg YWxsIG1ldGFkYXRhLCBmaW5kIHRoZSBzdGFjawo+IG9wZXJhdGlvbiwKPiBub3RlIHN0YWNrIHN0 YXRlIGFuZCBjcmVhdGUgb3JjIGRhdGEuIE9ianRvb2wgaW5zZXJ0IHR3byBzZWN0aW9ucyBpbnRv Cj4gdm1saW51eC4gJy5vcmNfdW53aW5kX2lwJyBhbmQgJy5vcmNfdW53aW5kJy4gKEZvciBtb2R1 bGVzLCBpbnNlcnQKPiAnLnJlbGEub3JjX3Vud2luZF9pcCcgdG8gcmVsb2NhdGUgJy5vcmNfdW53 aW5kX2lwJy4pIEVhY2ggaW5zbiBoYXMKPiBvbmx5Cj4gb25lIHN0YWNrIHN0YXRlIGluIC5vcmNf dW53aW5kIGFuZCBvcmNfdW53aW5kX2lwIGhpbnQgaXRzIHBjIGFkZHJlc3MuCj4gVGhyb3VnaCB1 bndpbmRpbmcgb3JjIGRhdGEsIHdlIGNhbiBnZXQgc3RhY2sgaW5mbyBib3RoIGtlcm5lbCBhbmQK PiBtb2R1bGUuCj4gCj4gCj4gVGhpcyBpcyBhIHNlcmllcyBvZiBSRkMgcGF0Y2hlcywgd2hpY2gg bWF5IHJlcXVpcmUgbG9uZy10ZXJtCj4gZGlzY3Vzc2lvbnMKPiBhbmQgcmV2aXNpb25zLiBJdCBp cyBub3QgYmFzZWQgb24gdGhlIGxhdGVzdCBjb2RlIGJ1dCBiYXNlZCBvbiA2LjMtCj4gcmMzLgo+ IEFueSBpZGVhcyBvciBzdWdnZXN0aW9ucyBhcmUgd2VsY29tZS4KPiAKPiBiYXNlLWNvbW1pdDog ZThkMDE4ZGQwMjU3Zjc0NGNhNTBhNzI5ZTNkMDQyY2YyZWM5ZGE2NSAoTGludXggNi4zLXJjMykK PiAKPiBMaW5rOgo+IFsxXToKPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjMwMjAy MDc0MDM2LjUwNzI0OS0xLW1hZHZlbmthQGxpbnV4Lm1pY3Jvc29mdC5jb20vI3IKPiAKPiBNYWRo YXZhbiBULiBWZW5rYXRhcmFtYW4gKDcpOgo+IMKgIG9ianRvb2w6IFJlb3JnYW5pemUgQ0ZJIGNv ZGUKPiDCoCBvYmp0b29sOiBSZW9yZ2FuaXplIGluc3RydWN0aW9uLXJlbGF0ZWQgY29kZQo+IMKg IG9ianRvb2w6IE1vdmUgZGVjb2RlX2luc3RydWN0aW9ucygpIHRvIGEgc2VwYXJhdGUgZmlsZQo+ IMKgIG9ianRvb2w6IFJlb3JnYW5pemUgVW53aW5kIGhpbnQgY29kZQo+IMKgIG9ianRvb2w6IFJl b3JnYW5pemUgT1JDIGNvZGUKPiDCoCBvYmp0b29sOiBSZW9yZ2FuaXplIE9SQyBrZXJuZWwgY29k ZQo+IMKgIG9ianRvb2w6IEludHJvZHVjZSBTVEFUSUNfQ0hFQ0sKPiAKPiBZb3VsaW5nIFRhbmcg KDE2KToKPiDCoCB0b29sczogTG9vbmdBcmNoOiBDb3B5IGluc3QuaCBhbmQgYXNtLmggdG8gdG9v bHMKPiDCoCBvYmp0b29sOiBMb29uZ0FyY2g6IEFkZCBiYXNlIGRlZmluaXRpb24gZm9yIExvb25n QXJjaAo+IMKgIG9ianRvb2w6IExvb25nQXJjaDogSW1wbGVtZW50IGRlY29kZXIKPiDCoCBvYmp0 b29sOiBBZGQgYW5ub3RhdGVfcmVhY2hhYmxlKCkgZm9yIG9ianRvb2xzCj4gwqAgTG9vbmdBcmNo OiBidWc6IEFkZCByZWFjaGFibGUgYW5ub3RhdGlvbiB0byB3YXJuaW5nIG1hY3Jvcwo+IMKgIG9i anRvb2w6IEFkZCBuZXh0IG1lbWJlciBpbiBzdHJ1Y3QgcmVsb2MKPiDCoCBvYmp0b29sOiBBZGQg b3JjX3ByaW50X2R1bXAoKSBwYWNrYWdlCj4gwqAgb2JqdG9vbDogQWRkIE9SQyBzdXBwb3J0IGZv ciBMb29uZ0FyY2gKPiDCoCBMb29uZ0FyY2g6IEFkZCBPUkMgdW53aW5kZXIgc3VwcG9ydAo+IMKg IExvb25nQXJjaDogU3VwcG9ydCBSX0xBUkNIXzMyX1BDUkVMIHJlbG9jYXRpb24gdHlwZSBpbiBr ZXJuZWwgbW9kdWxlCj4gwqAgTG9vbmdBcmNoOiBGaXggZnB1LlMgb2JqdG9vbCB3YXJuaW5nCj4g wqAgTG9vbmdBcmNoOiBBbm5vdGF0ZSB1bndpbmRfaGludAo+IMKgIExvb25nQXJjaDogTW92ZSBz b21lIGRhdGEgZGVmaW5pdGlvbnMgaW50byB0aGUgLmRhdGEgc2VjdGlvbgo+IMKgIG9ianRvb2w6 IEFkZCBhcmNoLXNwZWNpZmljICJub3JldHVybiIgZnVuY3Rpb24gaGFuZGxpbmcKPiDCoCBvYmp0 b29sOiBNYWtlIHVwZGF0ZV9jZmlfc3RhdGUoKSBhcmNoLXNwZWNpZmljIGZ1bmN0aW9uCj4gwqAg TG9vbmdBcmNoOiBvYmp0b29sOiBNYXJrIG5vbi1zdGFuZGFyZCBvYmplY3QgZmlsZXMgYW5kIGRp cmVjdG9yaWVzCj4gCj4gwqBhcmNoL2xvb25nYXJjaC9LY29uZmlnwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAyICsKPiDCoGFyY2gvbG9vbmdhcmNo L0tjb25maWcuZGVidWfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMSAr Cj4gwqBhcmNoL2xvb25nYXJjaC9NYWtlZmlsZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHzCoMKgIDQgKwo+IMKgYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20v YnVnLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsKPiDCoGFyY2gvbG9vbmdh cmNoL2luY2x1ZGUvYXNtL21vZHVsZS5owqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgNyArCj4g wqBhcmNoL2xvb25nYXJjaC9pbmNsdWRlL2FzbS9vcmNfdHlwZXMuaMKgwqDCoMKgwqDCoMKgIHzC oCA1OCArKwo+IMKgYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20vc3RhY2tmcmFtZS5owqDCoMKg wqDCoMKgIHzCoMKgIDMgKwo+IMKgYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20vdW53aW5kLmjC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTcgKy0KPiDCoGFyY2gvbG9vbmdhcmNoL2luY2x1ZGUv YXNtL3Vud2luZF9oaW50cy5owqDCoMKgwqAgfCAxMTAgKysrCj4gwqBhcmNoL2xvb25nYXJjaC9r ZXJuZWwvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMyArCj4g wqBhcmNoL2xvb25nYXJjaC9rZXJuZWwvZW50cnkuU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHzCoMKgIDIgKwo+IMKgYXJjaC9sb29uZ2FyY2gva2VybmVsL2ZwdS5TwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMSArLQo+IMKgYXJjaC9sb29uZ2FyY2gv a2VybmVsL2dlbmV4LlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAyICsK PiDCoGFyY2gvbG9vbmdhcmNoL2tlcm5lbC9oZWFkLlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHzCoMKgIDEgKwo+IMKgYXJjaC9sb29uZ2FyY2gva2VybmVsL21vZHVsZS5jwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyMSArLQo+IMKgYXJjaC9sb29uZ2FyY2gv a2VybmVsL3JlbG9jYXRlX2tlcm5lbC5TwqDCoMKgwqDCoMKgIHzCoCAxMiArLQo+IMKgYXJjaC9s b29uZ2FyY2gva2VybmVsL3NldHVwLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 wqDCoCAyICsKPiDCoGFyY2gvbG9vbmdhcmNoL2tlcm5lbC9zdGFja3RyYWNlLmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+IMKgYXJjaC9sb29uZ2FyY2gva2VybmVsL3Vud2luZF9v cmMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzMDEgKysrKysrKysrCj4gwqBhcmNoL2xvb25n YXJjaC9rZXJuZWwvdm1saW51eC5sZHMuU8KgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMgKwo+ IMKgYXJjaC9sb29uZ2FyY2gvcG93ZXIvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqDCoCAyICsKPiDCoGFyY2gvbG9vbmdhcmNoL3Zkc28vTWFrZWZpbGXCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKwo+IMKgYXJjaC94ODYvaW5jbHVk ZS9hc20vdW53aW5kLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA1IC0K PiDCoGFyY2gveDg2L2luY2x1ZGUvYXNtL3Vud2luZF9oaW50cy5owqDCoMKgwqDCoMKgwqDCoMKg wqAgfMKgIDg2ICsrKwo+IMKgYXJjaC94ODYva2VybmVsL21vZHVsZS5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDcgKy0KPiDCoGFyY2gveDg2L2tlcm5l bC91bndpbmRfb3JjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMjY4ICst LS0tLS0tCj4gwqBhcmNoL3g4Ni9rZXJuZWwvdm1saW51eC5sZHMuU8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKy0KPiDCoC4uLi9hc20gPT4gaW5jbHVkZS9hc20tZ2Vu ZXJpY30vb3JjX2xvb2t1cC5owqAgfMKgIDQzICsrCj4gwqBpbmNsdWRlL2xpbnV4L2NvbXBpbGVy LmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgOSArCj4g wqBpbmNsdWRlL2xpbnV4L29ianRvb2wuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHzCoCA3MCAtLQo+IMKga2VybmVsL01ha2VmaWxlwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKwo+ IMKga2VybmVsL29yY19sb29rdXAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfCAyNjEgKysrKysrKysKPiDCoHNjcmlwdHMvTWFrZWZpbGXCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oMKgIDUgKy0KPiDCoHRvb2xzL2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL2FzbS5owqDCoMKg wqDCoMKgwqAgfCAyMDEgKysrKysrCj4gwqB0b29scy9hcmNoL2xvb25nYXJjaC9pbmNsdWRlL2Fz bS9pbnN0LmjCoMKgwqDCoMKgwqAgfCA2MjkKPiArKysrKysrKysrKysrKysrKysKPiDCoHRvb2xz L2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL29yY190eXBlcy5owqAgfMKgIDU4ICsrCj4gwqAu Li4vYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20vdW53aW5kX2hpbnRzLmggfCAxMTAgKysrCj4g wqB0b29scy9hcmNoL3g4Ni9pbmNsdWRlL2FzbS91bndpbmRfaGludHMuaMKgwqDCoMKgIHwgMTYw ICsrKysrCj4gwqB0b29scy9pbmNsdWRlL2xpbnV4L2JpdG9wcy5owqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgMTAgKwo+IMKgdG9vbHMvaW5jbHVkZS9saW51eC9vYmp0b29s LmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNzAgLS0KPiDCoHRvb2xzL29i anRvb2wvQnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHzCoMKgIDggKy0KPiDCoHRvb2xzL29ianRvb2wvTWFrZWZpbGXCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDkgKy0KPiDCoHRvb2xzL29i anRvb2wvYXJjaC9sb29uZ2FyY2gvQnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMg Kwo+IMKgdG9vbHMvb2JqdG9vbC9hcmNoL2xvb25nYXJjaC9kZWNvZGUuY8KgwqDCoMKgwqDCoMKg wqAgfCAzNTIgKysrKysrKysrKwo+IMKgLi4uL2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXJjaC9j ZmlfcmVncy5owqDCoMKgIHzCoCAxNCArCj4gwqAuLi4vb2JqdG9vbC9hcmNoL2xvb25nYXJjaC9p bmNsdWRlL2FyY2gvZWxmLmggfMKgIDE1ICsKPiDCoC4uLi9hcmNoL2xvb25nYXJjaC9pbmNsdWRl L2FyY2gvc3BlY2lhbC5owqDCoMKgwqAgfMKgIDIxICsKPiDCoHRvb2xzL29ianRvb2wvYXJjaC9s b29uZ2FyY2gvb3JjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTU1ICsrKysrCj4gwqB0b29s cy9vYmp0b29sL2FyY2gvbG9vbmdhcmNoL3NwZWNpYWwuY8KgwqDCoMKgwqDCoMKgIHzCoCAyNSAr Cj4gwqB0b29scy9vYmp0b29sL2FyY2gvcG93ZXJwYy9zcGVjaWFsLmPCoMKgwqDCoMKgwqDCoMKg wqAgfMKgwqAgMyArCj4gwqB0b29scy9vYmp0b29sL2FyY2gveDg2L0J1aWxkwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsKPiDCoHRvb2xzL29ianRvb2wvYXJjaC94 ODYvaW5jbHVkZS9hcmNoL2VsZi5owqDCoMKgwqAgfMKgwqAgMSArCj4gwqB0b29scy9vYmp0b29s L2FyY2gveDg2L29yYy5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDE2NCAr KysrKwo+IMKgdG9vbHMvb2JqdG9vbC9hcmNoL3g4Ni9zcGVjaWFsLmPCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqDCoCA0ICsKPiDCoHRvb2xzL29ianRvb2wvY2ZpLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTA4ICsrKwo+IMKgdG9v bHMvb2JqdG9vbC9jaGVjay5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHwgNTY4ICstLS0tLS0tLS0tLS0tLS0KPiDCoHRvb2xzL29ianRvb2wvZGVjb2Rl LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTM2ICsr KysKPiDCoHRvb2xzL29ianRvb2wvZWxmLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxMSArLQo+IMKgdG9vbHMvb2JqdG9vbC9pbmNsdWRl L29ianRvb2wvYXJjaC5owqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMgKwo+IMKgdG9vbHMvb2Jq dG9vbC9pbmNsdWRlL29ianRvb2wvY2ZpLmjCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTIgKwo+ IMKgdG9vbHMvb2JqdG9vbC9pbmNsdWRlL29ianRvb2wvY2hlY2suaMKgwqDCoMKgwqDCoMKgwqAg fMKgIDk3ICstLQo+IMKgdG9vbHMvb2JqdG9vbC9pbmNsdWRlL29ianRvb2wvZWxmLmjCoMKgwqDC oMKgwqDCoMKgwqDCoCB8wqDCoCAxICsKPiDCoHRvb2xzL29ianRvb2wvaW5jbHVkZS9vYmp0b29s L2luc24uaMKgwqDCoMKgwqDCoMKgwqDCoCB8IDE2NiArKysrKwo+IMKgdG9vbHMvb2JqdG9vbC9p bmNsdWRlL29ianRvb2wvb2JqdG9vbC5owqDCoMKgwqDCoMKgIHzCoMKgIDMgKwo+IMKgdG9vbHMv b2JqdG9vbC9pbmNsdWRlL29ianRvb2wvb3JjLmjCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMTUg Kwo+IMKgdG9vbHMvb2JqdG9vbC9pbmNsdWRlL29ianRvb2wvc3BlY2lhbC5owqDCoMKgwqDCoMKg IHzCoMKgIDMgKwo+IMKgdG9vbHMvb2JqdG9vbC9pbnNuLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDE5NSArKysrKysKPiDCoHRvb2xzL29ianRv b2wvb3JjX2R1bXAuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 wqAgNjcgKy0KPiDCoHRvb2xzL29ianRvb2wvb3JjX2dlbi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDc5ICstLQo+IMKgdG9vbHMvb2JqdG9vbC9zeW5j LWNoZWNrLnNowqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDkgKwo+ IMKgdG9vbHMvb2JqdG9vbC91bndpbmRfaGludHMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfCAxMDcgKysrCj4gwqA3MSBmaWxlcyBjaGFuZ2VkLCAzNzIxIGluc2VydGlvbnMo KyksIDEyMDYgZGVsZXRpb25zKC0pCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9sb29uZ2Fy Y2gvaW5jbHVkZS9hc20vb3JjX3R5cGVzLmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2xv b25nYXJjaC9pbmNsdWRlL2FzbS91bndpbmRfaGludHMuaAo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0 IGFyY2gvbG9vbmdhcmNoL2tlcm5lbC91bndpbmRfb3JjLmMKPiDCoHJlbmFtZSB7YXJjaC94ODYv aW5jbHVkZS9hc20gPT4gaW5jbHVkZS9hc20tZ2VuZXJpY30vb3JjX2xvb2t1cC5oCj4gKDUwJSkK PiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBrZXJuZWwvb3JjX2xvb2t1cC5jCj4gwqBjcmVhdGUgbW9k ZSAxMDA2NDQgdG9vbHMvYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20vYXNtLmgKPiDCoGNyZWF0 ZSBtb2RlIDEwMDY0NCB0b29scy9hcmNoL2xvb25nYXJjaC9pbmNsdWRlL2FzbS9pbnN0LmgKPiDC oGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9hcmNoL2xvb25nYXJjaC9pbmNsdWRlL2FzbS9vcmNf dHlwZXMuaAo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL2FyY2gvbG9vbmdhcmNoL2luY2x1 ZGUvYXNtL3Vud2luZF9oaW50cy5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvYXJjaC94 ODYvaW5jbHVkZS9hc20vdW53aW5kX2hpbnRzLmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29s cy9vYmp0b29sL2FyY2gvbG9vbmdhcmNoL0J1aWxkCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgdG9v bHMvb2JqdG9vbC9hcmNoL2xvb25nYXJjaC9kZWNvZGUuYwo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0 Cj4gdG9vbHMvb2JqdG9vbC9hcmNoL2xvb25nYXJjaC9pbmNsdWRlL2FyY2gvY2ZpX3JlZ3MuaAo+ IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29ianRvb2wvYXJjaC9sb29uZ2FyY2gvaW5jbHVk ZS9hcmNoL2VsZi5oCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQKPiB0b29scy9vYmp0b29sL2FyY2gv bG9vbmdhcmNoL2luY2x1ZGUvYXJjaC9zcGVjaWFsLmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0 b29scy9vYmp0b29sL2FyY2gvbG9vbmdhcmNoL29yYy5jCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQg dG9vbHMvb2JqdG9vbC9hcmNoL2xvb25nYXJjaC9zcGVjaWFsLmMKPiDCoGNyZWF0ZSBtb2RlIDEw MDY0NCB0b29scy9vYmp0b29sL2FyY2gveDg2L29yYy5jCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQg dG9vbHMvb2JqdG9vbC9jZmkuYwo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29ianRvb2wv ZGVjb2RlLmMKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9vYmp0b29sL2luY2x1ZGUvb2Jq dG9vbC9pbnNuLmgKPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9vYmp0b29sL2luY2x1ZGUv b2JqdG9vbC9vcmMuaAo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL29ianRvb2wvaW5zbi5j Cj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvb2JqdG9vbC91bndpbmRfaGludHMuYwo+IAoK LS0gClhpIFJ1b3lhbyA8eHJ5MTExQHhyeTExMS5zaXRlPgpTY2hvb2wgb2YgQWVyb3NwYWNlIFNj aWVuY2UgYW5kIFRlY2hub2xvZ3ksIFhpZGlhbiBVbml2ZXJzaXR5Cg==