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 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2590FD6DDE4 for ; Fri, 15 Nov 2024 07:38:39 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tBquO-00041l-1G; Fri, 15 Nov 2024 02:38:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tBqtd-0002Fs-NH for grub-devel@gnu.org; Fri, 15 Nov 2024 02:37:40 -0500 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tBqtY-0000IY-RN for grub-devel@gnu.org; Fri, 15 Nov 2024 02:37:37 -0500 Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-53da209492cso417096e87.3 for ; Thu, 14 Nov 2024 23:37:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1731656241; x=1732261041; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jw4BCmfuqMhGM5pu0TxvI6w/C9VPLL3fPeaZDHRb3gk=; b=Zw9U2SkXGLez+lXONcSkgrvNfBXDSmlmSGnDWJ5dz7hrUVkUxTh9xQZ+mJVzzqjdi2 elaO42PtQOkFV2VT0fqraWBKSJ07i85wss2As6buM04fQ6SwdHU6AnZqjRAwmXk27eLY cQzn6Un0ERp6cjyJMbHgRY8mD6I0F5cngHamrhn7uVjArglR3skeZWIiZC9lGa8cWRof b+Zv2aTzXCHs+ht0y2lXMKnNUs2KDxbkXkVqOG9YH+WpFVJYewLgZl+Klt4EeR7tzPvT ZIzF2r4iO9C8C2XTBmuqnPgHpw8oMX2Ks+w43nziEUHUH3BLDsNhTi5qDI1DS+hofJsZ mUXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731656241; x=1732261041; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jw4BCmfuqMhGM5pu0TxvI6w/C9VPLL3fPeaZDHRb3gk=; b=alzMwx8M3oV+Z/bHxG0IWDMDlBAh3rb4iJP0s7vXbcmn84tg//hzHxHyLLKSQEy9M6 RvlEvj2uw96uaHnqj2WdQIruFOWlCQiF+3o6uw71cEegcuEspe/narquIDipiIDZ/1UP bYfEOgUW0YXwG9Vv2+ub9Zxo5nmTqH6c3lbPefdekN1cfqYW98PtTiE1HS88vojuM8IX 2/Q4Go+Ty+XGgIe4fmlh9WvsVjsxaBsA+E8jhb3Apw6kNan1q8EbpVyXozQ8czDeuC+O +U1J6Sbx0sER9tv92QXrku1au11Thk/UUP13eNLGxjf7CyW/VJMRtPaET2t2JK5mUtKF kzhg== X-Gm-Message-State: AOJu0YzVx/d34f7IWWz9XHUBkPzEK2toJk0wwPHDKUWJ5bXmRdD5mX66 z6FEbBStJyUiP6QJrQgR/IbyresLxpCy+ec8B60+fZO6GWy8+PS2YtS+zf85sT+3UTbB49J21OI x X-Google-Smtp-Source: AGHT+IFR8lJLy+1/i8+GSNh12rDldPcl4sFnkkOPdw9SGGuNF0F7WOI24hperALd6gv0lqdyKJpVDw== X-Received: by 2002:a05:6512:3992:b0:53a:bb9:b54a with SMTP id 2adb3069b0e04-53dab3c4b65mr528786e87.48.1731656240266; Thu, 14 Nov 2024 23:37:20 -0800 (PST) Received: from localhost (111-240-136-29.dynamic-ip.hinet.net. [111.240.136.29]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7247711ce3esm759261b3a.48.2024.11.14.23.37.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2024 23:37:19 -0800 (PST) To: The development of GNU GRUB Subject: [PATCH v23 33/33] docs: Document TPM2 key protector Date: Fri, 15 Nov 2024 15:35:01 +0800 Message-ID: <20241115073506.2784-34-glin@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241115073506.2784-1-glin@suse.com> References: <20241115073506.2784-1-glin@suse.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::12b; envelope-from=glin@suse.com; helo=mail-lf1-x12b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Gary Lin via Grub-devel Reply-To: The development of GNU GRUB Cc: Gary Lin , Daniel Kiper , Hernan Gatta , Daniel Axtens , shkhisti@microsoft.com, jaskaran.khurana@microsoft.com, christopher.co@microsoft.com, daniel.mihai@microsoft.com, jaredz@redhat.com, development@efficientek.com, jejb@linux.ibm.com, mchang@suse.com, patrick.colp@oracle.com, Stefan Berger , Vladimir Serbinenko Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org VXBkYXRlIHRoZSB1c2VyIG1hbnVhbCB0byBhZGRyZXNzIFRQTTIga2V5IHByb3RlY3RvciBpbmNs dWRpbmcgdGhlIHR3bwpyZWxhdGVkIGNvbW1hbmRzLCB0cG0yX2tleV9wcm90ZWN0b3JfaW5pdCBh bmQgdHBtMl9rZXlfcHJvdGVjdG9yX2NsZWFyLAphbmQgdGhlIHVzZXItc3BhY2UgdXRpbGl0eTog Z3J1Yi1wcm90ZWN0LgoKU2lnbmVkLW9mZi1ieTogR2FyeSBMaW4gPGdsaW5Ac3VzZS5jb20+ClJl dmlld2VkLWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBlckBvcmFjbGUuY29tPgpSZXZpZXdl ZC1ieTogU3RlZmFuIEJlcmdlciA8c3RlZmFuYkBsaW51eC5pYm0uY29tPgotLS0KIGRvY3MvZ3J1 Yi50ZXhpIHwgNTI1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1MjUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Rv Y3MvZ3J1Yi50ZXhpIGIvZG9jcy9ncnViLnRleGkKaW5kZXggMTk5MzdmMWM5Li41N2Y3NTdhZTAg MTAwNjQ0Ci0tLSBhL2RvY3MvZ3J1Yi50ZXhpCisrKyBiL2RvY3MvZ3J1Yi50ZXhpCkBAIC02NDMy LDYgKzY0MzIsOCBAQCB5b3UgZm9yZ2V0IGEgY29tbWFuZCwgeW91IGNhbiBydW4gdGhlIGNvbW1h bmQgQGNvbW1hbmR7aGVscH0KICogc21iaW9zOjogICAgICAgICAgICAgICAgICAgICAgUmV0cmll dmUgU01CSU9TIGluZm9ybWF0aW9uCiAqIHNvdXJjZTo6ICAgICAgICAgICAgICAgICAgICAgIFJl YWQgYSBjb25maWd1cmF0aW9uIGZpbGUgaW4gc2FtZSBjb250ZXh0CiAqIHRlc3Q6OiAgICAgICAg ICAgICAgICAgICAgICAgIENoZWNrIGZpbGUgdHlwZXMgYW5kIGNvbXBhcmUgdmFsdWVzCisqIHRw bTJfa2V5X3Byb3RlY3Rvcl9pbml0OjogICAgIEluaXRpYWxpemUgdGhlIFRQTTIga2V5IHByb3Rl Y3RvcgorKiB0cG0yX2tleV9wcm90ZWN0b3JfY2xlYXI6OiAgICBDbGVhciB0aGUgVFBNMiBrZXkg cHJvdGVjdG9yCiAqIHRydWU6OiAgICAgICAgICAgICAgICAgICAgICAgIERvIG5vdGhpbmcsIHN1 Y2Nlc3NmdWxseQogKiB0cnVzdDo6ICAgICAgICAgICAgICAgICAgICAgICBBZGQgcHVibGljIGtl eSB0byBsaXN0IG9mIHRydXN0ZWQga2V5cwogKiB1bnNldDo6ICAgICAgICAgICAgICAgICAgICAg ICBVbnNldCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQpAQCAtNzk5MCw2ICs3OTkyLDU4IEBAIGVp dGhlciBAdmFye2V4cHJlc3Npb24xfSBvciBAdmFye2V4cHJlc3Npb24yfSBpcyB0cnVlCiBAZW5k IHRhYmxlCiBAZW5kIGRlZmZuCiAKK0Bub2RlIHRwbTJfa2V5X3Byb3RlY3Rvcl9pbml0CitAc3Vi c2VjdGlvbiB0cG0yX2tleV9wcm90ZWN0b3JfaW5pdAorCitAZGVmZm4gQ29tbWFuZCB0cG0yX2tl eV9wcm90ZWN0b3JfaW5pdCBbQG9wdGlvbnstbX0gbW9kZV0gfCBbQG9wdGlvbnstcH0gcGNybGlz dF0gfCBbQG9wdGlvbnstYn0gcGNyYmFua10gfCBbIFtAb3B0aW9uey1UfSB0cG0ya2V5X2ZpbGVd IHwgW0BvcHRpb257LWt9IGtleWZpbGVdIF0gfCBbQG9wdGlvbnstc30gaGFuZGxlXSB8IFtAb3B0 aW9uey1hfSBzcmtfdHlwZV0gfCBbQG9wdGlvbnstbn0gbnZfaW5kZXhdCitJbml0aWFsaXplIHRo ZSBUUE0yIGtleSBwcm90ZWN0b3IgdG8gdW5zZWFsIHRoZSBrZXkgZm9yIHRoZSBAY29tbWFuZHtj cnlwdG9tb3VudH0KKyhAcHhyZWZ7Y3J5cHRvbW91bnR9KSBjb21tYW5kLiBUaGVyZSBhcmUgdHdv IHN1cHBvcnRlZCBtb2RlcywKK1NSSyhAa2Jke3Nya30pIGFuZCBOViBpbmRleChAa2Jke252fSks IHRvIGJlIHNwZWNpZmllZCBieSB0aGUgb3B0aW9uCitAb3B0aW9uey1tfS4gVGhlIGRlZmF1bHQg bW9kZSBpcyBTUksuIFRoZSBtYWluIGRpZmZlcmVuY2UgYmV0d2VlbiBTUksgbW9kZQorYW5kIE5W IGluZGV4IG1vZGUgaXMgdGhlIHN0b3JhZ2Ugb2YgdGhlIHNlYWxlZCBrZXkuIEZvciBTUksgbW9k ZSwgdGhlIHNlYWxlZAora2V5IGlzIHN0b3JlZCBpbiBhIGZpbGUgd2hpbGUgTlYgaW5kZXggbW9k ZSBzdG9yZXMgdGhlIHNlYWxlZCBrZXkgaW4gdGhlCitub24tdm9sYXRpbGUgbWVtb3J5IGluc2lk ZSBUUE0gd2l0aCBhIGdpdmVuIE5WIGluZGV4LgorCitUaGUgQG9wdGlvbnstcH0gYW5kIEBvcHRp b257LWJ9IG9wdGlvbnMgYXJlIHVzZWQgdG8gc3VwcGx5IHRoZSBQQ1IgbGlzdCBhbmQKK2Jhbmsg dGhhdCB0aGUga2V5IGlzIHNlYWxlZCB3aXRoLiBUaGUgUENSIGxpc3QgaXMgYSBjb21tYS1zZXBh cmF0ZWQgbGlzdCwgZS5nLiwKKycwLDIsNCw3LDknLCB0byByZXByZXNlbnQgdGhlIGludm9sdmVk IFBDUnMsIGFuZCB0aGUgZGVmYXVsdCBpcyAnNycuIFRoZSBQQ1IKK2JhbmsgaXMgY2hvc2VuIGJ5 IHNlbGVjdGluZyBhIGhhc2ggYWxnb3JpdGhtLiBUaGUgY3VycmVudCBzdXBwb3J0ZWQgUENSIGJh bmtzCithcmUgU0hBMSwgU0hBMjU2LCBTSEEzODQsIGFuZCBTSEE1MTIsIGFuZCB0aGUgZGVmYXVs dCBpcyBTSEEyNTYuCisKK1NvbWUgb3B0aW9ucyBhcmUgb25seSBhdmFpbGFibGUgZm9yIHRoZSBz cGVjaWZpYyBtb2RlLiBUaGUgU1JLLXNwZWNpZmljCitvcHRpb25zIGFyZSBAb3B0aW9uey1UfSwg QG9wdGlvbnsta30sIEBvcHRpb257LWF9LCBhbmQgQG9wdGlvbnstc30uIE9uIHRoZQorb3RoZXIg aGFuZCwgdGhlIE5WIGluZGV4LXNwZWNpZmljIG9wdGlvbiBpcyBAb3B0aW9uey1ufS4KKworVGhl IGtleSBmaWxlIGZvciBTUksgbW9kZSBjYW4gYmUgc3VwcGxpZWQgd2l0aCBlaXRoZXIgQG9wdGlv bnstVH0gb3IKK0BvcHRpb257LWt9LiBUaGUgQG9wdGlvbnstVH0gb3B0aW9uIGlzIGZvciB0aGUg cGF0aCB0byB0aGUga2V5IGZpbGUgaW4KK1RQTSAyLjAgS2V5IEZpbGUgZm9ybWF0LiBTaW5jZSB0 aGUgcGFyYW1ldGVycyBmb3IgdGhlIFRQTSBjb21tYW5kcyBhcmUgd3JpdHRlbgoraW4gdGhlIGZp bGUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2V0IHRoZSBQQ1IgbGlzdChAb3B0aW9uey1wfSkgYW5k CitiYW5rKEBvcHRpb257LWJ9KSB3aGVuIHVzaW5nIHRoZSBAb3B0aW9uey1UfSBvcHRpb24uIFRo ZSBAb3B0aW9uey1rfSBvcHRpb24KK2lzIGZvciB0aGUga2V5IGZpbGUgaW4gdGhlIHJhdyBmb3Jt YXQsIGFuZCB0aGUgQG9wdGlvbnstcH0gYW5kIEBvcHRpb257LWJ9CitvcHRpb25zIGFyZSBuZWNl c3NhcnkgZm9yIHRoZSBub24tZGVmYXVsdCBQQ1IgbGlzdCBvciBiYW5rLiBJbiBnZW5lcmFsLAor VFBNIDIuMCBLZXkgRmlsZSBmb3JtYXQgaXMgcHJlZmVycmVkIGR1ZSB0byB0aGUgc2ltcGxpZmll ZCBHUlVCIGNvbW1hbmQKK29wdGlvbnMgYW5kIHRoZSBhdXRob3JpemVkIHBvbGljeSBzdXBwb3J0 CisKK0Jlc2lkZXMgdGhlIGtleSBmaWxlLCB0aGVyZSBhcmUgdHdvIG9wdGlvbnMsIEBvcHRpb257 LWF9IGFuZCBAb3B0aW9uey1zfSwgdG8KK3R3ZWFrIHRoZSBUUE0gU3RvcmFnZSBSb290IEtleSAo U1JLKS4gVGhlIFNSSyBjYW4gYmUgZWl0aGVyIGNyZWF0ZWQgYXQKK3J1bnRpbWUgb3Igc3RvcmVk IGluIHRoZSBub24tdm9sYXRpbGUgbWVtb3J5LiBXaGVuIGNyZWF0aW5nIFNSSyBhdCBydW50aW1l LAorR1JVQiBwcm92aWRlcyB0aGUgU1JLIHRlbXBsYXRlIHRvIHRoZSBUUE0gdG8gY3JlYXRlIHRo ZSBrZXkuIFRoZXJlIGFyZSB0d28gU1JLCit0ZW1wbGF0ZXMgZm9yIHRoZSBAb3B0aW9uey1hfSBv cHRpb24sIEVDQyBhbmQgUlNBLCBhbmQgdGhlIGRlZmF1bHQgaXMgRUNDLgorSWYgdGhlIFNSSyBp cyBzdG9yZWQgaW4gYSBzcGVjaWZpYyBoYW5kbGUsIGUuZy4gQGNvZGV7MHg4MTAwMDAwMX0sIHRo ZQorQG9wdGlvbnstc30gb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgaGFuZGxlIHRvIG5v dGlmeSBHUlVCIHRvIGxvYWQKK3RoZSBTUksgZnJvbSB0aGUgZ2l2ZW4gaGFuZGxlLgorCitUaGUg b25seSBOViBpbmRleC1zcGVjaWZpYyBvcHRpb24gaXMgdGhlIEBvcHRpb257LW59IG9wdGlvbiB3 aGljaCBpcyB1c2VkIHRvCitzZXQgdGhlIE5WIGluZGV4IGNvbnRhaW5pbmcgdGhlIHNlYWxlZCBr ZXkuIFRoZW4gR1JVQiBjYW4gbG9hZCB0aGUgc2VhbGVkCitrZXkgYW5kIHVuc2VhbCBpdCB3aXRo IHRoZSBnaXZlbiBQQ1IgbGlzdCBhbmQgYmFuay4KK0BlbmQgZGVmZm4KKworQG5vZGUgdHBtMl9r ZXlfcHJvdGVjdG9yX2NsZWFyCitAc3Vic2VjdGlvbiB0cG0yX2tleV9wcm90ZWN0b3JfY2xlYXIK KworQGRlZmZuIENvbW1hbmQgdHBtMl9rZXlfcHJvdGVjdG9yX2NsZWFyCitDbGVhciB0aGUgVFBN MiBrZXkgcHJvdGVjdG9yIGlmIHByZXZpb3VzbHkgaW5pdGlhbGl6ZWQuCitAZW5kIGRlZmZuCiAK IEBub2RlIHRydWUKIEBzdWJzZWN0aW9uIHRydWUKQEAgLTg1MTgsNiArODU3Miw3IEBAIGVudmly b25tZW50IHZhcmlhYmxlcyBhbmQgY29tbWFuZHMgYXJlIGxpc3RlZCBpbiB0aGUgc2FtZSBvcmRl ci4KICogU2VjdXJlIEJvb3QgQWR2YW5jZWQgVGFyZ2V0aW5nOjogICBFbWJlZGRlZCBpbmZvcm1h dGlvbiBmb3IgZ2VuZXJhdGlvbiBudW1iZXIgYmFzZWQgcmV2b2NhdGlvbgogKiBNZWFzdXJlZCBC b290OjogICAgICAgICAgICAgICAgICAgIE1lYXN1cmluZyBib290IGNvbXBvbmVudHMKICogTG9j a2Rvd246OiAgICAgICAgICAgICAgICAgICAgICAgICBMb2NrZG93biB3aGVuIGJvb3Rpbmcgb24g YSBzZWN1cmUgc2V0dXAKKyogVFBNMiBrZXkgcHJvdGVjdG9yOjogICAgICAgICAgICAgICBNYW5h Z2luZyBkaXNrIGtleSB3aXRoIFRQTTIga2V5IHByb3RlY3RvcgogQGVuZCBtZW51CiAKIEBub2Rl IEF1dGhlbnRpY2F0aW9uIGFuZCBhdXRob3Jpc2F0aW9uCkBAIC04NzYxLDYgKzg4MTYsMzEwIEBA IGJlIHJlc3RyaWN0ZWQgYW5kIHNvbWUgb3BlcmF0aW9ucy9jb21tYW5kcyBjYW5ub3QgYmUgZXhl Y3V0ZWQuCiBUaGUgQHNhbXB7bG9ja2Rvd259IHZhcmlhYmxlIGlzIHNldCB0byBAc2FtcHt5fSB3 aGVuIHRoZSBHUlVCIGlzIGxvY2tlZCBkb3duLgogT3RoZXJ3aXNlIGl0IGRvZXMgbm90IGV4aXQu CiAKK0Bub2RlIFRQTTIga2V5IHByb3RlY3RvcgorQHNlY3Rpb24gVFBNMiBrZXkgcHJvdGVjdG9y IGluIEdSVUIKKworVFBNMiBrZXkgcHJvdGVjdG9yIGV4dGVuZHMgbWVhc3VyZWQgYm9vdCB0byB1 bmxvY2sgdGhlIGVuY3J5cHRlZCBwYXJ0aXRpb24KK3dpdGhvdXQgdXNlciBpbnRlcnZlbnRpb24u IEl0IHVzZXMgdGhlIFRQTSBTdG9yYWdlIFJvb3QgS2V5IChTUkspIHRvIHNlYWwKK3RoZSBkaXNr IGtleSB3aXRoIGEgZ2l2ZW4gc2V0IG9mIFBDUiB2YWx1ZXMuIElmIHRoZSBzeXN0ZW0gc3RhdGUg bWF0Y2hlcywKK2kuZS4gUENSIHZhbHVlcyBtYXRjaCB0aGUgc2VhbGVkIFBDUiBzZXQsIFRQTTIg a2V5IHByb3RlY3RvciB1bnNlYWxzIHRoZQorZGlzayBrZXkgZm9yIEBjb21tYW5ke2NyeXB0b21v dW50fSAoQHB4cmVme2NyeXB0b21vdW50fSkgdG8gdW5sb2NrIHRoZQorZW5jcnlwdGVkIHBhcnRp dGlvbi4gSW4gY2FzZSB0aGUgdW5zZWFsZWQga2V5IGZhaWxzIHRvIHVubG9jayB0aGUKK3BhcnRp dGlvbiwgQGNvbW1hbmR7Y3J5cHRvbW91bnR9IGZhbGxzIGJhY2sgdG8gdGhlIHBhc3NwaHJhc2Ug cHJvbXB0LgorCitQbGVhc2Ugbm90ZSB0aGF0IFRQTTIga2V5IHByb3RlY3RvciB1c2VzIHRoZSBT UksgaW4gdGhlIG93bmVyIGhpZXJhcmNoeQorQGVtcGh7d2l0aG91dH0gYXV0aG9yaXphdGlvbi4g SWYgdGhlIG93bmVyIGhpZXJhcmNoeSBpcyBwYXNzd29yZC1wcm90ZWN0ZWQsCitUUE0yIGtleSBw cm90ZWN0b3IgbWF5IGZhaWwgdG8gdW5zZWFsIHRoZSBrZXkgZHVlIHRvIHRoZSBhYnNlbmNlIG9m IHRoZQorcGFzc3dvcmQuIEZvciB0aGUgc3lzdGVtcyB0aGF0IGFscmVhZHkgZW5hYmxlIHRoZSBw YXNzd29yZCBwcm90ZWN0aW9uIGZvciB0aGUKK293bmVyIGhpZXJhcmNoeSwgdGhlIGZvbGxvd2lu ZyBjb21tYW5kIHJlbW92ZXMgdGhlIHBhc3N3b3JkIHByb3RlY3Rpb24gd2l0aAordGhlIGV4aXN0 aW5nIHBhc3N3b3JkLgorCitAZXhhbXBsZQorIyBAa2Jke3RwbTJfY2hhbmdlYXV0aCAtYyBvd25l ciAtcCBwYXNzd29yZH0KK0BlbmQgZXhhbXBsZQorCitUaGVyZSBhcmUgdHdvIHN1cHBvcnRlZCBt b2RlcyB0byBzdG9yZSB0aGUgc2VhbGVkIGtleSwgU1JLIGFuZCBOViBpbmRleC4KK1RoZSBkZXRh aWxzIHdpbGwgYmUgYWRkcmVzc2VkIGluIGxhdGVyIHNlY3Rpb25zLgorCitUUE0yIGtleSBwcm90 ZWN0b3IgaXMgY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkIG9uIEVGSSBhbmQgRU1VIHBsYXRmb3Jt cy4KKworQHN1YnNlY3Rpb24gVFBNIFBDUiB1c2FnZQorCitTaW5jZSBUUE0yIGtleSBwcm90ZWN0 b3IgcmVsaWVzIG9uIFBDUnMgdG8gY2hlY2sgdGhlIHN5c3RlbSBzdGF0ZSwgaXQgaXMKK2ltcG9y dGFudCB0byBkZWNpZGUgd2hpY2ggUENScyB0byBzZWFsIHRoZSBrZXkgd2l0aC4gVGhlIGZvbGxv d2luZyB0YWJsZQorbGlzdHMgdXNlcyBvZiBQQ1JzIGFuZCB0aGUgbWVhc3VyZWQgb2JqZWN0cyBv biBFRkkgcGxhdGZvcm1zLgorCitAbXVsdGl0YWJsZSBAY29sdW1uZnJhY3Rpb25zIDAuMSAwLjIg MC43CitAaGVhZGl0ZW0gUENSIEB0YWIgVXNlZCBieSBAdGFiIE1lYXN1cmVkIE9iamVjdHMKK0Bp dGVtIDAKK0B0YWIgRmlybXdhcmUKK0B0YWIgQ29yZSBzeXN0ZW0gZmlybXdhcmUgZXhlY3V0YWJs ZSBjb2RlCitAaXRlbSAxCitAdGFiIEZpcm13YXJlCitAdGFiIENvcmUgc3lzdGVtIGZpcm13YXJl IGRhdGEvaG9zdCBwbGF0Zm9ybSBjb25maWd1cmF0aW9uOyB0eXBpY2FsbHkKK2NvbnRhaW5zIHNl cmlhbCBhbmQgbW9kZWwgbnVtYmVycworQGl0ZW0gMgorQHRhYiBGaXJtd2FyZQorQHRhYiBFeHRl bmRlZCBvciBwbHVnZ2FibGUgZXhlY3V0YWJsZSBjb2RlOyBpbmNsdWRlcyBvcHRpb24gUk9NcyBv bgorcGx1Z2dhYmxlIGhhcmR3YXJlCitAaXRlbSAzCitAdGFiIEZpcm13YXJlCitAdGFiIEV4dGVu ZGVkIG9yIHBsdWdnYWJsZSBmaXJtd2FyZSBkYXRhOyBpbmNsdWRlcyBpbmZvcm1hdGlvbiBhYm91 dAorcGx1Z2dhYmxlIGhhcmR3YXJlCitAaXRlbSA0CitAdGFiIEZpcm13YXJlCitAdGFiIEJvb3Qg bG9hZGVyIGFuZCBhZGRpdGlvbmFsIGRyaXZlcnM7IGJpbmFyaWVzIGFuZCBleHRlbnNpb25zIGxv YWRlZAorYnkgdGhlIGJvb3QgbG9hZGVyCitAaXRlbSA1CitAdGFiIEZpcm13YXJlCitAdGFiIEdQ VC9QYXJ0aXRpb24gdGFibGUKK0BpdGVtIDcKK0B0YWIgRmlybXdhcmUKK0B0YWIgU2VjdXJlQm9v dCBzdGF0ZQorQGl0ZW0gOAorQHRhYiBHUlVCCitAdGFiIENvbW1hbmRzIGFuZCBrZXJuZWwgY29t bWFuZCBsaW5lCitAaXRlbSA5CitAdGFiIEdSVUIKK0B0YWIgQWxsIGZpbGVzIHJlYWQgKGluY2x1 ZGluZyBrZXJuZWwgaW1hZ2UpCitAaXRlbSA5CitAdGFiIExpbnV4IEtlcm5lbAorQHRhYiBBbGwg cGFzc2VkIGluaXRyZHMgKHdoZW4gdGhlIG5ldyBMT0FEX0ZJTEUyIGluaXRyZCBwcm90b2NvbCBp cyB1c2VkKQorQGl0ZW0gMTAKK0B0YWIgTGludXggS2VybmVsCitAdGFiIFByb3RlY3Rpb24gb2Yg dGhlIElNQSBtZWFzdXJlbWVudCBsb2cKK0BpdGVtIDE0CitAdGFiIHNoaW0KK0B0YWIg4oCcTU9L 4oCdIGNlcnRpZmljYXRlcyBhbmQgaGFzaGVzCitAZW5kIG11bHRpdGFibGUKKworUENSIDAsIDIs IDQsIGFuZCA3IGNhbiBiZSB1c2VkIHRvIGNoZWNrIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIGZpcm13 YXJlIGNvZGUKK2FuZCBib290bG9hZGVycy4gUENSIDggYW5kIDkgYXJlIHVzZWZ1bCB0byBjaGVj ayB0aGUgZmlsZSBhbmQgZGF0YSBwcm9jZXNzZWQKK2J5IEdSVUIuIFBDUnMgMTAsIDExLCAxMiwg MTMsIGFuZCAxNSBhcmUgY29udHJvbGxlZCBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbSwKK3NvIHRo b3NlIFBDUnMgYXJlIHVzdWFsbHkgc3RpbGwgaW4gdGhlIGluaXRpYWwgc3RhdGUgd2hlbiBHUlVC IGlzIHJ1bm5pbmcuCisKK0luIGdlbmVyYWwsIGl0IGlzIG5pY2UgdG8gaW5jbHVkZSBQQ1IgMCwg MiwgNCwgYW5kIDcgdG8gZW5zdXJlIHRoZSBpbnRlZ3JpdHkKK29mIHRoZSBmaXJtd2FyZSBhbmQg Ym9vdGxvYWRlcnMuIEZvciBQQ1IgOCBhbmQgOSwgYSBzb3BoaXN0aWNhdGVkIHRvb2wgaXMKK3Jl cXVpcmVkIHRvIGV4YW1pbmUgdGhlIEdSVUIgY29uZmlndXJhdGlvbiBmaWxlcyBhbmQgdGhlIGZp bGVzIHRvIGJlIGxvYWRlZAordG8gY2FsY3VsYXRlIHRoZSBjb3JyZWN0IFBDUiB2YWx1ZXMuCisK K1BsZWFzZSBub3RlIHRoYXQgUENScyBhcmUgc2Vuc2l0aXZlIHRvIGFueSBjaGFuZ2UsIHNvIGFu IHVwZGF0ZSBvZiBhIGNvbXBvbmVudAorY291bGQgaW52YWxpZGF0ZSB0aGUgc2VhbGVkIGtleSwg ZHVlIHRvIHRoZSBzby1jYWxsZWQgUENSIGJyaXR0bGVuZXNzLiBGb3IgdGhlCitib290bG9hZGVy IHVwZGF0ZSwgUENSIDQgbWF5IGJlIGFmZmVjdGVkLiBUaGlzIGNhbiBiZSBtaXRpZ2F0ZWQgYnkg ZXh0cmFjdGluZwordGhlIGV2ZW50cyBmcm9tIHRoZSBUUE0gZXZlbnQgbG9nIGFuZCBwcmVkaWN0 IHRoZSB2YWx1ZSB3aXRoIHRoZSB1cGRhdGVkCitib290bG9hZGVyIGJpbmFyeS4gT24gdGhlIG90 aGVyIGhhbmQsIGl0IGlzIGRpZmZpY3VsdCB0byBwcmVkaWN0IFBDUiAwfjcgYWZ0ZXIKK2EgZmly bXdhcmUgdXBkYXRlIHNpbmNlIHRoZSBjb250ZW50IG9mIHRoZSBjb2RlIGFuZCB0aGUgb3JkZXIg b2YgZHJpdmVycyBtYXkKK25vdCBmb2xsb3cgdGhlIFRQTSBldmVudCBsb2cgZnJvbSB0aGUgcHJl dmlvdXMgZmlybXdhcmUgdmVyc2lvbiwgc28gaXQgaXMKK25lY2Vzc2FyeSB0byByZWJvb3QgdGhl IHN5c3RlbSB0byB1cGRhdGUgdGhlIG1lYXN1cmVtZW50IHJlc3VsdHMgb2YgUENSIDB+NworYW5k IHNlYWwgb3Igc2lnbiB0aGUgc2VhbGVkIGtleSBhZ2Fpbi4KKworUmVmZXJlbmNlOiBAdXJse2h0 dHBzOi8vdWFwaS1ncm91cC5vcmcvc3BlY2lmaWNhdGlvbnMvc3BlY3MvbGludXhfdHBtX3Bjcl9y ZWdpc3RyeS8sIExpbnV4IFRQTSBQQ1IgUmVnaXN0cnl9CisKK0BzdWJzZWN0aW9uIFNldHRpbmcg dXAgdGhlIGV4dHJhIGRpc2sga2V5CisKK0luc3RlYWQgb2YgdXNpbmcgdGhlIGV4aXN0aW5nIHBh c3N3b3JkLCBpdCBpcyByZWNvbW1lbmRlZCB0byBzZWFsIGEgbmV3CityYW5kb20gZGlzayBrZXkg YW5kIHVzZSB0aGUgZXhpc3RpbmcgcGFzc3dvcmQgZm9yIHJlY292ZXJ5LgorCitIZXJlIGFyZSB0 aGUgc2FtcGxlIGNvbW1hbmRzIHRvIGNyZWF0ZSBhIDEyOCByYW5kb20gYnl0ZXMga2V5IGZpbGUg YW5kCitlbnJvbGwgdGhlIGtleSBpbnRvIHRoZSB0YXJnZXQgcGFydGl0aW9uIChzZGEyKS4KKwor QGV4YW1wbGUKKyMgQGtiZHtkZCBpZj0vZGV2L3VyYW5kb20gb2Y9bHVrcy5rZXkgYnM9MSBjb3Vu dD0xMjh9CisjIEBrYmR7Y3J5cHRzZXR1cCBsdWtzQWRkS2V5IC9kZXYvc2RhMiBsdWtzLmtleSAt LXBia2RmPXBia2RmMiAtLWhhc2g9c2hhNTEyfQorQGVuZCBleGFtcGxlCisKK0BzdWJzZWN0aW9u IFNSSyBtb2RlCisKK1RvIHVubG9jayB0aGUgcGFydGl0aW9uIHdpdGggU1JLIG1vZGUsIGFzc3Vt ZSB0aGF0IHRoZSBzZWFsZWQga2V5IGlzIGluCitAZmlsZXsoaGQwLGdwdDEpL2VmaS9ncnViL3Nl YWxlZC50cG19LCB0aGUgZm9sbG93aW5nIEdSVUIgY29tbWFuZHMKK3Vuc2VhbCB0aGUgZGlzayBr ZXkgd2l0aCBTUksgbW9kZSBhbmQgc3VwcGx5IGl0IHRvIEBjb21tYW5ke2NyeXB0b21vdW50fS4K KworQGV4YW1wbGUKK2dydWI+IEBrYmR7dHBtMl9rZXlfcHJvdGVjdG9yX2luaXQgLVQgKGhkMCxn cHQxKS9lZmkvZ3J1Yi9zZWFsZWQudHBtfQorZ3J1Yj4gQGtiZHtjcnlwdG9tb3VudCAtdSA8VVVJ RD4gLVAgdHBtMn0KK0BlbmQgZXhhbXBsZQorCitUaGVyZSBhcmUgdHdvIHByb2dyYW1zIHRvIGNy ZWF0ZSB0aGUgc2VhbGVkIGtleSBmb3IgU1JLIG1vZGU6IEBjb21tYW5ke2dydWItcHJvdGVjdH0K K2FuZCBAY29tbWFuZHtwY3Itb3JhY2xlfSAoQHVybHtodHRwczovL2dpdGh1Yi5jb20vb2tpcmNo L3Bjci1vcmFjbGV9KS4KKworVGhlIGZvbGxvd2luZyBzYW1wbGUgY29tbWFuZCB1c2VzIEBjb21t YW5ke2dydWItcHJvdGVjdH0gdG8gc2VhbCB0aGUgcmFuZG9tCitrZXksIEBmaWxle2x1a3Mua2V5 fSwgd2l0aCBQQ1IgMCwgMiwgNCBhbmQgNyBpbiBUUE0gMi4wIEtleSBGaWxlIGZvcm1hdC4KKwor QGV4YW1wbGUKK0Bncm91cAorIyBAa2Jke2dydWItcHJvdGVjdCAtLWFjdGlvbj1hZGQgXAorICAg ICAgICAgICAgICAgLS1wcm90ZWN0b3I9dHBtMiBcCisgICAgICAgICAgICAgICAtLXRwbTItcGNy cz0wLDIsNCw3IFwKKyAgICAgICAgICAgICAgIC0tdHBtMmtleSBcCisgICAgICAgICAgICAgICAt LXRwbTIta2V5ZmlsZT1sdWtzLmtleSBcCisgICAgICAgICAgICAgICAtLXRwbTItb3V0ZmlsZT0v Ym9vdC9lZmkvZWZpL2dydWIvc2VhbGVkLnRwbX0KK0BlbmQgZ3JvdXAKK0BlbmQgZXhhbXBsZQor CitAY29tbWFuZHtncnViLXByb3RlY3R9IG9ubHkgc2VhbHMgdGhlIGtleSB3aXRoIHRoZSBjdXJy ZW50IFBDUiB2YWx1ZXMuCitUaGVyZWZvcmUsIHdoZW4gYSBib290IGNvbXBvbmVudCwgc3VjaCBh cyBzaGltIG9yIEdSVUIsIGlzIHVwZGF0ZWQsIGl0IGlzCituZWNlc3NhcnkgdG8gcmVib290IHRo ZSBzeXN0ZW0gdG8gdXBkYXRlIHRoZSBtZWFzdXJlbWVudCByZXN1bHRzIGFuZCBzZWFsCit0aGUg a2V5IGFnYWluLiBUaGF0IG1lYW5zIHRoZSByYW5kb20gZGlzayBrZXkgaGFzIHRvIGJlIHN0b3Jl ZCBpbiBjbGVhcnRleHQKK2ZvciB0aGUgbmV4dCBrZXkgc2VhbGluZy4gQmVzaWRlcyB0aGlzLCB0 aGUgbWVhc3VyZW1lbnQgcmVzdWx0IG9mIHNvbWUgUENScworbWF5IGRpZmZlciBiZXR3ZWVuIGJv b3QgdGltZSBhbmQgT1MgcnVudGltZS4gRm9yIGV4YW1wbGUsIFBDUiA5IG1lYXN1cmVzIHRoZQor ZmlsZXMgbG9hZGVkIGJ5IEdSVUIgaW5jbHVkaW5nIHRoZSBMaW51eCBrZXJuZWwgYW5kIGluaXRy ZC4gVG8gdW5sb2NrIHRoZSBkaXNrCitjb250YWluaW5nIHRoZSBrZXJuZWwgYW5kIGluaXRyZCwg dGhlIGtleSBoYXMgdG8gYmUgc2VhbGVkIHdpdGggUENSIDkgdmFsdWUKK2JlZm9yZSBsb2FkaW5n IHRoZSBrZXJuZWwgYW5kIGluaXRyZC4gSG93ZXZlciwgUENSIDkgY2hhbmdlcyBhZnRlciBHUlVC Citsb2FkaW5nIHRoZSBrZXJuZWwgYW5kIGluaXRyZCwgc28gUENSIDkgYXQgT1MgcnVudGltZSBj YW5ub3QgYmUgdXNlZCBkaXJlY3RseQorZm9yIGtleSBzZWFsaW5nLgorCitUbyBzb2x2ZSB0aGVz ZSBwcm9ibGVtcywgQGNvbW1hbmR7cGNyLW9yYWNsZX0gdGFrZXMgYSBkaWZmZXJlbnQgYXBwcm9h Y2guIEl0CityZWFkcyB0aGUgVFBNIGV2ZW50bG9nIGFuZCBwcmVkaWN0cyB0aGUgUENSIHZhbHVl cy4gQmVzaWRlcywKK0Bjb21tYW5ke3Bjci1vcmFjbGV9IGFsc28gc3VwcG9ydHMgYGBhdXRob3Jp emVkIHBvbGljeScnIHdoaWNoIGFsbG93cyB0aGUKK1BDUiBwb2xpY3kgdG8gYmUgdXBkYXRlZCB3 aXRoIGEgdmFsaWQgc2lnbmF0dXJlLCBzbyB0aGF0IHRoZSB1c2VyIG9ubHkgc2VhbHMKK3RoZSBy YW5kb20gZGlzayBrZXkgb25jZS4gSWYgYXQgc29tZSBsYXRlciB0aW1lIHRoZSBQQ1IgdmFsdWVz IGNoYW5nZSBkdWUgdG8KK2FuIHVwZGF0ZSBvZiB0aGUgc3lzdGVtIGZpcm13YXJlLCBib290bG9h ZGVyLCBvciBjb25maWcgZmlsZSwgdGhlIHVzZXIganVzdAorbmVlZHMgdG8gdXBkYXRlIHRoZSBz aWduYXR1cmUgb2YgdGhlIFBDUiBwb2xpY3kuCisKK1RvIHNlYWwgdGhlIGtleSB3aXRoIHRoZSBh dXRob3JpemVkIHBvbGljeSwgdGhlIGZpcnN0IHRoaW5nIGlzIHRvIGdlbmVyYXRlCit0aGUgUlNB IHBvbGljeSBrZXksIEBmaWxle3BvbGljeS1rZXkucGVtfSwgYW5kIHRoZSBhdXRob3JpemVkIHBv bGljeSBmaWxlLAorQGZpbGV7YXV0aG9yaXplZC5wb2xpY3l9LiBJbiB0aGlzIGV4YW1wbGUsIFBD UiAwLCAyLCA0LCA3IGFuZCA5IGFyZSBjaG9zZW4KK2ZvciBrZXkgc2VhbGluZy4KKworQGV4YW1w bGUKK0Bncm91cAorIyBAa2Jke3Bjci1vcmFjbGUgLS1yc2EtZ2VuZXJhdGUta2V5IFwKKyAgICAg ICAgICAgICAtLXByaXZhdGUta2V5IHBvbGljeS1rZXkucGVtIFwKKyAgICAgICAgICAgICAtLWF1 dGggYXV0aG9yaXplZC5wb2xpY3kgXAorICAgICAgICAgICAgIGNyZWF0ZS1hdXRob3JpemVkLXBv bGljeSAwLDIsNCw3LDl9CitAZW5kIGdyb3VwCitAZW5kIGV4YW1wbGUKKworVGhlbiwgd2Ugc2Vh bCB0aGUgcmFuZG9tIGRpc2sga2V5LCBAZmlsZXtsdWtzLmtleX0sIHdpdGggdGhlIGF1dGhvcml6 ZWQKK3BvbGljeSBmaWxlIGFuZCBzYXZlIHRoZSBzZWFsZWQga2V5IGluIEBmaWxle3NlYWxlZC5r ZXl9LgorCitAZXhhbXBsZQorQGdyb3VwCisjIEBrYmR7cGNyLW9yYWNsZSAtLWtleS1mb3JtYXQg dHBtMi4wIFwKKyAgICAgICAgICAgICAtLWF1dGggYXV0aG9yaXplZC5wb2xpY3kgXAorICAgICAg ICAgICAgIC0taW5wdXQgbHVrcy5rZXkgXAorICAgICAgICAgICAgIC0tb3V0cHV0IHNlYWxlZC5r ZXkgXAorICAgICAgICAgICAgIHNlYWwtc2VjcmV0fQorQGVuZCBncm91cAorQGVuZCBleGFtcGxl CisKK1NpbmNlIHdlIG5vdyBoYXZlIHRoZSBzZWFsZWQga2V5LCB3ZSBjYW4gcmVtb3ZlIHRoZSBy YW5kb20gZGlzayBrZXkgZmlsZQorQGZpbGV7bHVrcy5rZXl9LgorCitUaGUgbGFzdCBzdGVwIGlz IHRvIHNpZ24gdGhlIHByZWRpY3RlZCBQQ1IgcG9saWN5IGFuZCBzYXZlIHRoZSBmaW5hbCBrZXkK K2ZpbGUsIEBmaWxle3NlYWxlZC50cG19LgorCitAZXhhbXBsZQorQGdyb3VwCisjIEBrYmR7cGNy LW9yYWNsZSAtLWtleS1mb3JtYXQgdHBtMi4wIFwKKyAgICAgICAgICAgICAtLXByaXZhdGUta2V5 IHBvbGljeS1rZXkucGVtIFwKKyAgICAgICAgICAgICAtLWZyb20gZXZlbnRsb2cgXAorICAgICAg ICAgICAgIC0tc3RvcC1ldmVudCAiZ3J1Yi1maWxlPWdydWIuY2ZnIiBcCisgICAgICAgICAgICAg LS1hZnRlciBcCisgICAgICAgICAgICAgLS1pbnB1dCBzZWFsZWQua2V5IFwKKyAgICAgICAgICAg ICAtLW91dHB1dCAvYm9vdC9lZmkvZWZpL2dydWIvc2VhbGVkLnRwbSBcCisgICAgICAgICAgICAg c2lnbiAwLDIsNCw3LDl9CitAZW5kIGdyb3VwCitAZW5kIGV4YW1wbGUKKworSGVyZSB3ZSBhbHNv IHNldCBhIHN0b3AgZXZlbnQgZm9yIHRoZSBwcmVkaWN0aW9uLiBXaXRoCitAa2Jkey0tc3RvcC1l dmVudCBncnViLWZpbGU9Z3J1Yi5jZmcgLS1hZnRlcn0sIEBjb21tYW5ke3Bjci1vcmFjbGV9IHN0 b3BzCit0aGUgY2FsY3VsYXRpb24gb2YgUENSIHZhbHVlcyByaWdodCBhZnRlciBHUlVCIGxvYWRz IEBmaWxle2dydWIuY2ZnfS4KKworV2hlbi9BZnRlciB0aGUgc2hpbSBvciBHUlVCIGFyZSB1cGRh dGVkLCBpdCBvbmx5IHJlcXVpcmVzIHRvIHJ1biB0aGUgbGFzdAorQGNvbW1hbmR7cGNyLW9yYWNs ZX0gY29tbWFuZCB0byB1cGRhdGUgdGhlIHByZWRpY3RlZCBQQ1IgcG9saWN5LgorCitAc3Vic2Vj dGlvbiBOViBpbmRleCBtb2RlCisKK0luc3RlYWQgb2Ygc3RvcmluZyB0aGUgc2VhbGVkIGtleSBp biBhIGZpbGUsIE5WIGluZGV4IG1vZGUgdXNlcyB0aGUgVFBNCitub24tdm9sYXRpbGUgbWVtb3J5 IHRvIHN0b3JlIHRoZSBzZWFsZWQga2V5LgorCitUaGUgZm9sbG93aW5nIHNhbXBsZSBjb21tYW5k cyB1c2UgdHBtMi10b29scyAoQHVybHtodHRwczovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90 cG0yLXRvb2xzfSkKK2NvbW1hbmRzIHRvIHNlYWwgQGZpbGV7bHVrcy5rZXl9IGludG8gdGhlIHNw ZWNpZmljIE5WIGluZGV4OiBAa2JkezB4ODEwMDAwMDB9LgorCitGaXJzdCwgd2UgbmVlZCB0byBj cmVhdGUgdGhlIG9iamVjdCBmaWxlIGZvciB0aGUgcHJpbWFyeSBrZXksIGkuZS4gc3RvcmFnZQor cm9vdCBrZXkgKFNSSykgd2l0aCB0aGUgZGVmYXVsdCBrZXkgc2V0dGluZ3MgaW4gR1JVQjogU0hB MjU2IGhhc2ggYWxnb3JpdGhtCithbmQgRUNDIGtleSBhbGdvcml0aG0uCisKK0BleGFtcGxlCisj IEBrYmR7dHBtMl9jcmVhdGVwcmltYXJ5IC1DIG8gLWcgc2hhMjU2IC1HIGVjYyAtYyBwcmltYXJ5 LmN0eH0KK0BlbmQgZXhhbXBsZQorCitUaGUgbmV4dCBjb21tYW5kcyBjb2xsZWN0IHRoZSBjdXJy ZW50IHZhbHVlcyBvZiBQQ1IgMCwgMiwgNCwgYW5kIDcgYW5kIHNhdmVzCit0aGVtIGluIEBmaWxl e3Bjci5kYXR9LgorCitAZXhhbXBsZQorIyBAa2Jke3RwbTJfc3RhcnRhdXRoc2Vzc2lvbiAtUyBz ZXNzaW9uLmRhdH0KKyMgQGtiZHt0cG0yX3BvbGljeXBjciAtUyBzZXNzaW9uLmRhdCAtbCBzaGEy NTY6MCwyLDQsNyAtZiBwY3JzLmRhdCAtTCBwb2xpY3kuZGF0fQorIyBAa2Jke3RwbTJfZmx1c2hj b250ZXh0IHNlc3Npb24uZGF0fQorQGVuZCBleGFtcGxlCisKK1RoZSBsYXN0IGNvbW1hbmRzIHNl YWwgQGZpbGV7bHVrcy5rZXl9IHdpdGggdGhlIHByaW1hcnkga2V5IGFuZCBzdG9yZXMgdGhlCity ZXN1bHQgaW4gQGtiZHsweDgxMDAwMDAwfS4KKworQGV4YW1wbGUKKyMgQGtiZHtjYXQgbHVrcy5r ZXkgfCB0cG0yX2NyZWF0ZSAtQyBwcmltYXJ5LmN0eCAtdSBrZXkucHViIC1yIGtleS5wcml2IC1M IHBvbGljeS5kYXQgLWktfQorIyBAa2Jke3RwbTJfbG9hZCAtQyBwcmltYXJ5LmN0eCAtdSBrZXku cHViIC1yIGtleS5wcml2IC1uIHNlYWxpbmcubmFtZSAtYyBzZWFsaW5nLmN0eH0KKyMgQGtiZHt0 cG0yX2V2aWN0Y29udHJvbCAtQyBvIC1jIHNlYWxpbmcuY3R4IDB4ODEwMDAwMDB9CitAZW5kIGV4 YW1wbGUKKworVG8gdW5zZWFsIHRoZSBrZXksIHdlIGhhdmUgdG8gc3BlY2lmeSB0aGUgbW9kZSBA a2Jke252fSwgdGhlIE5WIGluZGV4CitAa2JkezB4ODEwMDAwMDB9LCBhbmQgdGhlIFBDUnMgQGti ZHswLDIsNCw3fSBmb3IgdGhlIEBjb21tYW5ke3RwbTJfa2V5X3Byb3RlY3Rvcl9pbml0fQorY29t bWFuZC4KKworQGV4YW1wbGUKK2dydWI+IEBrYmR7dHBtMl9rZXlfcHJvdGVjdG9yX2luaXQgLS1t b2RlPW52IC0tbnZpbmRleD0weDgxMDAwMDAwIC0tcGNycz0wLDIsNCw3fQorZ3J1Yj4gQGtiZHtj cnlwdG9tb3VudCAtdSA8VVVJRD4gLS1wcm90ZWN0b3IgdHBtMn0KK0BlbmQgZXhhbXBsZQorCitA c3Vic2VjdGlvbiBTZXR0aW5nIHVwIHNvZnR3YXJlIFRQTSBmb3IgRU1VIHBsYXRmb3JtCisKK0lu IG9yZGVyIHRvIHRlc3QgVFBNMiBrZXkgcHJvdGVjdG9yIGFuZCBUUE0yIFNvZnR3YXJlIFN0YWNr IChUU1MyKSwgaXQgaXMKK3VzZWZ1bCB0byBzZXQgdXAgYSBzb2Z0d2FyZSBUUE0gKHN3dHBtKSBp bnN0YW5jZSBhbmQgcnVuIHRoZSBjb21tYW5kcyBvbiB0aGUKK0VNVSBwbGF0Zm9ybS4KKworSGVy ZSBhcmUgdGhlIGNvbW1hbmRzIHRvIHN0YXJ0IGEgc3d0cG0gaW5zdGFuY2Ugd2hpY2ggcHJvdmlk ZXMgYSBjaGFyYWN0ZXIKK2RldmljZSBpbnRlcmZhY2UuIFRvIHN0b3JlIHRoZSBUUE0gc3RhdGVz LCB0aGUgZGlyZWN0b3J5LCBAZmlsZXtzd3RwbS1zdGF0ZX0sCitpcyBjcmVhdGVkIGJlZm9yZSB0 aGUgQGNvbW1hbmR7c3d0cG19IGNvbW1hbmQuICBBbGwgdGhlIG1lc3NhZ2VzIGFyZSBzdG9yZWQK K2luIEBmaWxle3N3dHBtLmxvZ30gaW5jbHVkaW5nIHRoZSBuYW1lIG9mIHRoZSBjaGFyYWN0ZXIg ZGV2aWNlLgorCitAZXhhbXBsZQorIyBAa2Jke21rZGlyIHN3dHBtLXN0YXRlfQorQGdyb3VwCisj IEBrYmR7c3d0cG0gY2hhcmRldiAtLXZ0cG0tcHJveHkgLS10cG1zdGF0ZSBkaXI9c3d0cG0tc3Rh dGUgXAorICAgICAgICAtLXRwbTIgLS1jdHJsIHR5cGU9dW5peGlvLHBhdGg9InN3dHBtLXN0YXRl L2N0cmwiIFwKKyAgICAgICAgLS1mbGFncyBzdGFydHVwLWNsZWFyIC0tZGFlbW9uID4gc3d0cG0u bG9nfQorQGVuZCBncm91cAorQGVuZCBleGFtcGxlCisKK1RoZW4sIHdlIGV4dHJhY3QgdGhlIG5h bWUgb2YgdGhlIGNoYXJhY3RlciBkZXZpY2UgZnJvbSBAZmlsZXtzd3RwbS5sb2d9IGFuZAorc2F2 ZSBpdCB0byB0aGUgdmFyaWFibGUsIEBzYW1we3RwbTJkZXZ9LgorCitAZXhhbXBsZQorIyBAa2Jk e3RwbTJkZXY9JChncmVwICJOZXcgVFBNIGRldmljZSIgc3d0cG0ubG9nIHwgY3V0IC1kJyAnIC1m IDQpfQorQGVuZCBleGFtcGxlCisKK05vdyB3ZSBjYW4gc3RhcnQgQGtiZHtncnViLWVtdX0gd2l0 aCBAa2Jkey0tdHBtLWRldmljZSAkdHBtMmRldn0gdG8gaW50ZXJhY3QKK3dpdGggdGhlIHN3dHBt IGluc3RhbmNlLgorCitAZXhhbXBsZQorIyBAa2Jke2dydWItZW11IC0tdHBtLWRldmljZSAkdHBt MmRldn0KK0BlbmQgZXhhbXBsZQorCitPbiB0aGUgaG9zdCwgdGhlIHRwbTItdG9vbHMgY29tbWFu ZHMgY2FuIGludGVyYWN0IHdpdGggdGhlIHN3dHBtIGluc3RhbmNlIGJ5CitzZXR0aW5nIEBzYW1w e1RQTTJUT09MU19UQ1RJfS4KKworQGV4YW1wbGUKKyMgQGtiZHtleHBvcnQgVFBNMlRPT0xTX1RD VEk9ImRldmljZTokdHBtMmRldiJ9CitAZW5kIGV4YW1wbGUKKworV2hlbiB0aGUgdGVzdCBpcyBk b25lLCB1c2UgQGtiZHtzd3RwbV9pb2N0bH0gdG8gc2VuZCB0aGUgc2h1dGRvd24KK2NvbW1hbmQg dGhyb3VnaCB0aGUgc3d0cG0gY29udHJvbCBjaGFubmVsLgorCitAZXhhbXBsZQorIyBAa2Jke3N3 dHBtX2lvY3RsIC1zIC0tdW5peCBzd3RwbS1zdGF0ZS9jdHJsfQorQGVuZCBleGFtcGxlCisKIEBu b2RlIFBsYXRmb3JtIGxpbWl0YXRpb25zCiBAY2hhcHRlciBQbGF0Zm9ybSBsaW1pdGF0aW9ucwog CkBAIC05MjAxLDYgKzk1NjAsNyBAQCBib290YWJpbGl0eSBvbiBvdGhlciBtYWNoaW5lcy4KICog SW52b2tpbmcgZ3J1Yi1ta3Jlc2N1ZTo6ICAgICAgTWFrZSBhIEdSVUIgcmVzY3VlIGltYWdlCiAq IEludm9raW5nIGdydWItbW91bnQ6OiAgICAgICAgIE1vdW50IGEgZmlsZSBzeXN0ZW0gdXNpbmcg R1JVQgogKiBJbnZva2luZyBncnViLXByb2JlOjogICAgICAgICBQcm9iZSBkZXZpY2UgaW5mb3Jt YXRpb24gZm9yIEdSVUIKKyogSW52b2tpbmcgZ3J1Yi1wcm90ZWN0OjogICAgICAgUHJvdGVjdCBh IGRpc2sga2V5IHdpdGggYSBrZXkgcHJvdGVjdG9yCiAqIEludm9raW5nIGdydWItc2NyaXB0LWNo ZWNrOjogIENoZWNrIEdSVUIgc2NyaXB0IGZpbGUgZm9yIHN5bnRheCBlcnJvcnMKIEBlbmQgbWVu dQogCkBAIC05NTgzLDYgKzk5NDMsMTcxIEBAIFByaW50IHZlcmJvc2UgbWVzc2FnZXMuCiBAZW5k IHRhYmxlCiAKIAorQG5vZGUgSW52b2tpbmcgZ3J1Yi1wcm90ZWN0CitAc2VjdGlvbiBJbnZva2lu ZyBncnViLXByb3RlY3QKKworVGhlIHByb2dyYW0gQGNvbW1hbmR7Z3J1Yi1wcm90ZWN0fSBwcm90 ZWN0cyBhIGRpc2sgZW5jcnlwdGlvbiBrZXkgd2l0aAorYSBzcGVjaWZpZWQga2V5IHByb3RlY3Rv ci4KKworQHRhYmxlIEBvcHRpb24KK0BpdGVtIC0taGVscAorUHJpbnQgYSBzdW1tYXJ5IG9mIHRo ZSBjb21tYW5kLWxpbmUgb3B0aW9ucyBhbmQgZXhpdC4KKworQGl0ZW0gLS12ZXJzaW9uCitQcmlu dCB0aGUgdmVyc2lvbiBudW1iZXIgb2YgR1JVQiBhbmQgZXhpdC4KKworQGl0ZW0gLWEgYWRkfHJl bW92ZQorQGl0ZW14IC0tYWN0aW9uPWFkZHxyZW1vdmUKK0FkZCBvciByZW1vdmUgYSBrZXkgcHJv dGVjdG9yIHRvIG9yIGZyb20gYSBrZXkuCisKK0BpdGVtIC1wIEB2YXJ7cHJvdGVjdG9yfQorQGl0 ZW14IC0tcHJvdGVjdG9yPUB2YXJ7cHJvdGVjdG9yfQorU2V0IHRoZSBrZXkgcHJvdGVjdG9yLiBD dXJyZW50bHksIEBzYW1we3RwbTJ9IGlzIHRoZSBvbmx5IHN1cHBvcnRlZCBrZXkKK3Byb3RlY3Rv ci4KKworQGl0ZW0gLS10cG0yLWFzeW1tZXRyaWM9QHZhcnt0eXBlfQorQ2hvb3NlIHRoZSB0aGUg dHlwZSBvZiBTUksuIFRoZSB2YWxpZCBvcHRpb25zIGFyZSBAc2FtcHtSU0F9IChAc2FtcHtSU0Ey MDQ4fSkKK2FuZCBAc2FtcHtFQ0N9IChAc2FtcHtFQ0NfTklTVF9QMjU2fSkuKGRlZmF1bHQ6IEBz YW1we0VDQ30pCisKK0BpdGVtIC0tdHBtMi1iYW5rPUB2YXJ7YWxnfQorQ2hvb3NlIGJhbmsgb2Yg UENScyB1c2VkIHRvIGF1dGhvcml6ZSBrZXkgcmVsZWFzZTogQHNhbXB7U0hBMX0sIEBzYW1we1NI QTI1Nn0sCitAc2FtcHtTSEEzODR9LCBvciBAc2FtcHtTSEE1MTJ9LiAoZGVmYXVsdDogQHNhbXB7 U0hBMjU2fSkKKworQGl0ZW0gLS10cG0yLWRldmljZT1AdmFye2RldmljZX0KK1NldCB0aGUgcGF0 aCB0byB0aGUgVFBNMiBkZXZpY2UuIChkZWZhdWx0OiBAc2FtcHsvZGV2L3RwbTB9KQorCitAaXRl bSAtLXRwbTItZXZpY3QKK0V2aWN0IGEgcHJldmlvdXNseSBwZXJzaXN0ZWQgU1JLIGZyb20gdGhl IFRQTSwgaWYgYW55LgorCitAaXRlbSAtLXRwbTIta2V5ZmlsZT1AdmFye2ZpbGV9CitTZXQgdGhl IHBhdGggdG8gYSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIGNsZWFydGV4dCBrZXkgdG8gcHJvdGVj dC4KKworQGl0ZW0gLS10cG0yLW91dGZpbGU9QHZhcntmaWxlfQorU2V0IHRoZSBwYXRoIHRvIHRo ZSBmaWxlIHRoYXQgd2lsbCBjb250YWluIHRoZSBrZXkgYWZ0ZXIgc2VhbGluZworKG11c3QgYmUg YWNjZXNzaWJsZSB0byBHUlVCIGR1cmluZyBib290KS4KKworQGl0ZW0gLS10cG0yLXBjcnM9QHZh cntwY3JzfQorU2V0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgUENScyB1c2VkIHRvIGF1dGhv cml6ZSBrZXkgcmVsZWFzZSBlLmcuLCBAc2FtcHs3LDExfS4KK1BsZWFzZSBiZSBhd2FyZSB0aGF0 IFBDUiAwfjcgYXJlIHVzZWQgYnkgdGhlIGZpcm13YXJlIGFuZCB0aGUgbWVhc3VyZW1lbnQgcmVz dWx0CittYXkgY2hhbmdlIGFmdGVyIGEgZmlybXdhcmUgdXBkYXRlIChmb3IgYmFyZW1ldGFsIHN5 c3RlbXMpIG9yIGEgcGFja2FnZQorKE9WTUYvU0xPRikgdXBkYXRlIGluIHRoZSBWTSBob3N0LiBU aGlzIG1heSBsZWFkIHRvIHRoZSBmYWlsdXJlIG9mIGtleQordW5zZWFsaW5nLiAoZGVmYXVsdDog QHNhbXB7N30pCisKK0BpdGVtIC0tdHBtMi1zcms9QHZhcntoYW5kbGV9CitTZXQgdGhlIFNSSyBo YW5kbGUsIGUuZy4gQHNhbXB7MHg4MTAwMDAwMH0sIGlmIHRoZSBTUksgaXMgdG8gYmUgbWFkZSBw ZXJzaXN0ZW50LgorCitAaXRlbSAtLXRwbTJrZXkKK1VzZSBUUE0gMi4wIEtleSBGaWxlIGZvcm1h dC4KKworQGVuZCB0YWJsZQorCitCZWZvcmUgc2VhbGluZyB0aGUga2V5LCBwbGVhc2UgY2hlY2sg dGhlIFRQTSBQQ1IgdXNhZ2UKKyhAcHhyZWZ7VFBNMiBrZXkgcHJvdGVjdG9yLCBUUE0gUENSIHVz YWdlfSkgdG8gY2hvb3NlIGEgcHJvcGVyIHNldCBvZiBQQ1JzLgorCitBc3N1bWUgdGhhdCB0aGVy ZSBpcyBhIGtleSBmaWxlLCBAZmlsZXtsdWtzLmtleX0sIHRvIGJlIHNlYWxlZCB3aXRoIFBDUiAw LCAyLAorNCwgYW5kIDcsIGFuZCBoZXJlIGlzIHRoZSBAY29tbWFuZHtncnViLXByb3RlY3R9IGNv bW1hbmQgdG8gY3JlYXRlIHRoZSBzZWFsZWQKK2tleSBmaWxlOgorCitAZXhhbXBsZQorQGdyb3Vw CisjIEBrYmR7Z3J1Yi1wcm90ZWN0IC0tYWN0aW9uPWFkZCBcCisgICAgICAgICAgICAgICAtLXBy b3RlY3Rvcj10cG0yIFwKKyAgICAgICAgICAgICAgIC0tdHBtMi1wY3JzPTAsMiw0LDcgXAorICAg ICAgICAgICAgICAgLS10cG0ya2V5IFwKKyAgICAgICAgICAgICAgIC0tdHBtMi1rZXlmaWxlPWx1 a3Mua2V5IFwKKyAgICAgICAgICAgICAgIC0tdHBtMi1vdXRmaWxlPS9ib290L2VmaS9lZmkvZ3J1 Yi9zZWFsZWQudHBtfQorQGVuZCBncm91cAorQGVuZCBleGFtcGxlCisKK1RoZW4sIEdSVUIgY2Fu IHVubG9jayB0aGUgdGFyZ2V0IHBhcnRpdGlvbiB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZHM6 CisKK0BleGFtcGxlCitncnViPiBAa2Jke3RwbTJfa2V5X3Byb3RlY3Rvcl9pbml0IC1UIChoZDAs Z3B0MSkvZWZpL2dydWIvc2VhbGVkLnRwbX0KK2dydWI+IEBrYmR7Y3J5cHRvbW91bnQgLXUgPFVV SUQ+IC1QIHRwbTJ9CitAZW5kIGV4YW1wbGUKKworSW4gbW9zdCBvZiBjYXNlcywgdGhlIHVzZXIg b25seSBuZWVkcyB0byBjcmVhdGUgdGhlIGtleSB3aXRoIHRoZSBgYWRkJyBhY3Rpb24uCitJZiBh dXRvLXVubG9ja2luZyBpcyB1bndhbnRlZCwganVzdCByZW1vdmUgdGhlIGZpbGUgYW5kIHRoZQor QGNvbW1hbmR7dHBtMl9rZXlfcHJvdGVjdG9yX2luaXR9IGNvbW1hbmQgYW5kIGludm9rZSB0aGUg QGNvbW1hbmR7Y3J5cHRvbW91bnR9Citjb21tYW5kIHdpdGhvdXQgQGtiZHstUCB0cG0yfS4KKwor VGhlIG9ubHkgdXNlIGNhc2UgZm9yIHRoZSBgcmVtb3ZlJyBhY3Rpb24gaXMgd2hlbiB0aGUgU1JL IGlzIG1hZGUgcGVyc2lzdGVudC4KKworVGhlcmUgYXJlIHR3byBzdXBwb3J0ZWQgU1JLcyBpbiBA Y29tbWFuZHtncnViLXByb3RlY3R9OiBAc2FtcHtSU0F9IGFuZCBAc2FtcHtFQ0N9LgorRHVlIHRv IHNsb3dlciBrZXkgZ2VuZXJhdGlvbiwgc29tZSB1c2VycyBvZiB0aGUgQHNhbXB7UlNBfSBTUksg bWF5IHByZWZlcgorbWFraW5nIGl0IHBlcnNpc3RlbnQgc28gdGhhdCB0aGUgVFBNIGNhbiBza2lw IHRoZSBTUksgZ2VuZXJhdGlvbiB3aGVuIEdSVUIgdHJpZXMKK3RvIHVuc2VhbCB0aGUga2V5Lgor CitUaGUgYXZhaWxhYmxlIHBlcnNpc3RlbnQgaGFuZGxlcyBjYW4gYmUgY2hlY2tlZCB3aXRoIEBj b21tYW5ke3RwbTJfZ2V0Y2FwfS4KKworQGV4YW1wbGUKK0Bncm91cAorIyBAa2Jke3RwbTJfZ2V0 Y2FwIHByb3BlcnRpZXMtdmFyaWFibGV9CisuLi4KK1RQTTJfUFRfSFJfUEVSU0lTVEVOVDogMHgw CitUUE0yX1BUX0hSX1BFUlNJU1RFTlRfQVZBSUw6IDB4NDEKKy4uLgorQGVuZCBncm91cAorQGVu ZCBleGFtcGxlCisKK0luIHRoaXMgc3lzdGVtLCB0aGVyZSBpcyBubyBwZXJzaXN0ZW50IGhhbmRs ZS4gQSBUUE0gaGFuZGxlIGlzIGFuIHVuc2lnbmVkCiszMi1iaXQgaW50ZWdlciwgYW5kIHRoZSBw ZXJzaXN0ZW50IGhhbmRsZXMgc3RhcnRzIHdpdGggQHNhbXB7MHg4MX0uIEhlcmUKK3dlIGNob29z ZSB0aGUgd2VsbC1rbm93biBwZXJzaXN0ZW50IGhhbmRsZTogQHNhbXB7MHg4MTAwMDAwMH0uCisK K0BleGFtcGxlCitAZ3JvdXAKKyMgQGtiZHtncnViLXByb3RlY3QgLS1hY3Rpb249YWRkIFwKKyAg ICAgICAgICAgICAgIC0tcHJvdGVjdG9yPXRwbTIgXAorICAgICAgICAgICAgICAgLS10cG0yLXBj cnM9MCwyLDQsNyBcCisgICAgICAgICAgICAgICAtLXRwbTItYXN5bW1ldHJpYz1SU0EgXAorICAg ICAgICAgICAgICAgLS10cG0yLXNyaz0weDgxMDAwMDAwIFwKKyAgICAgICAgICAgICAgIC0tdHBt MmtleSBcCisgICAgICAgICAgICAgICAtLXRwbTIta2V5ZmlsZT1sdWtzLmtleSBcCisgICAgICAg ICAgICAgICAtLXRwbTItb3V0ZmlsZT0vYm9vdC9lZmkvZWZpL2dydWIvc2VhbGVkLnRwbX0KK0Bl bmQgZ3JvdXAKK0BlbmQgZXhhbXBsZQorCitUaGUgYWRkaXRpb25hbCBAa2Jkey0tdHBtMi1hc3lt bWV0cmljPVJTQX0gYW5kIEBrYmR7LS10cG0yLXNyaz0weDgxMDAwMDAwfQorb3B0aW9ucyBhcmUg dXNlZCB0byBtYWtlIHRoZSBrZXkgc2VhbGVkIHdpdGggdGhlIFJTQSBTUksgYW5kIHN0b3JlIHRo ZSBTUksKK2luIEBzYW1wezB4ODEwMDAwMDB9LgorCitGb3IgdGhlIEBjb21tYW5ke3RwbTJfa2V5 X3Byb3RlY3Rvcl9pbml0fSBjb21tYW5kLCB0aGUgYWRkaXRpb25hbCBAa2Jkey1zIDB4ODEwMDAw MDB9CitpbmZvcm1zIHRoZSBUUE0yIGtleSBwcm90ZWN0b3IgdG8gZmV0Y2ggdGhlIFNSSyBmcm9t IEBzYW1wezB4ODEwMDAwMDB9LgorCitAZXhhbXBsZQorZ3J1Yj4gQGtiZHt0cG0yX2tleV9wcm90 ZWN0b3JfaW5pdCAtcyAweDgxMDAwMDAwIC1UIChoZDAsZ3B0MSkvZWZpL2dydWIvc2VhbGVkLnRw bX0KK2dydWI+IEBrYmR7Y3J5cHRvbW91bnQgLXUgPFVVSUQ+IC1QIHRwbTJ9CitAZW5kIGV4YW1w bGUKKworQWZ0ZXIgbWFraW5nIHRoZSBTUksgaGFuZGxlIHBlcnNpc3RlbnQsIHdlIGNhbiBjaGVj ayB0aGUgc3RhdHVzIG9mIHRoZQorcGVyc2lzdGVudCBoYW5kbGVzIHdpdGggQGNvbW1hbmR7dHBt Ml9nZXRjYXB9LgorCitAZXhhbXBsZQorQGdyb3VwCisjIEBrYmR7dHBtMl9nZXRjYXAgcHJvcGVy dGllcy12YXJpYWJsZX0KKy4uLgorVFBNMl9QVF9IUl9QRVJTSVNURU5UOiAweDEKK1RQTTJfUFRf SFJfUEVSU0lTVEVOVF9BVkFJTDogMHg0MAorLi4uCisjIEBrYmR7dHBtMl9nZXRjYXAgaGFuZGxl cy1wZXJzaXN0ZW50fQorLSAweDgxMDAwMDAwCitAZW5kIGdyb3VwCitAZW5kIGV4YW1wbGUKKwor VGhlIHNlYWxlZCBrZXkgY2FuIGJlIHJlbW92ZWQgb25jZSB0aGUgdXNlciBkb2VzIG5vdCB3YW50 IHRvIHVzZSB0aGUgVFBNMiBrZXkKK3Byb3RlY3RvciBhbnltb3JlLiBIZXJlIGlzIHRoZSBjb21t YW5kIHRvIHJlbW92ZSB0aGUgcGVyc2lzdGVudCBTUksgaGFuZGxlCisoQHNhbXB7MHg4MTAwMDAw MH0pIHdpdGggQGtiZHstLXRwbTItc3JrfSBhbmQgQGtiZHstLXRwbTItZXZpY3R9LgorCitAZXhh bXBsZQorQGdyb3VwCisjIEBrYmR7Z3J1Yi1wcm90ZWN0IC0tYWN0aW9uPXJlbW92ZSBcCisgICAg ICAgICAgICAgICAtLXByb3RlY3Rvcj10cG0yIFwKKyAgICAgICAgICAgICAgIC0tdHBtMi1zcmsg MHg4MTAwMDAwMCBcCisgICAgICAgICAgICAgICAtLXRwbTItZXZpY3R9CitAZW5kIGdyb3VwCitA ZW5kIGV4YW1wbGUKKworCiBAbm9kZSBJbnZva2luZyBncnViLXNjcmlwdC1jaGVjawogQHNlY3Rp b24gSW52b2tpbmcgZ3J1Yi1zY3JpcHQtY2hlY2sKIAotLSAKMi40My4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxp c3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2dydWItZGV2ZWwK