From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A6A7C4332B for ; Mon, 23 Mar 2020 11:34:17 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CEB5720658 for ; Mon, 23 Mar 2020 11:34:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CEB5720658 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xen.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jGLKx-0006ob-TQ; Mon, 23 Mar 2020 11:33:43 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jGLKw-0006oW-R6 for xen-devel@lists.xenproject.org; Mon, 23 Mar 2020 11:33:42 +0000 X-Inumbo-ID: 2563a380-6cfa-11ea-82b3-12813bfff9fa Received: from mail-wr1-f66.google.com (unknown [209.85.221.66]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 2563a380-6cfa-11ea-82b3-12813bfff9fa; Mon, 23 Mar 2020 11:33:41 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id p10so4176951wrt.6 for ; Mon, 23 Mar 2020 04:33:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=8PVsyy4MQzh/SzTGPlmzLRZtKB5KmYyiMNCXJ4WCi00=; b=WnryuHI22yvDDWL67DNqd6xgYF0IHn0lMu1WnLS/c/1aAXUvqfyoqn3uqOyQMSHUHZ 6k2SWgvChkWdrbmNvGIk9bZxyMPDYGLD2XseDnl88iAnentUgN0DsZY5iYW3+szm+siq Y3uAi3mkfZfuHHaugAypUg/xwnQK0zsMMLfjDyucwcdqPiX6YTHjVmfzVPuuGsjIaMLB nxp+EGprEXMnKXbRhRnDeMuLgE9ok1z1qcRffsOfdrOecUmvW7OqvfP0K2D2VPOAhHRl 567Ei0JvCj50nqvFJkVblfIRyW3GO1Gv0OD7guCIEO7qdR2Oir9XtPfkrTAUMEbROWCZ VunA== X-Gm-Message-State: ANhLgQ3SXiVlFxm6MCUqaaEHl1qgH3RB6Ti66h9oMwTzme/IMDYbLJaB +4Bv+kLC+MkOpN/0u/8TIrc= X-Google-Smtp-Source: ADFU+vvFkQtxJGK6KONRRjE6rMNSYwhTpjIOzcMFBc4Q68Ka+EPA4VsypfqroJiB6Qoh3Qz9JCO1Wg== X-Received: by 2002:a5d:53d1:: with SMTP id a17mr11450984wrw.41.1584963220823; Mon, 23 Mar 2020 04:33:40 -0700 (PDT) Received: from a483e7b01a66.ant.amazon.com (54-240-197-236.amazon.com. [54.240.197.236]) by smtp.gmail.com with ESMTPSA id f22sm20247504wmf.2.2020.03.23.04.33.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Mar 2020 04:33:40 -0700 (PDT) To: Paul Durrant , xen-devel@lists.xenproject.org References: <20200318111144.12894-1-paul@xen.org> <20200318111144.12894-3-paul@xen.org> From: Julien Grall Message-ID: Date: Mon, 23 Mar 2020 11:33:38 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <20200318111144.12894-3-paul@xen.org> Content-Language: en-GB Subject: Re: [Xen-devel] [PATCH v7 2/2] docs/designs: Add a design document for migration of xenstore data X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Paul Durrant , Ian Jackson , Jan Beulich Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGkgUGF1bCwKCk9uIDE4LzAzLzIwMjAgMTE6MTEsIFBhdWwgRHVycmFudCB3cm90ZToKPiBGcm9t OiBQYXVsIER1cnJhbnQgPHBkdXJyYW50QGFtYXpvbi5jb20+Cj4gCj4gVGhpcyBwYXRjaCBkZXRh aWxzIHByb3Bvc2VzIGV4dHJhIG1pZ3JhdGlvbiBkYXRhIGFuZCB4ZW5zdG9yZSBwcm90b2NvbAo+ IGV4dGVuc2lvbnMgdG8gc3VwcG9ydCBub24tY29vcGVyYXRpdmUgbGl2ZSBtaWdyYXRpb24gb2Yg Z3Vlc3RzLgo+IAo+IE5PVEU6IGRvYy9taXNjL3hlbnN0b3JlLnR4dCBpcyBhbHNvIGFtZW5lZCB0 byByZXBsYWNlIHRoZSA8bWZuPiB0ZXJtCgpOSVQ6IHMvYW1lbmVkL2FtZW5kZWQvCgo+ICAgICAg ICBmb3IgdGhlIElOVFJPRFVDRSBvcGVyYXRpb24gd2l0aCB0aGUgPGdmbj4sIHNpbmNlIHRoaXMg aXMgd2hhdAo+ICAgICAgICBpdCBhY3R1YWxseSBpcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQYXVs IER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KPiAtLS0KPiBDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KPiBDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBl dS5jaXRyaXguY29tPgo+IENjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNv bT4KPiBDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgo+IENjOiBKdWxpZW4gR3Jh bGwgPGp1bGllbkB4ZW4ub3JnPgo+IENjOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53 aWxrQG9yYWNsZS5jb20+Cj4gQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy bmVsLm9yZz4KPiBDYzogV2VpIExpdSA8d2xAeGVuLm9yZz4KPiAKPiB2NzoKPiAgIC0gQWRkcmVz c2VkIGZ1cnRoZXIgY29tbWVudHMgZnJvbSBKdWxpZW4KPiAgIC0gU3dpdGNoZWQgbWlncmF0aW9u IHJlY29yZHMgdG8gZGVmaW5lZCBzdHJ1Y3R1cmVzIGluc3RlYWQgb2YgdHVwbGVzCj4gCj4gdjY6 Cj4gICAtIEFkZHJlc3NlZCBjb21tZW50cyBmcm9tIEp1bGllbgo+IAo+IHY1Ogo+ICAgLSBBZGQg UVVJRVNDRQo+ICAgLSBNYWtlIHNlbWFudGljcyBvZiA8aW5kZXg+IGluIEdFVF9ET01BSU5fV0FU Q0hFUyBtb3JlIGNsZWFyCj4gCj4gdjQ6Cj4gICAtIERyb3AgdGhlIHJlc3RyaWN0aW9ucyBvbiBz cGVjaWFsIHBhdGhzCj4gCj4gdjM6Cj4gICAtIE5ldyBpbiB2Mwo+IC0tLQo+ICAgZG9jcy9kZXNp Z25zL3hlbnN0b3JlLW1pZ3JhdGlvbi5tZCB8IDI1NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICAgZG9jcy9taXNjL3hlbnN0b3JlLnR4dCAgICAgICAgICAgICB8ICAgNiArLQo+ICAg MiBmaWxlcyBjaGFuZ2VkLCAyNTkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAgIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL2Rlc2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kCj4gCj4g ZGlmZiAtLWdpdCBhL2RvY3MvZGVzaWducy94ZW5zdG9yZS1taWdyYXRpb24ubWQgYi9kb2NzL2Rl c2lnbnMveGVuc3RvcmUtbWlncmF0aW9uLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl eCAwMDAwMDAwMDAwLi5lN2U2NTkzMDAyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RvY3MvZGVz aWducy94ZW5zdG9yZS1taWdyYXRpb24ubWQKPiBAQCAtMCwwICsxLDI1NiBAQAo+ICsjIFhlbnN0 b3JlIE1pZ3JhdGlvbgo+ICsKPiArIyMgQmFja2dyb3VuZAo+ICsKPiArVGhlIGRlc2lnbiBmb3Ig Kk5vbi1Db29wZXJhdGl2ZSBNaWdyYXRpb24gb2YgR3Vlc3RzKlsxXSBleHBsYWlucyB0aGF0IGV4 dHJhCj4gK3NhdmUgcmVjb3JkcyBhcmUgcmVxdWlyZWQgaW4gdGhlIG1pZ3JhdGlvbnMgc3RyZWFt IHRvIGFsbG93IGEgZ3Vlc3QgcnVubmluZwo+ICtQViBkcml2ZXJzIHRvIGJlIG1pZ3JhdGVkIHdp dGhvdXQgaXRzIGNvLW9wZXJhdGlvbi4gTW9yZW92ZXIgdGhlIHNhdmUKPiArcmVjb3JkcyBtdXN0 IGluY2x1ZGUgZGV0YWlscyBvZiByZWdpc3RlcmVkIHhlbnN0b3JlIHdhdGNoZXMgYXMgd2VsbCBh cwo+ICtjb250ZW50OyBpbmZvcm1hdGlvbiB0aGF0IGNhbm5vdCBjdXJyZW50bHkgYmUgcmVjb3Zl cmVkIGZyb20gYHhlbnN0b3JlZGAsCj4gK2FuZCBoZW5jZSBzb21lIGV4dGVuc2lvbiB0byB0aGUg eGVuc3RvcmUgcHJvdG9jb2xbMl0gd2lsbCBhbHNvIGJlIHJlcXVpcmVkLgo+ICsKPiArVGhlICps aWJ4ZW5saWdodCBEb21haW4gSW1hZ2UgRm9ybWF0KiBzcGVjaWZpY2F0aW9uWzNdIGFscmVhZHkg ZGVmaW5lcyBhCj4gK3JlY29yZCB0eXBlIGBFTVVMQVRPUl9YRU5TVE9SRV9EQVRBYCBidXQgdGhp cyBpcyBub3Qgc3VpdGFibGUgZm9yCj4gK3RyYW5zZmVycmluZyB4ZW5zdG9yZSBkYXRhIHBlcnRh aW5pbmcgdG8gdGhlIGRvbWFpbiBkaXJlY3RseSBhcyBpdCBpcwo+ICtzcGVjaWZpZWQgc3VjaCB0 aGF0IGtleXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBwYXRoCj4gK2AvbG9jYWwvZG9tYWluLyRkbV9k b21pZC9kZXZpY2UtbW9kZWwvJGRvbWlkYC4gVGh1cyBpdCBpcyBuZWNlc3NhcnkgdG8KPiArZGVm aW5lIGF0IGxlYXN0IG9uZSBuZXcgc2F2ZSByZWNvcmQgdHlwZS4KPiArCj4gKyMjIFByb3Bvc2Fs Cj4gKwo+ICsjIyMgTmV3IFNhdmUgUmVjb3JkCj4gKwo+ICtBIG5ldyBtYW5kYXRvcnkgcmVjb3Jk IHR5cGUgc2hvdWxkIGJlIGRlZmluZWQgd2l0aGluIHRoZSBsaWJ4ZW5saWdodCBEb21haW4KPiAr SW1hZ2UgRm9ybWF0Ogo+ICsKPiArYDB4MDAwMDAwMDc6IERPTUFJTl9YRU5TVE9SRV9EQVRBYAo+ ICsKPiArQW4gYXJiaXRyYXJ5IG51bWJlciBvZiB0aGVzZSByZWNvcmRzIG1heSBiZSBwcmVzZW50 IGluIHRoZSBtaWdyYXRpb24KPiArc3RyZWFtIGFuZCBtYXkgYXBwZWFyIGluIGFueSBvcmRlci4g VGhlIGZvcm1hdCBvZiBlYWNoIHJlY29yZCBzaG91bGQgYmUgYXMKPiArZm9sbG93czoKPiArCj4g Kwo+ICtgYGAKPiArICAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAgICAgNCAgICAgICA1 ICAgICAgIDYgICAgICAgNyAgICBvY3RldAo+ICsrLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0t LS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKwo+ICt8IHR5cGUgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgcmVjb3JkIHNwZWNpZmljIGRhdGEgICAgICAgICAgfAo+ICsrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAo+ICsuLi4KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArYGBgCj4gKwo+ICt3aGVyZSB0eXBlIGlzIG9uZSBv ZiB0aGUgZm9sbG93aW5nIHZhbHVlcwo+ICsKPiArCj4gK3wgRmllbGQgIHwgRGVzY3JpcHRpb24g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiArfC0tLS0tLS0tfC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAo+ICt8IGB0eXBl YCB8IDB4MDAwMDAwMDA6IGludmFsaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4g K3wgICAgICAgIHwgMHgwMDAwMDAwMTogTk9ERV9EQVRBICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKPiArfCAgICAgICAgfCAweDAwMDAwMDAyOiBXQVRDSF9EQVRBICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAo+ICt8ICAgICAgICB8IDB4MDAwMDAwMDM6IFRSQU5TQUNUSU9OX0RBVEEg ICAgICAgICAgICAgICAgICAgICB8Cj4gK3wgICAgICAgIHwgMHgwMDAwMDAwNCAtIDB4RkZGRkZG RkY6IHJlc2VydmVkIGZvciBmdXR1cmUgdXNlIHwKPiArCj4gKwo+ICthbmQgZGF0YSBpcyBvbmUg b2YgdGhlIHJlY29yZCBkYXRhIGZvcm1hdHMgZGVzY3JpYmVkIGluIHRoZSBmb2xsb3dpbmcKPiAr c2VjdGlvbnMuCj4gKwo+ICsKPiArTk9URTogVGhlIHJlY29yZCBkYXRhIGRvZXMgbm90IGNvbnRh aW4gYW4gb3ZlcmFsbCBsZW5ndGggYmVjYXVzZSB0aGUKPiArbGlieGVubGlnaHQgcmVjb3JkIGhl YWRlciBzcGVjaWZpZXMgdGhlIGxlbmd0aC4KPiArCj4gKwo+ICsqKk5PREVfREFUQSoqCj4gKwo+ ICsKPiArRWFjaCBOT0RFX0RBVEEgcmVjb3JkIHNwZWNpZmllcyBhIHNpbmdsZSBub2RlIGluIHhl bnN0b3JlIGFuZCBpcyBmb3JtYXR0ZWQKPiArYXMgZm9sbG93czoKPiArCj4gKwo+ICtgYGAKPiAr ICAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAgIG9jdGV0Cj4gKystLS0tLS0tKy0tLS0t LS0rLS0tLS0tLSstLS0tLS0tKwo+ICt8ICAgMSAgIHwgICAwICAgfCAgIDAgICB8ICAgMCAgIHwK CgpUaGUgc3RyZWFtIG1heSBlaXRoZXIgYmUgYmlnLWVuZGlhbiBvciBsaXR0bGUtZW5kaWFuLiBU aGlzIHdpbGwgYmUgCnNwZWNpZmllZCBpbiB0aGUgaGVhZGVyIG9mIHRoZSBzdHJlYW0uCgpCdXQg aGVyZSwgdGhpcyBzdWdnZXN0cyB0aGF0IHRoZSB0eXBlIHdpbGwgYWx3YXlzIGJlIGRlc2NyaWJl ZCBpbiAKbGl0dGxlLWVuZGlhbi4KCkkgdGhpbmsgaXQgd291bGQgYmUgYmVzdCB0byBvbmx5IGRl c2NyaWJlIHRoZSAicmVjb3JkIHNwZWNpZmljIGRhdGEiLgoKPiArKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rCj4gK3wgcGF0aCBsZW5ndGggICAgICAgICAgICAgICAgICAgfAo+ICsr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArfCBwYXRoIGRhdGEgICAgICAgICAg ICAgICAgICAgICB8Cj4gKy4uLgo+ICt8IHBhZCAoMCB0byAzIG9jdGV0cykgICAgICAgICAgIHwK PiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gK3wgcGVybSBjb3VudCAoTikg ICAgICAgICAgICAgICAgfAo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiAr fCBwZXJtMCAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4gKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwo+ICsuLi4KPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r Cj4gK3wgcGVybU4gICAgICAgICAgICAgICAgICAgICAgICAgfAo+ICsrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKPiArfCB2YWx1ZSBsZW5ndGggICAgICAgICAgICAgICAgICB8Cj4g KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ICt8IHZhbHVlIGRhdGEgICAgICAg ICAgICAgICAgICAgIHwKPiArLi4uCj4gK3wgcGFkICgwIHRvIDMgb2N0ZXRzKSAgICAgICAgICAg fAo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArYGBgCj4gKwo+ICt3aGVy ZSBwZXJtMC4uTiBhcmUgZm9ybWF0dGVkIGFzIGZvbGxvd3M6Cj4gKwo+ICsKPiArYGBgCj4gKyAg ICAwICAgICAgIDEgICAgICAgMiAgICAgICAzICAgICBvY3RldAo+ICsrLS0tLS0tLSstLS0tLS0t Ky0tLS0tLS0rLS0tLS0tLSsKPiArfCBwZXJtICB8IHBhZCAgIHwgZG9taWQgICAgICAgICB8Cj4g KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ICtgYGAKPiArCj4gKwo+ICtwYXRo IGxlbmd0aCBhbmQgdmFsdWUgbGVuZ3RoIGFyZSBzcGVjaWZpZWQgaW4gb2N0ZXRzIChleGNsdWRp bmcgdGhlIE5VTAo+ICt0ZXJtaW5hdG9yIG9mIHRoZSBwYXRoKS4KCklJVUMsIHRoaXMgbWVhbnMg dGhlICJwYXRoIGRhdGEiIHdvdWxkIG5vdCBjb250YWluIGEgTlVMIGF0IHRoZSBlbmQuYW0gSSAK Y29ycmVjdD8KCj4gcGVybSBzaG91bGQgYmUgb25lIG9mIHRoZSBBU0NJSSB2YWx1ZXMgYHdgLCBg cmAsCj4gK2BiYCBvciBgbmAgYXMgZGVzY3JpYmVkIGluIFsyXS4gQWxsIHBhZCB2YWx1ZXMgc2hv dWxkIGJlIDAuCj4gK0FsbCBwYXRocyBzaG91bGQgYmUgYWJzb2x1dGUgKGkuZS4gc3RhcnQgd2l0 aCBgL2ApIGFuZCBhcyBkZXNjcmliZWQgaW4KPiArWzJdLgo+ICsKPiArCj4gKyoqV0FUQ0hfREFU QSoqCj4gKwo+ICsKPiArRWFjaCBXQVRDSF9EQVRBIHJlY29yZCBzcGVjaWZpZXMgYSByZWdpc3Rl cmVkIHdhdGNoIGFuZCBpcyBmb3JtYXR0ZWQgYXMKPiArZm9sbG93czoKPiArCj4gKwo+ICtgYGAK PiArICAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAgIG9jdGV0Cj4gKystLS0tLS0tKy0t LS0tLS0rLS0tLS0tLSstLS0tLS0tKwo+ICt8ICAgMiAgIHwgICAwICAgfCAgIDAgICB8ICAgMCAg IHwKClNhbWUgcmVtYXJrIGhlcmUgYWJvdXQgdGhlIGVuZGlhbmVzcy4KCj4gKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ICt8IHdwYXRoIGxlbmd0aCAgICAgICAgICAgICAgICAg IHwKPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gK3wgd3BhdGggZGF0YSAg ICAgICAgICAgICAgICAgICAgfAo+ICsuLi4KPiArfCBwYWQgKDAgdG8gMyBvY3RldHMpICAgICAg ICAgICB8Cj4gKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ICsuLi4KPiArKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gK3wgdG9rZW4gbGVuZ3RoICAgICAgICAg ICAgICAgICAgfAo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArfCB0b2tl biBkYXRhICAgICAgICAgICAgICAgICAgICB8Cj4gKy4uLgo+ICt8IHBhZCAoMCB0byAzIG9jdGV0 cykgICAgICAgICAgIHwKPiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gK2Bg YAo+ICsKPiArd3BhdGggbGVuZ3RoIGFuZCB0b2tlbiBsZW5ndGggYXJlIHNwZWNpZmllZCBpbiBv Y3RldHMgKGV4Y2x1ZGluZyB0aGUgTlVMCj4gK3Rlcm1pbmF0b3IpLiBUaGUgd3BhdGggc2hvdWxk IGJlIGFzIGRlc2NyaWJlZCBmb3IgdGhlIGBXQVRDSGAgb3BlcmF0aW9uIGluCj4gK1syXS4gVGhl IHRva2VuIGlzIGFuIGFyYml0cmFyeSBzdHJpbmcgb2Ygb2N0ZXRzIG5vdCBjb250YWluaW5nIGFu eSBOVUwKPiArdmFsdWVzLgo+ICsKPiArCj4gKyoqVFJBTlNBQ1RJT05fREFUQSoqCj4gKwo+ICsK PiArRWFjaCBUUkFOU0FDVElPTl9EQVRBIHJlY29yZCBzcGVjaWZpZXMgYW4gb3BlbiB0cmFuc2Fj dGlvbiBhbmQgaXMgZm9ybWF0dGVkCj4gK2FzIGZvbGxvd3M6Cj4gKwo+ICsKPiArYGBgCj4gKyAg ICAwICAgICAgIDEgICAgICAgMiAgICAgICAzICAgICBvY3RldAo+ICsrLS0tLS0tLSstLS0tLS0t Ky0tLS0tLS0rLS0tLS0tLSsKPiArfCAgIDMgICB8ICAgMCAgIHwgICAwICAgfCAgIDAgICB8CgpT YW1lIHJlbWFyayBoZXJlIGFib3V0IHRoZSBlbmRpYW5lc3MuCgo+ICsrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKPiArfCB0eF9pZCAgICAgICAgICAgICAgICAgICAgICAgICB8Cj4g KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ICtgYGAKPiArCj4gK3doZXJlIHR4 X2lkIGlzIHRoZSBub24temVybyBpZGVudGlmaWVyIHZhbHVlcyBvZiBhbiBvcGVuIHRyYW5zYWN0 aW9uLgo+ICsKPiArCj4gKyMjIyBQcm90b2NvbCBFeHRlbnNpb24KPiArCj4gK0JlZm9yZSB4ZW5z dG9yZSBzdGF0ZSBpcyBtaWdyYXRlZCBpdCBpcyBuZWNlc3NhcnkgdG8gd2FpdCBmb3IgYW55IHBl bmRpbmcKPiArcmVhZHMsIHdyaXRlcywgd2F0Y2ggcmVnaXN0cmF0aW9ucyBldGMuIHRvIGNvbXBs ZXRlLCBhbmQgYWxzbyB0byBtYWtlIHN1cmUKPiArdGhhdCB4ZW5zdG9yZWQgZG9lcyBub3Qgc3Rh cnQgcHJvY2Vzc2luZyBhbnkgbmV3IHJlcXVlc3RzIChzbyB0aGF0IG5ldwo+ICtyZXF1ZXN0cyBy ZW1haW4gcGVuZGluZyBvbiB0aGUgc2hhcmVkIHJpbmcgZm9yIHN1YnNlcXVlbnQgcHJvY2Vzc2lu ZyBvbiB0aGUKPiArbmV3IGhvc3QpLiBIZW5jZSB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbiBpcyBu ZWVkZWQ6Cj4gKwo+ICtgYGAKPiArUVVJRVNDRSAgICAgICAgICAgICAgICAgPGRvbWlkPnwKPiAr Cj4gK0NvbXBsZXRlIHByb2Nlc3Npbmcgb2YgYW55IHJlcXVlc3QgaXNzdWVkIGJ5IHRoZSBzcGVj aWZpZWQgZG9tYWluLCBhbmQKPiArZG8gbm90IHByb2Nlc3MgYW55IGZ1cnRoZXIgcmVxdWVzdHMg ZnJvbSB0aGUgc2hhcmVkIHJpbmcuCj4gK2BgYAo+ICsKPiArVGhlIGBXQVRDSGAgb3BlcmF0aW9u IGRvZXMgbm90IGFsbG93IHNwZWNpZmljYXRpb24gb2YgYSBgPGRvbWlkPmA7IGl0IGlzCj4gK2Fz c3VtZWQgdGhhdCB0aGUgd2F0Y2ggcGVydGFpbnMgdG8gdGhlIGRvbWFpbiB0aGF0IG93bnMgdGhl IHNoYXJlZCByaW5nCj4gK292ZXIgd2hpY2ggdGhlIG9wZXJhdGlvbiBpcyBwYXNzZWQuIEhlbmNl LCBmb3IgdGhlIHRvb2wtc3RhY2sgdG8gYmUgYWJsZQo+ICt0byByZWdpc3RlciBhIHdhdGNoIG9u IGJlaGFsZiBvZiBhIGRvbWFpbiBhIG5ldyBvcGVyYXRpb24gaXMgbmVlZGVkOgo+ICsKPiArYGBg Cj4gK0FERF9ET01BSU5fV0FUQ0hFUyAgICAgIDxkb21pZD58PHdhdGNoPnwrCj4gKwo+ICtBZGRz IHdhdGNoZXMgb24gYmVoYWxmIG9mIHRoZSBzcGVjaWZpZWQgZG9tYWluLgo+ICsKPiArPHdhdGNo PiBpcyBhIE5VTCBzZXBhcmF0ZWQgdHVwbGUgb2YgPHBhdGg+fDx0b2tlbj4uIFRoZSBzZW1hbnRp Y3Mgb2YgdGhpcwo+ICtvcGVyYXRpb24gYXJlIGlkZW50aWNhbCB0byB0aGUgZG9tYWluIGlzc3Vp bmcgV0FUQ0ggPHBhdGg+fDx0b2tlbj58IGZvcgo+ICtlYWNoIDx3YXRjaD4uCj4gK2BgYAo+ICsK PiArVGhlIHdhdGNoIGluZm9ybWF0aW9uIGZvciBhIGRvbWFpbiBhbHNvIG5lZWRzIHRvIGJlIGV4 dHJhY3RlZCBmcm9tIHRoZQo+ICtzZW5kaW5nIHhlbnN0b3JlZCBzbyB0aGUgZm9sbG93aW5nIG9w ZXJhdGlvbiBpcyBhbHNvIG5lZWRlZDoKPiArCj4gK2BgYAo+ICtHRVRfRE9NQUlOX1dBVENIRVMg ICAgICA8ZG9taWQ+fDxpbmRleD4gICA8Z2VuY250Pnw8d2F0Y2g+fCoKPiArCj4gK0dldHMgdGhl IGxpc3Qgb2Ygd2F0Y2hlcyB0aGF0IGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCBmb3IgdGhlIGRv bWFpbi4KPiArCj4gKzx3YXRjaD4gaXMgYSBOVUwgc2VwYXJhdGVkIHR1cGxlIG9mIDxwYXRoPnw8 dG9rZW4+LiBUaGUgc3ViLWxpc3QgcmV0dXJuZWQKPiArd2lsbCBzdGFydCBhdCA8aW5kZXg+IGl0 ZW1zIGludG8gdGhlIHRoZSBvdmVyYWxsIGxpc3Qgb2Ygd2F0Y2hlcyBhbmQgbWF5Cj4gK2JlIHRy dW5jYXRlZCAoYXQgYSA8d2F0Y2g+IGJvdW5kYXJ5KSBzdWNoIHRoYXQgdGhlIHJldHVybmVkIGRh dGEgZml0cwo+ICt3aXRoaW4gWEVOU1RPUkVfUEFZTE9BRF9NQVguCj4gKwo+ICtJZiA8aW5kZXg+ IGlzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBvdmVyYWxsIGxpc3QgdGhlbiB0aGUgcmV0dXJuZWQg c3ViLQo+ICtsaXN0IHdpbGwgYmUgZW1wdHkuIElmIHRoZSB2YWx1ZSBvZiA8Z2VuY250PiBjaGFu Z2VzIHRoZW4gaXQgaW5kaWNhdGVzCj4gK3RoYXQgdGhlIG92ZXJhbGwgd2F0Y2ggbGlzdCBoYXMg Y2hhbmdlZCBhbmQgdGh1cyBpdCBtYXkgYmUgbmVjZXNzYXJ5Cj4gK3RvIHJlLWlzc3VlIHRoZSBv cGVyYXRpb24gZm9yIHByZXZpb3VzIHZhbHVlcyBvZiA8aW5kZXg+Lgo+ICtgYGAKPiArCj4gK1Rv IGRlYWwgd2l0aCB0cmFuc2FjdGlvbnMgdGhhdCB3ZXJlIHBlbmRpbmcgd2hlbiB0aGUgZG9tYWlu IGlzIG1pZ3JhdGVkCj4gK2l0IGlzIG5lY2Vzc2FyeSB0byBzdGFydCB0cmFuc2FjdGlvbnMgd2l0 aCB0aGUgc2FtZSB0eF9pZCBvbiBiZWhhbGYgb2YgdGhlCj4gK2RvbWFpbiBpbiB0aGUgcmVjZWl2 aW5nIHhlbnN0b3JlZC4KPiArCj4gK05PVEU6IEZvciBzYWZldHkgZWFjaCBzdWNoIHRyYW5zYWN0 aW9uIHNob3VsZCByZXN1bHQgaW4gYW4gYEVBR0FJTmAgd2hlbgo+ICt0aGUgYFRSQU5TQUNUSU9O X0VORGAgb3BlcmF0aW9uIGlzIHBlZm9ybWVkLCBhcyBtb2RpZmljYXRpb25zIG1hZGUgdW5kZXIK Ck5JVDogcy9wZWZvcm1lZC9wZXJmb3JtZWQvCgo+ICt0aGUgdHhfaWQgd2lsbCBub3QgYmUgcGFy dCBvZiB0aGUgbWlncmF0aW9uIHN0cmVhbS4KPiArCj4gK1RoZSBgVFJBTlNBQ1RJT05fU1RBUlRg IG9wZXJhdGlvbiBkb2VzIG5vdCBhbGxvdyBzcGVjaWZpY2F0aW9uIG9mIGEKPiArYDxkb21pZD5g OyBpdCBpcyBhc3N1bWVkIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHBlcnRhaW5zIHRvIHRoZSBkb21h aW4gdGhhdAo+ICtvd25zIHRoZSBzaGFyZWQgcmluZyBvdmVyIHdoaWNoIHRoZSBvcGVyYXRpb24g aXMgcGFzc2VkLiBOZWl0aGVyIGRvZXMgaXQKPiArYWxsb3cgYSBgPHRyYW5zaWQ+YCB0byBiZSBz cGVjaWZpZWQ7IGl0IGlzIGFsd2F5cyBjaG9zZW4gYnkgeGVuc3RvcmVkLgo+ICtIZW5jZSwgZm9y IHRoZSB0b29sLXN0YWNrIHRvIGJlIGFibGUgdG8gb3BlbiBhIHRyYW5zYWN0aW9uIG9uIGJlaGFs ZiBvZiBhCj4gK2RvbWFpbiBhIG5ldyBvcGVyYXRpb24gaXMgbmVlZGVkOgo+ICsKPiArYGBgCj4g K1NUQVJUX0RPTUFJTl9UUkFOU0FDVElPTiAgICA8ZG9taWQ+fDx0cmFuc2lkPnwKPiArCj4gK1N0 YXJ0cyBhIHRyYW5zYWN0aW9uIG9uIGJlaGFsZiBvZiBhIGRvbWFpbi4KPiArCj4gK1RoZSBzZW1h bnRpY3Mgb2YgdGhpcyBhcmUgc2ltaWxhciB0byB0aGUgZG9tYWluIGlzc3VpbmcKPiArVFJBTlNB Q1RJT05fU1RBUlQgYW5kIHJlY2VpdmluZyB0aGUgc3BlY2lmaWVkIDx0cmFuc2lkPiBhcyB0aGUg cmVzcG9uc2UuCj4gK1RoZSBtYWluIGRpZmZlcmVuY2UgaXMgdGhhdCB0aGUgdHJhbnNhY3Rpb24g d2lsbCBiZSBpbW1lZGlhdGVseSBtYXJrZWQgYXMKPiArJ2NvbmZsaWN0aW5nJyBzdWNoIHRoYXQg d2hlbiB0aGUgZG9tYWluIGlzc2VzIFRSQU5TQUNUSU9OX0VORCBUfCwgaXQgd2lsbAo+ICtyZXN1 bHQgaW4gRUFHQUlOLgo+ICtgYGAKPiArCj4gK0l0IG1heSBhbHNvIGJlIGRlc2lyYWJsZSB0byBz dGF0ZSBpbiB0aGUgcHJvdG9jb2wgc3BlY2lmaWNhdGlvbiB0aGF0Cj4gK3RoZSBgSU5UUk9EVUNF YCBvcGVyYXRpb24gc2hvdWxkIG5vdCBjbGVhciB0aGUgYDxnZm4+YCBzcGVjaWZpZWQgc3VjaCB0 aGF0Cj4gK2EgYFJFTEVBU0VgIG9wZXJhdGlvbiBmb2xsb3dlZCBieSBhbiBgSU5UUk9EVUNFYCBv cGVyYXRpb24gZm9ybSBhbgo+ICtpZGVtcG90ZW50IHBhaXIuIFRoZSBjdXJyZW50IGltcGxlbWVu dGF0aW9uIG9mICpDIHhlbnRvcmVkKiBkb2VzIHRoaXMKPiArKGluIHRoZSBgZG9tYWluX2Nvbm5f cmVzZXQoKWAgZnVuY3Rpb24pIGJ1dCB0aGlzIGNvdWxkIGJlIGRyb3BwZWQgYXMgdGhpcwo+ICti ZWhhdmlvdXIgaXMgbm90IGN1cnJlbnRseSBzcGVjaWZpZWQgYW5kIHRoZSBwYWdlIHdpbGwgYWx3 YXlzIGJlIHplcm9lZAo+ICtmb3IgYSBuZXdseSBjcmVhdGVkIGRvbWFpbi4KPiArCj4gKwo+ICsq ICogKgo+ICsKPiArWzFdIFNlZSBodHRwczovL3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9eGVu LmdpdDthPWJsb2I7Zj1kb2NzL2Rlc2lnbnMvbm9uLWNvb3BlcmF0aXZlLW1pZ3JhdGlvbi5tZAo+ ICtbMl0gU2VlIGh0dHBzOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD14ZW4uZ2l0O2E9Ymxv YjtmPWRvY3MvbWlzYy94ZW5zdG9yZS50eHQKPiArWzNdIFNlZSBodHRwczovL3hlbmJpdHMueGVu Lm9yZy9naXR3ZWIvP3A9eGVuLmdpdDthPWJsb2I7Zj1kb2NzL3NwZWNzL2xpYnhsLW1pZ3JhdGlv bi1zdHJlYW0ucGFuZG9jCj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW5zdG9yZS50eHQgYi9k b2NzL21pc2MveGVuc3RvcmUudHh0Cj4gaW5kZXggNmY4NTY5ZDU3Ni4uNTFlNmIxMjkzMSAxMDA2 NDQKPiAtLS0gYS9kb2NzL21pc2MveGVuc3RvcmUudHh0Cj4gKysrIGIvZG9jcy9taXNjL3hlbnN0 b3JlLnR4dAo+IEBAIC0yNTQsNyArMjU0LDcgQEAgVFJBTlNBQ1RJT05fRU5ECQlGfAo+ICAgCj4g ICAtLS0tLS0tLS0tIERvbWFpbiBtYW5hZ2VtZW50IGFuZCB4ZW5zdG9yZWQgY29tbXVuaWNhdGlv bnMgLS0tLS0tLS0tLQo+ICAgCj4gLUlOVFJPRFVDRQkJPGRvbWlkPnw8bWZuPnw8ZXZ0Y2huPnw/ Cj4gK0lOVFJPRFVDRQkJPGRvbWlkPnw8Z2ZuPnw8ZXZ0Y2huPnw/Cj4gICAJTm90aWZpZXMgeGVu c3RvcmVkIHRvIGNvbW11bmljYXRlIHdpdGggdGhpcyBkb21haW4uCj4gICAKPiAgIAlJTlRST0RV Q0UgaXMgY3VycmVudGx5IG9ubHkgdXNlZCBieSB4ZW5kIChkdXJpbmcgZG9tYWluCj4gQEAgLTI2 MiwxMiArMjYyLDEyIEBAIElOVFJPRFVDRQkJPGRvbWlkPnw8bWZuPnw8ZXZ0Y2huPnw/Cj4gICAJ eGVuc3RvcmVkIHByZXZlbnRzIGl0cyB1c2Ugb3RoZXIgdGhhbiBieSBkb20wLgo+ICAgCj4gICAJ PGRvbWlkPiBtdXN0IGJlIGEgcmVhbCBkb21haW4gaWQgKG5vdCAwIGFuZCBub3QgYSBzcGVjaWFs Cj4gLQlET01JRF8uLi4gdmFsdWUpLiAgPG1mbj4gbXVzdCBiZSBhIG1hY2hpbmUgcGFnZSBpbiB0 aGF0IGRvbWFpbgo+ICsJRE9NSURfLi4uIHZhbHVlKS4gIDxnZm4+IG11c3QgYmUgYSBtYWNoaW5l IHBhZ2UgaW4gdGhhdCBkb21haW4KCk5vdyB0aGF0IHlvdSBhcmUgdXNpbmcgImdmbiIsIGRvIHlv dSBhbHNvIHdhbnQgdG8gdXBkYXRlICJtYWNoaW5lIHBhZ2UiPwoKPiAgIAlyZXByZXNlbnRlZCBp biBzaWduZWQgZGVjaW1hbCAoISkuICA8ZXZ0Y2huPiBtdXN0IGJlIGV2ZW50Cj4gICAJY2hhbm5l bCBpcyBhbiB1bmJvdW5kIGV2ZW50IGNoYW5uZWwgaW4gPGRvbWlkPiAobGlrZXdpc2UgaW4KPiAg IAlkZWNpbWFsKSwgb24gd2hpY2ggeGVuc3RvcmVkIHdpbGwgY2FsbCBiaW5kX2ludGVyZG9tYWlu Lgo+ICAgCVZpb2xhdGlvbnMgb2YgdGhlc2UgcnVsZXMgbWF5IHJlc3VsdCBpbiB1bmRlZmluZWQg YmVoYXZpb3VyOwo+IC0JZm9yIGV4YW1wbGUgcGFzc2luZyBhIGhpZ2gtYml0LXNldCAzMi1iaXQg bWZuIGFzIGFuIHVuc2lnbmVkCj4gKwlmb3IgZXhhbXBsZSBwYXNzaW5nIGEgaGlnaC1iaXQtc2V0 IDMyLWJpdCBnZm4gYXMgYW4gdW5zaWduZWQKPiAgIAlkZWNpbWFsIHdpbGwgYXR0ZW1wdCB0byB1 c2UgMHg3ZmZmZmZmZiBpbnN0ZWFkICghKS4KPiAgIAo+ICAgUkVMRUFTRQkJCTxkb21pZD58Cj4g CgpDaGVlZXJzLAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==