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=-9.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 CF446ECE58E for ; Mon, 7 Oct 2019 15:13:42 +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 970302070B for ; Mon, 7 Oct 2019 15:13:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KLXY1j1E" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 970302070B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none 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 1iHUhT-0006i4-Rq; Mon, 07 Oct 2019 15:13:27 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iHUhS-0006hn-N1 for xen-devel@lists.xenproject.org; Mon, 07 Oct 2019 15:13:26 +0000 X-Inumbo-ID: fe612460-e914-11e9-9bee-bc764e2007e4 Received: from mail-qt1-x834.google.com (unknown [2607:f8b0:4864:20::834]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id fe612460-e914-11e9-9bee-bc764e2007e4; Mon, 07 Oct 2019 15:13:18 +0000 (UTC) Received: by mail-qt1-x834.google.com with SMTP id j31so19656605qta.5 for ; Mon, 07 Oct 2019 08:13:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ygcqn4Ay4EKoqcWvtyBpccbSOXzI7BCo+TnvgE4ius0=; b=KLXY1j1EsxsK0Vjqe3tafxSQDpnKMbKRXF4mBuUhmY2m9nKNohVDTtF5ETvzt9EHPc AUS5MwMIOJspwFQqR0WpTd0Fmofw8XfziPmsNu6NRo7f25jxc0gEcmpf3jTmjp6UK6Gg 66m2tI6tr3ZCyN2ovhxtiPebw/50N0VIOiD2hVwR0ZVIcKfWArqc0OYrPerVfHRLASLq v9PgLAepyzCWKa1YBgF85M9Ejq3UiY+emLQYUsxorRTZ3Xolt2C5HnDE+ekky0a9qiW8 MYjr93iqlWXCGDeLSzN5kBBwT4FwWaevDAwflu6pG7NFv30pM9aiGCSWGASDIQAbZEWm ZkwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ygcqn4Ay4EKoqcWvtyBpccbSOXzI7BCo+TnvgE4ius0=; b=H9w18XH/7pZnOmWwKZUIwgdSJd/c1BGP5N5UZKjdXcOzgysG66yFCc0fc9KOFHwXJM fpemmH7fq556YTEbd9BsKOiTIu6yQJd3IerCKHKy54hs82gdx4m0X//J29FU5qsCCfqH bNmncgBgxuIOsCavD5nzfs8quJP+6/+CpZdMKmGJpkv3acbTkxoNmnx8oyN34FEpK6qp rL+4KedlUfgCmEp70lJ1fo3MM3cEVZRbvA96aiGo9VhR10Tzt6SLI5fD2BFVi7pOdtlc ZEpXrteA+XyX3pFZrXKy4OAStZp5jgqucen3LeM6fGqYmftytnF35v5ht1P8ekJaG0IA K/Fw== X-Gm-Message-State: APjAAAVUcLOreu9WyAS5jDxS59qLhORREZ2vERUUia/a2EJ44Wz2t+Tr ZDacI+X8HOAqEffSw9R3f9Zll34j X-Google-Smtp-Source: APXvYqwjxTFNyxtaTfsHCNJ+ZDGdp2kgc7wJrIs3b1drpIjR0/3w60W33snINke9VkVUotEI1r8J2w== X-Received: by 2002:a0c:e948:: with SMTP id n8mr27126177qvo.113.1570461198040; Mon, 07 Oct 2019 08:13:18 -0700 (PDT) Received: from five.crux.rad.ainfosec.com (209-217-208-226.northland.net. [209.217.208.226]) by smtp.googlemail.com with ESMTPSA id c185sm8354313qkg.74.2019.10.07.08.13.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Oct 2019 08:13:17 -0700 (PDT) From: Nick Rosbrook To: xen-devel@lists.xenproject.org Date: Mon, 7 Oct 2019 11:12:49 -0400 Message-Id: <2bef5bfd9cc33260be663b84d2b813f28f0f3c47.1570456846.git.rosbrookn@ainfosec.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: References: MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 02/24] golang/xenlight: generate enum types from IDL 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: Nick Rosbrook , Ian Jackson , kerriganb@ainfosec.com, George Dunlap , Wei Liu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogTmljayBSb3Nicm9vayA8cm9zYnJvb2tuQGFpbmZvc2VjLmNvbT4KCkludHJvZHVjZSBn ZW5nb3R5cGVzLnB5IHRvIGdlbmVyYXRlIEdvIGNvZGUgdGhlIGZyb20gSURMLiBBcyBhIGZpcnN0 IHN0ZXAsCmltcGxlbWVudCAnZW51bScgdHlwZSBnZW5lcmF0aW9uLgoKQXMgYSByZXN1bHQgb2Yg dGhlIG5ld2x5LWdlbmVyYXRlZCBjb2RlLCByZW1vdmUgdGhlIGV4aXN0aW5nLCBhbmQgbm93CmNv bmZsaWN0aW5nIGRlZmluaXRpb25zIGluIHhlbmxpZ2h0LmdvLiBJbiB0aGUgY2FzZSBvZiB0aGUg RXJyb3IgdHlwZSwKcmVuYW1lIHRoZSBzbGljZSAnZXJyb3JzJyB0byAnbGlieGxFcnJvcnMnIHNv IHRoYXQgaXQgZG9lcyBub3QgY29uZmxpY3QKd2l0aCB0aGUgc3RhbmRhcmQgbGlicmFyeSBwYWNr YWdlICdlcnJvcnMuJyBBbmQsIG5lZ2F0ZSB0aGUgdmFsdWVzIHVzZWQKaW4gJ2xpYnhsRXJyb3Jz JyBzaW5jZSB0aGUgZ2VuZXJhdGVkIGVycm9yIHZhbHVlcyBhcmUgbmVnYXRpdmUuCgpTaWduZWQt b2ZmLWJ5OiBOaWNrIFJvc2Jyb29rIDxyb3Nicm9va25AYWluZm9zZWMuY29tPgotLS0KQ2M6IEdl b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxp YW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogV2VpIExpdSA8d2xAeGVuLm9yZz4KCiB0b29s cy9nb2xhbmcveGVubGlnaHQvZ2VuZ290eXBlcy5weSAgICAgfCAxMDkgKysrKysrKwogdG9vbHMv Z29sYW5nL3hlbmxpZ2h0L3hlbmxpZ2h0LmdvICAgICAgIHwgMTQwICsrLS0tLS0tLQogdG9vbHMv Z29sYW5nL3hlbmxpZ2h0L3hlbmxpZ2h0X3R5cGVzLmdvIHwgMzc4ICsrKysrKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA1MTUgaW5zZXJ0aW9ucygrKSwgMTEyIGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL2dvbGFuZy94ZW5saWdodC9nZW5nb3R5cGVz LnB5CiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L3hlbmxpZ2h0X3R5 cGVzLmdvCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L2dlbmdvdHlwZXMucHkg Yi90b29scy9nb2xhbmcveGVubGlnaHQvZ2VuZ290eXBlcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi41OTMwNzQ5MmNiCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMv Z29sYW5nL3hlbmxpZ2h0L2dlbmdvdHlwZXMucHkKQEAgLTAsMCArMSwxMDkgQEAKKyMhL3Vzci9i aW4vcHl0aG9uCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitzeXMucGF0aC5hcHBlbmQoJ3t9 L3Rvb2xzL2xpYnhsJy5mb3JtYXQob3MuZW52aXJvblsnWEVOX1JPT1QnXSkpCitpbXBvcnQgaWRs CisKKyMgR28gdmVyc2lvbnMgb2Ygc29tZSBidWlsdGluIHR5cGVzLgorIyBBcHBlbmQgdGhlIGxp YnhsLWRlZmluZWQgYnVpbHRpbnMgYWZ0ZXIgSURMIHBhcnNpbmcuCitidWlsdGluX3R5cGVfbmFt ZXMgPSB7CisgICAgaWRsLmJvb2wudHlwZW5hbWU6ICdib29sJywKKyAgICBpZGwuc3RyaW5nLnR5 cGVuYW1lOiAnc3RyaW5nJywKKyAgICBpZGwuaW50ZWdlci50eXBlbmFtZTogJ2ludCcsCisgICAg aWRsLnVpbnQ4LnR5cGVuYW1lOiAnYnl0ZScsCisgICAgaWRsLnVpbnQxNi50eXBlbmFtZTogJ3Vp bnQxNicsCisgICAgaWRsLnVpbnQzMi50eXBlbmFtZTogJ3VpbnQzMicsCisgICAgaWRsLnVpbnQ2 NC50eXBlbmFtZTogJ3VpbnQ2NCcsCit9CisKK2RlZiB4ZW5saWdodF9nb2xhbmdfZ2VuZXJhdGVf dHlwZXMocGF0aCA9IE5vbmUsIHR5cGVzID0gTm9uZSwgY29tbWVudCA9IE5vbmUpOgorICAgICIi IgorICAgIEdlbmVyYXRlIGEgLmdvIGZpbGUgKHhlbmxpZ2h0X3R5cGVzLmdvIGJ5IGRlZmF1bHQp CisgICAgdGhhdCBjb250YWlucyBhIEdvIHR5cGUgZm9yIGVhY2ggdHlwZSBpbiB0eXBlcy4KKyAg ICAiIiIKKyAgICBpZiBwYXRoIGlzIE5vbmU6CisgICAgICAgIHBhdGggPSAneGVubGlnaHRfdHlw ZXMuZ28nCisKKyAgICB3aXRoIG9wZW4ocGF0aCwgJ3cnKSBhcyBmOgorICAgICAgICBpZiBjb21t ZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZi53cml0ZShjb21tZW50KQorICAgICAgICBm LndyaXRlKCdwYWNrYWdlIHhlbmxpZ2h0XG4nKQorCisgICAgICAgIGZvciB0eSBpbiB0eXBlczoK KyAgICAgICAgICAgIGYud3JpdGUoeGVubGlnaHRfZ29sYW5nX3R5cGVfZGVmaW5lKHR5KSkKKyAg ICAgICAgICAgIGYud3JpdGUoJ1xuJykKKworICAgIGdvX2ZtdChwYXRoKQorCitkZWYgeGVubGln aHRfZ29sYW5nX3R5cGVfZGVmaW5lKHR5ID0gTm9uZSk6CisgICAgcyA9ICcnCisKKyAgICBpZiBp c2luc3RhbmNlKHR5LCBpZGwuRW51bWVyYXRpb24pOgorICAgICAgICBzICs9IHhlbmxpZ2h0X2dv bGFuZ19kZWZpbmVfZW51bSh0eSkKKworICAgIHJldHVybiBzCisKK2RlZiB4ZW5saWdodF9nb2xh bmdfZGVmaW5lX2VudW0odHkgPSBOb25lKToKKyAgICBzID0gJycKKyAgICB0eXBlbmFtZSA9ICcn CisKKyAgICBpZiB0eS50eXBlbmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgdHlwZW5hbWUgPSB4 ZW5saWdodF9nb2xhbmdfZm10X25hbWUodHkudHlwZW5hbWUpCisgICAgICAgIHMgKz0gJ3R5cGUg e30gaW50XG4nLmZvcm1hdCh0eXBlbmFtZSkKKworICAgICMgU3RhcnQgY29uc3QgYmxvY2sKKyAg ICBzICs9ICdjb25zdChcbicKKworICAgIGZvciB2IGluIHR5LnZhbHVlczoKKyAgICAgICAgbmFt ZSA9IHhlbmxpZ2h0X2dvbGFuZ19mbXRfbmFtZSh2Lm5hbWUpCisgICAgICAgIHMgKz0gJ3t9IHt9 ID0ge31cbicuZm9ybWF0KG5hbWUsIHR5cGVuYW1lLCB2LnZhbHVlKQorCisgICAgIyBFbmQgY29u c3QgYmxvY2sKKyAgICBzICs9ICcpXG4nCisKKyAgICByZXR1cm4gcworCitkZWYgeGVubGlnaHRf Z29sYW5nX2ZtdF9uYW1lKG5hbWUsIGV4cG9ydGVkID0gVHJ1ZSk6CisgICAgIiIiCisgICAgVGFr ZSBhIGdpdmVuIHR5cGUgbmFtZSBhbmQgcmV0dXJuIGFuCisgICAgYXBwcm9wcmlhdGUgR28gdHlw ZSBuYW1lLgorICAgICIiIgorICAgIGlmIG5hbWUgaW4gYnVpbHRpbl90eXBlX25hbWVzLmtleXMo KToKKyAgICAgICAgcmV0dXJuIGJ1aWx0aW5fdHlwZV9uYW1lc1tuYW1lXQorCisgICAgIyBOYW1l IGlzIG5vdCBhIGJ1aWx0aW4sIGZvcm1hdCBpdCBmb3IgR28uCisgICAgd29yZHMgPSBuYW1lLnNw bGl0KCdfJykKKworICAgICMgUmVtb3ZlICdsaWJ4bCcgcHJlZml4CisgICAgaWYgd29yZHNbMF0u bG93ZXIoKSA9PSAnbGlieGwnOgorICAgICAgICB3b3Jkcy5yZW1vdmUod29yZHNbMF0pCisKKyAg ICBpZiBleHBvcnRlZDoKKyAgICAgICAgcmV0dXJuICcnLmpvaW4oeC50aXRsZSgpIGZvciB4IGlu IHdvcmRzKQorCisgICAgcmV0dXJuIHdvcmRzWzBdICsgJycuam9pbih4LnRpdGxlKCkgZm9yIHgg aW4gd29yZHNbMTpdKQorCitkZWYgZ29fZm10KHBhdGgpOgorICAgICIiIiBDYWxsIGdvIGZtdCBv biB0aGUgZ2l2ZW4gcGF0aC4gIiIiCisgICAgb3Muc3lzdGVtKCdnbyBmbXQge30nLmZvcm1hdChw YXRoKSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBpZGxuYW1lID0gc3lzLmFy Z3ZbMV0KKworICAgIChidWlsdGlucywgdHlwZXMpID0gaWRsLnBhcnNlKGlkbG5hbWUpCisKKyAg ICBmb3IgYiBpbiBidWlsdGluczoKKyAgICAgICAgbmFtZSA9IGIudHlwZW5hbWUKKyAgICAgICAg YnVpbHRpbl90eXBlX25hbWVzW25hbWVdID0geGVubGlnaHRfZ29sYW5nX2ZtdF9uYW1lKG5hbWUp CisKKyAgICBoZWFkZXJfY29tbWVudD0iIiIvLyBETyBOT1QgRURJVC4KKyAgICAvLworICAgIC8v IFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnk6CisgICAgLy8ge30KKyAgICAvLworICAgICIiIi5m b3JtYXQoJyAnLmpvaW4oc3lzLmFyZ3YpKQorCisgICAgeGVubGlnaHRfZ29sYW5nX2dlbmVyYXRl X3R5cGVzKHR5cGVzPXR5cGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b21tZW50PWhlYWRlcl9jb21tZW50KQpkaWZmIC0tZ2l0IGEvdG9vbHMvZ29sYW5nL3hlbmxpZ2h0 L3hlbmxpZ2h0LmdvIGIvdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L3hlbmxpZ2h0LmdvCmluZGV4IDU5 YjgxODZhNjQuLmU2MTdmMjJmY2YgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2dvbGFuZy94ZW5saWdodC94 ZW5saWdodC5nbworKysgYi90b29scy9nb2xhbmcveGVubGlnaHQveGVubGlnaHQuZ28KQEAgLTM3 LDc3ICszNyw0MiBAQCBpbXBvcnQgKAogCSJ1bnNhZmUiCiApCiAKLS8qCi0gKiBFcnJvcnMKLSAq LwotCi10eXBlIEVycm9yIGludAotCi1jb25zdCAoCi0JRXJyb3JOb25zcGVjaWZpYyAgICAgICAg ICAgICAgICAgID0gRXJyb3IoLUMuRVJST1JfTk9OU1BFQ0lGSUMpCi0JRXJyb3JWZXJzaW9uICAg ICAgICAgICAgICAgICAgICAgID0gRXJyb3IoLUMuRVJST1JfVkVSU0lPTikKLQlFcnJvckZhaWwg ICAgICAgICAgICAgICAgICAgICAgICAgPSBFcnJvcigtQy5FUlJPUl9GQUlMKQotCUVycm9yTmkg ICAgICAgICAgICAgICAgICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX05JKQotCUVycm9yTm9t ZW0gICAgICAgICAgICAgICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX05PTUVNKQotCUVycm9y SW52YWwgICAgICAgICAgICAgICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX0lOVkFMKQotCUVy cm9yQmFkZmFpbCAgICAgICAgICAgICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX0JBREZBSUwp Ci0JRXJyb3JHdWVzdFRpbWVkb3V0ICAgICAgICAgICAgICAgID0gRXJyb3IoLUMuRVJST1JfR1VF U1RfVElNRURPVVQpCi0JRXJyb3JUaW1lZG91dCAgICAgICAgICAgICAgICAgICAgID0gRXJyb3Io LUMuRVJST1JfVElNRURPVVQpCi0JRXJyb3JOb3BhcmF2aXJ0ICAgICAgICAgICAgICAgICAgID0g RXJyb3IoLUMuRVJST1JfTk9QQVJBVklSVCkKLQlFcnJvck5vdFJlYWR5ICAgICAgICAgICAgICAg ICAgICAgPSBFcnJvcigtQy5FUlJPUl9OT1RfUkVBRFkpCi0JRXJyb3JPc2V2ZW50UmVnRmFpbCAg ICAgICAgICAgICAgID0gRXJyb3IoLUMuRVJST1JfT1NFVkVOVF9SRUdfRkFJTCkKLQlFcnJvckJ1 ZmZlcmZ1bGwgICAgICAgICAgICAgICAgICAgPSBFcnJvcigtQy5FUlJPUl9CVUZGRVJGVUxMKQot CUVycm9yVW5rbm93bkNoaWxkICAgICAgICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX1VOS05P V05fQ0hJTEQpCi0JRXJyb3JMb2NrRmFpbCAgICAgICAgICAgICAgICAgICAgID0gRXJyb3IoLUMu RVJST1JfTE9DS19GQUlMKQotCUVycm9ySnNvbkNvbmZpZ0VtcHR5ICAgICAgICAgICAgICA9IEVy cm9yKC1DLkVSUk9SX0pTT05fQ09ORklHX0VNUFRZKQotCUVycm9yRGV2aWNlRXhpc3RzICAgICAg ICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX0RFVklDRV9FWElTVFMpCi0JRXJyb3JDaGVja3Bv aW50RGV2b3BzRG9lc05vdE1hdGNoID0gRXJyb3IoLUMuRVJST1JfQ0hFQ0tQT0lOVF9ERVZPUFNf RE9FU19OT1RfTUFUQ0gpCi0JRXJyb3JDaGVja3BvaW50RGV2aWNlTm90U3VwcG9ydGVkID0gRXJy b3IoLUMuRVJST1JfQ0hFQ0tQT0lOVF9ERVZJQ0VfTk9UX1NVUFBPUlRFRCkKLQlFcnJvclZudW1h Q29uZmlnSW52YWxpZCAgICAgICAgICAgPSBFcnJvcigtQy5FUlJPUl9WTlVNQV9DT05GSUdfSU5W QUxJRCkKLQlFcnJvckRvbWFpbk5vdGZvdW5kICAgICAgICAgICAgICAgPSBFcnJvcigtQy5FUlJP Ul9ET01BSU5fTk9URk9VTkQpCi0JRXJyb3JBYm9ydGVkICAgICAgICAgICAgICAgICAgICAgID0g RXJyb3IoLUMuRVJST1JfQUJPUlRFRCkKLQlFcnJvck5vdGZvdW5kICAgICAgICAgICAgICAgICAg ICAgPSBFcnJvcigtQy5FUlJPUl9OT1RGT1VORCkKLQlFcnJvckRvbWFpbkRlc3Ryb3llZCAgICAg ICAgICAgICAgPSBFcnJvcigtQy5FUlJPUl9ET01BSU5fREVTVFJPWUVEKQotCUVycm9yRmVhdHVy ZVJlbW92ZWQgICAgICAgICAgICAgICA9IEVycm9yKC1DLkVSUk9SX0ZFQVRVUkVfUkVNT1ZFRCkK LSkKLQotdmFyIGVycm9ycyA9IFsuLi5dc3RyaW5newotCUVycm9yTm9uc3BlY2lmaWM6ICAgICAg ICAgICAgICAgICAgIk5vbi1zcGVjaWZpYyBlcnJvciIsCi0JRXJyb3JWZXJzaW9uOiAgICAgICAg ICAgICAgICAgICAgICAiV3JvbmcgdmVyc2lvbiIsCi0JRXJyb3JGYWlsOiAgICAgICAgICAgICAg ICAgICAgICAgICAiRmFpbGVkIiwKLQlFcnJvck5pOiAgICAgICAgICAgICAgICAgICAgICAgICAg ICJOb3QgSW1wbGVtZW50ZWQiLAotCUVycm9yTm9tZW06ICAgICAgICAgICAgICAgICAgICAgICAg Ik5vIG1lbW9yeSIsCi0JRXJyb3JJbnZhbDogICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxp ZCBhcmd1bWVudCIsCi0JRXJyb3JCYWRmYWlsOiAgICAgICAgICAgICAgICAgICAgICAiQmFkIEZh aWwiLAotCUVycm9yR3Vlc3RUaW1lZG91dDogICAgICAgICAgICAgICAgIkd1ZXN0IHRpbWVkIG91 dCIsCi0JRXJyb3JUaW1lZG91dDogICAgICAgICAgICAgICAgICAgICAiVGltZWQgb3V0IiwKLQlF cnJvck5vcGFyYXZpcnQ6ICAgICAgICAgICAgICAgICAgICJObyBQYXJhdmlydHVhbGl6YXRpb24i LAotCUVycm9yTm90UmVhZHk6ICAgICAgICAgICAgICAgICAgICAgIk5vdCByZWFkeSIsCi0JRXJy b3JPc2V2ZW50UmVnRmFpbDogICAgICAgICAgICAgICAiT1MgZXZlbnQgcmVnaXN0cmF0aW9uIGZh aWxlZCIsCi0JRXJyb3JCdWZmZXJmdWxsOiAgICAgICAgICAgICAgICAgICAiQnVmZmVyIGZ1bGwi LAotCUVycm9yVW5rbm93bkNoaWxkOiAgICAgICAgICAgICAgICAgIlVua25vd24gY2hpbGQiLAot CUVycm9yTG9ja0ZhaWw6ICAgICAgICAgICAgICAgICAgICAgIkxvY2sgZmFpbGVkIiwKLQlFcnJv ckpzb25Db25maWdFbXB0eTogICAgICAgICAgICAgICJKU09OIGNvbmZpZyBlbXB0eSIsCi0JRXJy b3JEZXZpY2VFeGlzdHM6ICAgICAgICAgICAgICAgICAiRGV2aWNlIGV4aXN0cyIsCi0JRXJyb3JD aGVja3BvaW50RGV2b3BzRG9lc05vdE1hdGNoOiAiQ2hlY2twb2ludCBkZXZvcHMgZG9lcyBub3Qg bWF0Y2giLAotCUVycm9yQ2hlY2twb2ludERldmljZU5vdFN1cHBvcnRlZDogIkNoZWNrcG9pbnQg ZGV2aWNlIG5vdCBzdXBwb3J0ZWQiLAotCUVycm9yVm51bWFDb25maWdJbnZhbGlkOiAgICAgICAg ICAgIlZOVU1BIGNvbmZpZyBpbnZhbGlkIiwKLQlFcnJvckRvbWFpbk5vdGZvdW5kOiAgICAgICAg ICAgICAgICJEb21haW4gbm90IGZvdW5kIiwKLQlFcnJvckFib3J0ZWQ6ICAgICAgICAgICAgICAg ICAgICAgICJBYm9ydGVkIiwKLQlFcnJvck5vdGZvdW5kOiAgICAgICAgICAgICAgICAgICAgICJO b3QgZm91bmQiLAotCUVycm9yRG9tYWluRGVzdHJveWVkOiAgICAgICAgICAgICAgIkRvbWFpbiBk ZXN0cm95ZWQiLAotCUVycm9yRmVhdHVyZVJlbW92ZWQ6ICAgICAgICAgICAgICAgIkZlYXR1cmUg cmVtb3ZlZCIsCit2YXIgbGlieGxFcnJvcnMgPSBbLi4uXXN0cmluZ3sKKwktRXJyb3JOb25zcGVj aWZpYzogICAgICAgICAgICAgICAgICAiTm9uLXNwZWNpZmljIGVycm9yIiwKKwktRXJyb3JWZXJz aW9uOiAgICAgICAgICAgICAgICAgICAgICAiV3JvbmcgdmVyc2lvbiIsCisJLUVycm9yRmFpbDog ICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCIsCisJLUVycm9yTmk6ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIk5vdCBJbXBsZW1lbnRlZCIsCisJLUVycm9yTm9tZW06ICAgICAgICAg ICAgICAgICAgICAgICAgIk5vIG1lbW9yeSIsCisJLUVycm9ySW52YWw6ICAgICAgICAgICAgICAg ICAgICAgICAgIkludmFsaWQgYXJndW1lbnQiLAorCS1FcnJvckJhZGZhaWw6ICAgICAgICAgICAg ICAgICAgICAgICJCYWQgRmFpbCIsCisJLUVycm9yR3Vlc3RUaW1lZG91dDogICAgICAgICAgICAg ICAgIkd1ZXN0IHRpbWVkIG91dCIsCisJLUVycm9yVGltZWRvdXQ6ICAgICAgICAgICAgICAgICAg ICAgIlRpbWVkIG91dCIsCisJLUVycm9yTm9wYXJhdmlydDogICAgICAgICAgICAgICAgICAgIk5v IFBhcmF2aXJ0dWFsaXphdGlvbiIsCisJLUVycm9yTm90UmVhZHk6ICAgICAgICAgICAgICAgICAg ICAgIk5vdCByZWFkeSIsCisJLUVycm9yT3NldmVudFJlZ0ZhaWw6ICAgICAgICAgICAgICAgIk9T IGV2ZW50IHJlZ2lzdHJhdGlvbiBmYWlsZWQiLAorCS1FcnJvckJ1ZmZlcmZ1bGw6ICAgICAgICAg ICAgICAgICAgICJCdWZmZXIgZnVsbCIsCisJLUVycm9yVW5rbm93bkNoaWxkOiAgICAgICAgICAg ICAgICAgIlVua25vd24gY2hpbGQiLAorCS1FcnJvckxvY2tGYWlsOiAgICAgICAgICAgICAgICAg ICAgICJMb2NrIGZhaWxlZCIsCisJLUVycm9ySnNvbkNvbmZpZ0VtcHR5OiAgICAgICAgICAgICAg IkpTT04gY29uZmlnIGVtcHR5IiwKKwktRXJyb3JEZXZpY2VFeGlzdHM6ICAgICAgICAgICAgICAg ICAiRGV2aWNlIGV4aXN0cyIsCisJLUVycm9yQ2hlY2twb2ludERldm9wc0RvZXNOb3RNYXRjaDog IkNoZWNrcG9pbnQgZGV2b3BzIGRvZXMgbm90IG1hdGNoIiwKKwktRXJyb3JDaGVja3BvaW50RGV2 aWNlTm90U3VwcG9ydGVkOiAiQ2hlY2twb2ludCBkZXZpY2Ugbm90IHN1cHBvcnRlZCIsCisJLUVy cm9yVm51bWFDb25maWdJbnZhbGlkOiAgICAgICAgICAgIlZOVU1BIGNvbmZpZyBpbnZhbGlkIiwK KwktRXJyb3JEb21haW5Ob3Rmb3VuZDogICAgICAgICAgICAgICAiRG9tYWluIG5vdCBmb3VuZCIs CisJLUVycm9yQWJvcnRlZDogICAgICAgICAgICAgICAgICAgICAgIkFib3J0ZWQiLAorCS1FcnJv ck5vdGZvdW5kOiAgICAgICAgICAgICAgICAgICAgICJOb3QgZm91bmQiLAorCS1FcnJvckRvbWFp bkRlc3Ryb3llZDogICAgICAgICAgICAgICJEb21haW4gZGVzdHJveWVkIiwKKwktRXJyb3JGZWF0 dXJlUmVtb3ZlZDogICAgICAgICAgICAgICAiRmVhdHVyZSByZW1vdmVkIiwKIH0KIAogZnVuYyAo ZSBFcnJvcikgRXJyb3IoKSBzdHJpbmcgewotCWlmIDAgPCBpbnQoZSkgJiYgaW50KGUpIDwgbGVu KGVycm9ycykgewotCQlzIDo9IGVycm9yc1tlXQorCWlmIDAgPCBpbnQoZSkgJiYgaW50KGUpIDwg bGVuKGxpYnhsRXJyb3JzKSB7CisJCXMgOj0gbGlieGxFcnJvcnNbZV0KIAkJaWYgcyAhPSAiIiB7 CiAJCQlyZXR1cm4gcwogCQl9CiAJfQogCXJldHVybiBmbXQuU3ByaW50ZigibGlieGwgZXJyb3I6 ICVkIiwgLWUpCi0KIH0KIAogLyoKQEAgLTIzNiwxOCArMjAxLDYgQEAgZnVuYyAoY2luZm8gKkMu bGlieGxfdmVyc2lvbl9pbmZvKSB0b0dvKCkgKGluZm8gKlZlcnNpb25JbmZvKSB7CiAJcmV0dXJu CiB9CiAKLXR5cGUgU2h1dGRvd25SZWFzb24gaW50MzIKLQotY29uc3QgKAotCVNodXRkb3duUmVh c29uVW5rbm93biAgID0gU2h1dGRvd25SZWFzb24oQy5MSUJYTF9TSFVURE9XTl9SRUFTT05fVU5L Tk9XTikKLQlTaHV0ZG93blJlYXNvblBvd2Vyb2ZmICA9IFNodXRkb3duUmVhc29uKEMuTElCWExf U0hVVERPV05fUkVBU09OX1BPV0VST0ZGKQotCVNodXRkb3duUmVhc29uUmVib290ICAgID0gU2h1 dGRvd25SZWFzb24oQy5MSUJYTF9TSFVURE9XTl9SRUFTT05fUkVCT09UKQotCVNodXRkb3duUmVh c29uU3VzcGVuZCAgID0gU2h1dGRvd25SZWFzb24oQy5MSUJYTF9TSFVURE9XTl9SRUFTT05fU1VT UEVORCkKLQlTaHV0ZG93blJlYXNvbkNyYXNoICAgICA9IFNodXRkb3duUmVhc29uKEMuTElCWExf U0hVVERPV05fUkVBU09OX0NSQVNIKQotCVNodXRkb3duUmVhc29uV2F0Y2hkb2cgID0gU2h1dGRv d25SZWFzb24oQy5MSUJYTF9TSFVURE9XTl9SRUFTT05fV0FUQ0hET0cpCi0JU2h1dGRvd25SZWFz b25Tb2Z0UmVzZXQgPSBTaHV0ZG93blJlYXNvbihDLkxJQlhMX1NIVVRET1dOX1JFQVNPTl9TT0ZU X1JFU0VUKQotKQotCiBmdW5jIChzciBTaHV0ZG93blJlYXNvbikgU3RyaW5nKCkgKHN0ciBzdHJp bmcpIHsKIAljc3RyIDo9IEMubGlieGxfc2h1dGRvd25fcmVhc29uX3RvX3N0cmluZyhDLmxpYnhs X3NodXRkb3duX3JlYXNvbihzcikpCiAJc3RyID0gQy5Hb1N0cmluZyhjc3RyKQpAQCAtMjU1LDE0 ICsyMDgsNiBAQCBmdW5jIChzciBTaHV0ZG93blJlYXNvbikgU3RyaW5nKCkgKHN0ciBzdHJpbmcp IHsKIAlyZXR1cm4KIH0KIAotdHlwZSBEb21haW5UeXBlIGludDMyCi0KLWNvbnN0ICgKLQlEb21h aW5UeXBlSW52YWxpZCA9IERvbWFpblR5cGUoQy5MSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEKQot CURvbWFpblR5cGVIdm0gICAgID0gRG9tYWluVHlwZShDLkxJQlhMX0RPTUFJTl9UWVBFX0hWTSkK LQlEb21haW5UeXBlUHYgICAgICA9IERvbWFpblR5cGUoQy5MSUJYTF9ET01BSU5fVFlQRV9QVikK LSkKLQogZnVuYyAoZHQgRG9tYWluVHlwZSkgU3RyaW5nKCkgKHN0ciBzdHJpbmcpIHsKIAljc3Ry IDo9IEMubGlieGxfZG9tYWluX3R5cGVfdG9fc3RyaW5nKEMubGlieGxfZG9tYWluX3R5cGUoZHQp KQogCXN0ciA9IEMuR29TdHJpbmcoY3N0cikKQEAgLTMyMywyNyArMjY4LDYgQEAgZnVuYyAoY2Rp ICpDLmxpYnhsX2RvbWluZm8pIHRvR28oKSAoZGkgKkRvbWluZm8pIHsKIAlyZXR1cm4KIH0KIAot Ly8gIyBDb25zaXN0ZW50IHdpdGggdmFsdWVzIGRlZmluZWQgaW4gZG9tY3RsLmgKLS8vICMgRXhj ZXB0IHVua25vd24gd2hpY2ggd2UgaGF2ZSBtYWRlIHVwCi0vLyBsaWJ4bF9zY2hlZHVsZXIgPSBF bnVtZXJhdGlvbigic2NoZWR1bGVyIiwgWwotLy8gICAgICgwLCAidW5rbm93biIpLAotLy8gICAg ICg0LCAic2VkZiIpLAotLy8gICAgICg1LCAiY3JlZGl0IiksCi0vLyAgICAgKDYsICJjcmVkaXQy IiksCi0vLyAgICAgKDcsICJhcmluYzY1MyIpLAotLy8gICAgICg4LCAicnRkcyIpLAotLy8gICAg IF0pCi10eXBlIFNjaGVkdWxlciBpbnQKLQotdmFyICgKLQlTY2hlZHVsZXJVbmtub3duICBTY2hl ZHVsZXIgPSBDLkxJQlhMX1NDSEVEVUxFUl9VTktOT1dOCi0JU2NoZWR1bGVyU2VkZiAgICAgU2No ZWR1bGVyID0gQy5MSUJYTF9TQ0hFRFVMRVJfU0VERgotCVNjaGVkdWxlckNyZWRpdCAgIFNjaGVk dWxlciA9IEMuTElCWExfU0NIRURVTEVSX0NSRURJVAotCVNjaGVkdWxlckNyZWRpdDIgIFNjaGVk dWxlciA9IEMuTElCWExfU0NIRURVTEVSX0NSRURJVDIKLQlTY2hlZHVsZXJBcmluYzY1MyBTY2hl ZHVsZXIgPSBDLkxJQlhMX1NDSEVEVUxFUl9BUklOQzY1MwotCVNjaGVkdWxlclJURFMgICAgIFNj aGVkdWxlciA9IEMuTElCWExfU0NIRURVTEVSX1JURFMKLSkKLQogLy8gY29uc3QgY2hhciAqbGli eGxfc2NoZWR1bGVyX3RvX3N0cmluZyhsaWJ4bF9zY2hlZHVsZXIgcCk7CiBmdW5jIChzIFNjaGVk dWxlcikgU3RyaW5nKCkgc3RyaW5nIHsKIAljcyA6PSBDLmxpYnhsX3NjaGVkdWxlcl90b19zdHJp bmcoQy5saWJ4bF9zY2hlZHVsZXIocykpCkBAIC0xMTQxLDE0ICsxMDY1LDYgQEAgZnVuYyAoQ3R4 ICpDb250ZXh0KSBMaXN0VmNwdShpZCBEb21pZCkgKGdsaXN0IFtdVmNwdWluZm8pIHsKIAlyZXR1 cm4KIH0KIAotdHlwZSBDb25zb2xlVHlwZSBpbnQKLQotY29uc3QgKAotCUNvbnNvbGVUeXBlVW5r bm93biA9IENvbnNvbGVUeXBlKEMuTElCWExfQ09OU09MRV9UWVBFX1VOS05PV04pCi0JQ29uc29s ZVR5cGVTZXJpYWwgID0gQ29uc29sZVR5cGUoQy5MSUJYTF9DT05TT0xFX1RZUEVfU0VSSUFMKQot CUNvbnNvbGVUeXBlUFYgICAgICA9IENvbnNvbGVUeXBlKEMuTElCWExfQ09OU09MRV9UWVBFX1BW KQotKQotCiBmdW5jIChjdCBDb25zb2xlVHlwZSkgU3RyaW5nKCkgKHN0ciBzdHJpbmcpIHsKIAlj c3RyIDo9IEMubGlieGxfY29uc29sZV90eXBlX3RvX3N0cmluZyhDLmxpYnhsX2NvbnNvbGVfdHlw ZShjdCkpCiAJc3RyID0gQy5Hb1N0cmluZyhjc3RyKQpkaWZmIC0tZ2l0IGEvdG9vbHMvZ29sYW5n L3hlbmxpZ2h0L3hlbmxpZ2h0X3R5cGVzLmdvIGIvdG9vbHMvZ29sYW5nL3hlbmxpZ2h0L3hlbmxp Z2h0X3R5cGVzLmdvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjA1ZjYy MTgyYjcKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9nb2xhbmcveGVubGlnaHQveGVubGlnaHRf dHlwZXMuZ28KQEAgLTAsMCArMSwzNzggQEAKKy8vIERPIE5PVCBFRElULgorLy8KKy8vIFRoaXMg ZmlsZSBpcyBnZW5lcmF0ZWQgYnk6CisvLyBnZW5nb3R5cGVzLnB5IC4uLy4uL2xpYnhsL2xpYnhs X3R5cGVzLmlkbAorLy8KK3BhY2thZ2UgeGVubGlnaHQKKwordHlwZSBFcnJvciBpbnQKKworY29u c3QgKAorCUVycm9yTm9uc3BlY2lmaWMgICAgICAgICAgICAgICAgICBFcnJvciA9IC0xCisJRXJy b3JWZXJzaW9uICAgICAgICAgICAgICAgICAgICAgIEVycm9yID0gLTIKKwlFcnJvckZhaWwgICAg ICAgICAgICAgICAgICAgICAgICAgRXJyb3IgPSAtMworCUVycm9yTmkgICAgICAgICAgICAgICAg ICAgICAgICAgICBFcnJvciA9IC00CisJRXJyb3JOb21lbSAgICAgICAgICAgICAgICAgICAgICAg IEVycm9yID0gLTUKKwlFcnJvckludmFsICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgPSAt NgorCUVycm9yQmFkZmFpbCAgICAgICAgICAgICAgICAgICAgICBFcnJvciA9IC03CisJRXJyb3JH dWVzdFRpbWVkb3V0ICAgICAgICAgICAgICAgIEVycm9yID0gLTgKKwlFcnJvclRpbWVkb3V0ICAg ICAgICAgICAgICAgICAgICAgRXJyb3IgPSAtOQorCUVycm9yTm9wYXJhdmlydCAgICAgICAgICAg ICAgICAgICBFcnJvciA9IC0xMAorCUVycm9yTm90UmVhZHkgICAgICAgICAgICAgICAgICAgICBF cnJvciA9IC0xMQorCUVycm9yT3NldmVudFJlZ0ZhaWwgICAgICAgICAgICAgICBFcnJvciA9IC0x MgorCUVycm9yQnVmZmVyZnVsbCAgICAgICAgICAgICAgICAgICBFcnJvciA9IC0xMworCUVycm9y VW5rbm93bkNoaWxkICAgICAgICAgICAgICAgICBFcnJvciA9IC0xNAorCUVycm9yTG9ja0ZhaWwg ICAgICAgICAgICAgICAgICAgICBFcnJvciA9IC0xNQorCUVycm9ySnNvbkNvbmZpZ0VtcHR5ICAg ICAgICAgICAgICBFcnJvciA9IC0xNgorCUVycm9yRGV2aWNlRXhpc3RzICAgICAgICAgICAgICAg ICBFcnJvciA9IC0xNworCUVycm9yQ2hlY2twb2ludERldm9wc0RvZXNOb3RNYXRjaCBFcnJvciA9 IC0xOAorCUVycm9yQ2hlY2twb2ludERldmljZU5vdFN1cHBvcnRlZCBFcnJvciA9IC0xOQorCUVy cm9yVm51bWFDb25maWdJbnZhbGlkICAgICAgICAgICBFcnJvciA9IC0yMAorCUVycm9yRG9tYWlu Tm90Zm91bmQgICAgICAgICAgICAgICBFcnJvciA9IC0yMQorCUVycm9yQWJvcnRlZCAgICAgICAg ICAgICAgICAgICAgICBFcnJvciA9IC0yMgorCUVycm9yTm90Zm91bmQgICAgICAgICAgICAgICAg ICAgICBFcnJvciA9IC0yMworCUVycm9yRG9tYWluRGVzdHJveWVkICAgICAgICAgICAgICBFcnJv ciA9IC0yNAorCUVycm9yRmVhdHVyZVJlbW92ZWQgICAgICAgICAgICAgICBFcnJvciA9IC0yNQor CUVycm9yUHJvdG9jb2xFcnJvclFtcCAgICAgICAgICAgICBFcnJvciA9IC0yNgorCUVycm9yVW5r bm93blFtcEVycm9yICAgICAgICAgICAgICBFcnJvciA9IC0yNworCUVycm9yUW1wR2VuZXJpY0Vy cm9yICAgICAgICAgICAgICBFcnJvciA9IC0yOAorCUVycm9yUW1wQ29tbWFuZE5vdEZvdW5kICAg ICAgICAgICBFcnJvciA9IC0yOQorCUVycm9yUW1wRGV2aWNlTm90QWN0aXZlICAgICAgICAgICBF cnJvciA9IC0zMAorCUVycm9yUW1wRGV2aWNlTm90Rm91bmQgICAgICAgICAgICBFcnJvciA9IC0z MQorCUVycm9yUWVtdUFwaSAgICAgICAgICAgICAgICAgICAgICBFcnJvciA9IC0zMgorKQorCit0 eXBlIERvbWFpblR5cGUgaW50CisKK2NvbnN0ICgKKwlEb21haW5UeXBlSW52YWxpZCBEb21haW5U eXBlID0gLTEKKwlEb21haW5UeXBlSHZtICAgICBEb21haW5UeXBlID0gMQorCURvbWFpblR5cGVQ diAgICAgIERvbWFpblR5cGUgPSAyCisJRG9tYWluVHlwZVB2aCAgICAgRG9tYWluVHlwZSA9IDMK KykKKwordHlwZSBSZG1SZXNlcnZlU3RyYXRlZ3kgaW50CisKK2NvbnN0ICgKKwlSZG1SZXNlcnZl U3RyYXRlZ3lJZ25vcmUgUmRtUmVzZXJ2ZVN0cmF0ZWd5ID0gMAorCVJkbVJlc2VydmVTdHJhdGVn eUhvc3QgICBSZG1SZXNlcnZlU3RyYXRlZ3kgPSAxCispCisKK3R5cGUgUmRtUmVzZXJ2ZVBvbGlj eSBpbnQKKworY29uc3QgKAorCVJkbVJlc2VydmVQb2xpY3lJbnZhbGlkIFJkbVJlc2VydmVQb2xp Y3kgPSAtMQorCVJkbVJlc2VydmVQb2xpY3lTdHJpY3QgIFJkbVJlc2VydmVQb2xpY3kgPSAwCisJ UmRtUmVzZXJ2ZVBvbGljeVJlbGF4ZWQgUmRtUmVzZXJ2ZVBvbGljeSA9IDEKKykKKwordHlwZSBD aGFubmVsQ29ubmVjdGlvbiBpbnQKKworY29uc3QgKAorCUNoYW5uZWxDb25uZWN0aW9uVW5rbm93 biBDaGFubmVsQ29ubmVjdGlvbiA9IDAKKwlDaGFubmVsQ29ubmVjdGlvblB0eSAgICAgQ2hhbm5l bENvbm5lY3Rpb24gPSAxCisJQ2hhbm5lbENvbm5lY3Rpb25Tb2NrZXQgIENoYW5uZWxDb25uZWN0 aW9uID0gMgorKQorCit0eXBlIERldmljZU1vZGVsVmVyc2lvbiBpbnQKKworY29uc3QgKAorCURl dmljZU1vZGVsVmVyc2lvblVua25vd24gICAgICAgICAgICBEZXZpY2VNb2RlbFZlcnNpb24gPSAw CisJRGV2aWNlTW9kZWxWZXJzaW9uUWVtdVhlblRyYWRpdGlvbmFsIERldmljZU1vZGVsVmVyc2lv biA9IDEKKwlEZXZpY2VNb2RlbFZlcnNpb25RZW11WGVuICAgICAgICAgICAgRGV2aWNlTW9kZWxW ZXJzaW9uID0gMgorKQorCit0eXBlIENvbnNvbGVUeXBlIGludAorCitjb25zdCAoCisJQ29uc29s ZVR5cGVVbmtub3duIENvbnNvbGVUeXBlID0gMAorCUNvbnNvbGVUeXBlU2VyaWFsICBDb25zb2xl VHlwZSA9IDEKKwlDb25zb2xlVHlwZVB2ICAgICAgQ29uc29sZVR5cGUgPSAyCisJQ29uc29sZVR5 cGVWdWFydCAgIENvbnNvbGVUeXBlID0gMworKQorCit0eXBlIERpc2tGb3JtYXQgaW50CisKK2Nv bnN0ICgKKwlEaXNrRm9ybWF0VW5rbm93biBEaXNrRm9ybWF0ID0gMAorCURpc2tGb3JtYXRRY293 ICAgIERpc2tGb3JtYXQgPSAxCisJRGlza0Zvcm1hdFFjb3cyICAgRGlza0Zvcm1hdCA9IDIKKwlE aXNrRm9ybWF0VmhkICAgICBEaXNrRm9ybWF0ID0gMworCURpc2tGb3JtYXRSYXcgICAgIERpc2tG b3JtYXQgPSA0CisJRGlza0Zvcm1hdEVtcHR5ICAgRGlza0Zvcm1hdCA9IDUKKwlEaXNrRm9ybWF0 UWVkICAgICBEaXNrRm9ybWF0ID0gNgorKQorCit0eXBlIERpc2tCYWNrZW5kIGludAorCitjb25z dCAoCisJRGlza0JhY2tlbmRVbmtub3duIERpc2tCYWNrZW5kID0gMAorCURpc2tCYWNrZW5kUGh5 ICAgICBEaXNrQmFja2VuZCA9IDEKKwlEaXNrQmFja2VuZFRhcCAgICAgRGlza0JhY2tlbmQgPSAy CisJRGlza0JhY2tlbmRRZGlzayAgIERpc2tCYWNrZW5kID0gMworKQorCit0eXBlIE5pY1R5cGUg aW50CisKK2NvbnN0ICgKKwlOaWNUeXBlVW5rbm93biAgTmljVHlwZSA9IDAKKwlOaWNUeXBlVmlm SW9lbXUgTmljVHlwZSA9IDEKKwlOaWNUeXBlVmlmICAgICAgTmljVHlwZSA9IDIKKykKKwordHlw ZSBBY3Rpb25PblNodXRkb3duIGludAorCitjb25zdCAoCisJQWN0aW9uT25TaHV0ZG93bkRlc3Ry b3kgICAgICAgICBBY3Rpb25PblNodXRkb3duID0gMQorCUFjdGlvbk9uU2h1dGRvd25SZXN0YXJ0 ICAgICAgICAgQWN0aW9uT25TaHV0ZG93biA9IDIKKwlBY3Rpb25PblNodXRkb3duUmVzdGFydFJl bmFtZSAgIEFjdGlvbk9uU2h1dGRvd24gPSAzCisJQWN0aW9uT25TaHV0ZG93blByZXNlcnZlICAg ICAgICBBY3Rpb25PblNodXRkb3duID0gNAorCUFjdGlvbk9uU2h1dGRvd25Db3JlZHVtcERlc3Ry b3kgQWN0aW9uT25TaHV0ZG93biA9IDUKKwlBY3Rpb25PblNodXRkb3duQ29yZWR1bXBSZXN0YXJ0 IEFjdGlvbk9uU2h1dGRvd24gPSA2CisJQWN0aW9uT25TaHV0ZG93blNvZnRSZXNldCAgICAgICBB Y3Rpb25PblNodXRkb3duID0gNworKQorCit0eXBlIFRyaWdnZXIgaW50CisKK2NvbnN0ICgKKwlU cmlnZ2VyVW5rbm93biAgVHJpZ2dlciA9IDAKKwlUcmlnZ2VyUG93ZXIgICAgVHJpZ2dlciA9IDEK KwlUcmlnZ2VyU2xlZXAgICAgVHJpZ2dlciA9IDIKKwlUcmlnZ2VyTm1pICAgICAgVHJpZ2dlciA9 IDMKKwlUcmlnZ2VySW5pdCAgICAgVHJpZ2dlciA9IDQKKwlUcmlnZ2VyUmVzZXQgICAgVHJpZ2dl ciA9IDUKKwlUcmlnZ2VyUzNSZXN1bWUgVHJpZ2dlciA9IDYKKykKKwordHlwZSBUc2NNb2RlIGlu dAorCitjb25zdCAoCisJVHNjTW9kZURlZmF1bHQgICAgICAgIFRzY01vZGUgPSAwCisJVHNjTW9k ZUFsd2F5c0VtdWxhdGUgIFRzY01vZGUgPSAxCisJVHNjTW9kZU5hdGl2ZSAgICAgICAgIFRzY01v ZGUgPSAyCisJVHNjTW9kZU5hdGl2ZVBhcmF2aXJ0IFRzY01vZGUgPSAzCispCisKK3R5cGUgR2Z4 UGFzc3RocnVLaW5kIGludAorCitjb25zdCAoCisJR2Z4UGFzc3RocnVLaW5kRGVmYXVsdCBHZnhQ YXNzdGhydUtpbmQgPSAwCisJR2Z4UGFzc3RocnVLaW5kSWdkICAgICBHZnhQYXNzdGhydUtpbmQg PSAxCispCisKK3R5cGUgVGltZXJNb2RlIGludAorCitjb25zdCAoCisJVGltZXJNb2RlVW5rbm93 biAgICAgICAgICAgICAgIFRpbWVyTW9kZSA9IC0xCisJVGltZXJNb2RlRGVsYXlGb3JNaXNzZWRU aWNrcyAgIFRpbWVyTW9kZSA9IDAKKwlUaW1lck1vZGVOb0RlbGF5Rm9yTWlzc2VkVGlja3MgVGlt ZXJNb2RlID0gMQorCVRpbWVyTW9kZU5vTWlzc2VkVGlja3NQZW5kaW5nICBUaW1lck1vZGUgPSAy CisJVGltZXJNb2RlT25lTWlzc2VkVGlja1BlbmRpbmcgIFRpbWVyTW9kZSA9IDMKKykKKwordHlw ZSBCaW9zVHlwZSBpbnQKKworY29uc3QgKAorCUJpb3NUeXBlVW5rbm93biBCaW9zVHlwZSA9IDAK KwlCaW9zVHlwZVJvbWJpb3MgQmlvc1R5cGUgPSAxCisJQmlvc1R5cGVTZWFiaW9zIEJpb3NUeXBl ID0gMgorCUJpb3NUeXBlT3ZtZiAgICBCaW9zVHlwZSA9IDMKKykKKwordHlwZSBTY2hlZHVsZXIg aW50CisKK2NvbnN0ICgKKwlTY2hlZHVsZXJVbmtub3duICBTY2hlZHVsZXIgPSAwCisJU2NoZWR1 bGVyU2VkZiAgICAgU2NoZWR1bGVyID0gNAorCVNjaGVkdWxlckNyZWRpdCAgIFNjaGVkdWxlciA9 IDUKKwlTY2hlZHVsZXJDcmVkaXQyICBTY2hlZHVsZXIgPSA2CisJU2NoZWR1bGVyQXJpbmM2NTMg U2NoZWR1bGVyID0gNworCVNjaGVkdWxlclJ0ZHMgICAgIFNjaGVkdWxlciA9IDgKKwlTY2hlZHVs ZXJOdWxsICAgICBTY2hlZHVsZXIgPSA5CispCisKK3R5cGUgU2h1dGRvd25SZWFzb24gaW50CisK K2NvbnN0ICgKKwlTaHV0ZG93blJlYXNvblVua25vd24gICBTaHV0ZG93blJlYXNvbiA9IC0xCisJ U2h1dGRvd25SZWFzb25Qb3dlcm9mZiAgU2h1dGRvd25SZWFzb24gPSAwCisJU2h1dGRvd25SZWFz b25SZWJvb3QgICAgU2h1dGRvd25SZWFzb24gPSAxCisJU2h1dGRvd25SZWFzb25TdXNwZW5kICAg U2h1dGRvd25SZWFzb24gPSAyCisJU2h1dGRvd25SZWFzb25DcmFzaCAgICAgU2h1dGRvd25SZWFz b24gPSAzCisJU2h1dGRvd25SZWFzb25XYXRjaGRvZyAgU2h1dGRvd25SZWFzb24gPSA0CisJU2h1 dGRvd25SZWFzb25Tb2Z0UmVzZXQgU2h1dGRvd25SZWFzb24gPSA1CispCisKK3R5cGUgVmdhSW50 ZXJmYWNlVHlwZSBpbnQKKworY29uc3QgKAorCVZnYUludGVyZmFjZVR5cGVVbmtub3duIFZnYUlu dGVyZmFjZVR5cGUgPSAwCisJVmdhSW50ZXJmYWNlVHlwZUNpcnJ1cyAgVmdhSW50ZXJmYWNlVHlw ZSA9IDEKKwlWZ2FJbnRlcmZhY2VUeXBlU3RkICAgICBWZ2FJbnRlcmZhY2VUeXBlID0gMgorCVZn YUludGVyZmFjZVR5cGVOb25lICAgIFZnYUludGVyZmFjZVR5cGUgPSAzCisJVmdhSW50ZXJmYWNl VHlwZVF4bCAgICAgVmdhSW50ZXJmYWNlVHlwZSA9IDQKKykKKwordHlwZSBWZW5kb3JEZXZpY2Ug aW50CisKK2NvbnN0ICgKKwlWZW5kb3JEZXZpY2VOb25lICAgICAgVmVuZG9yRGV2aWNlID0gMAor CVZlbmRvckRldmljZVhlbnNlcnZlciBWZW5kb3JEZXZpY2UgPSAxCispCisKK3R5cGUgVmlyaWRp YW5FbmxpZ2h0ZW5tZW50IGludAorCitjb25zdCAoCisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50QmFz ZSAgICAgICAgICAgICAgICBWaXJpZGlhbkVubGlnaHRlbm1lbnQgPSAwCisJVmlyaWRpYW5Fbmxp Z2h0ZW5tZW50RnJlcSAgICAgICAgICAgICAgICBWaXJpZGlhbkVubGlnaHRlbm1lbnQgPSAxCisJ VmlyaWRpYW5FbmxpZ2h0ZW5tZW50VGltZVJlZkNvdW50ICAgICAgICBWaXJpZGlhbkVubGlnaHRl bm1lbnQgPSAyCisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50UmVmZXJlbmNlVHNjICAgICAgICBWaXJp ZGlhbkVubGlnaHRlbm1lbnQgPSAzCisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50SGNhbGxSZW1vdGVU bGJGbHVzaCBWaXJpZGlhbkVubGlnaHRlbm1lbnQgPSA0CisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50 QXBpY0Fzc2lzdCAgICAgICAgICBWaXJpZGlhbkVubGlnaHRlbm1lbnQgPSA1CisJVmlyaWRpYW5F bmxpZ2h0ZW5tZW50Q3Jhc2hDdGwgICAgICAgICAgICBWaXJpZGlhbkVubGlnaHRlbm1lbnQgPSA2 CisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50U3luaWMgICAgICAgICAgICAgICBWaXJpZGlhbkVubGln aHRlbm1lbnQgPSA3CisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50U3RpbWVyICAgICAgICAgICAgICBW aXJpZGlhbkVubGlnaHRlbm1lbnQgPSA4CisJVmlyaWRpYW5FbmxpZ2h0ZW5tZW50SGNhbGxJcGkg ICAgICAgICAgICBWaXJpZGlhbkVubGlnaHRlbm1lbnQgPSA5CispCisKK3R5cGUgSGR0eXBlIGlu dAorCitjb25zdCAoCisJSGR0eXBlSWRlICBIZHR5cGUgPSAxCisJSGR0eXBlQWhjaSBIZHR5cGUg PSAyCispCisKK3R5cGUgQ2hlY2twb2ludGVkU3RyZWFtIGludAorCitjb25zdCAoCisJQ2hlY2tw b2ludGVkU3RyZWFtTm9uZSAgQ2hlY2twb2ludGVkU3RyZWFtID0gMAorCUNoZWNrcG9pbnRlZFN0 cmVhbVJlbXVzIENoZWNrcG9pbnRlZFN0cmVhbSA9IDEKKwlDaGVja3BvaW50ZWRTdHJlYW1Db2xv ICBDaGVja3BvaW50ZWRTdHJlYW0gPSAyCispCisKK3R5cGUgVnVhcnRUeXBlIGludAorCitjb25z dCAoCisJVnVhcnRUeXBlVW5rbm93biAgVnVhcnRUeXBlID0gMAorCVZ1YXJ0VHlwZVNic2FVYXJ0 IFZ1YXJ0VHlwZSA9IDEKKykKKwordHlwZSBWa2JCYWNrZW5kIGludAorCitjb25zdCAoCisJVmti QmFja2VuZFVua25vd24gVmtiQmFja2VuZCA9IDAKKwlWa2JCYWNrZW5kUWVtdSAgICBWa2JCYWNr ZW5kID0gMQorCVZrYkJhY2tlbmRMaW51eCAgIFZrYkJhY2tlbmQgPSAyCispCisKK3R5cGUgR2lj VmVyc2lvbiBpbnQKKworY29uc3QgKAorCUdpY1ZlcnNpb25EZWZhdWx0IEdpY1ZlcnNpb24gPSAw CisJR2ljVmVyc2lvblYyICAgICAgR2ljVmVyc2lvbiA9IDMyCisJR2ljVmVyc2lvblYzICAgICAg R2ljVmVyc2lvbiA9IDQ4CispCisKK3R5cGUgVGVlVHlwZSBpbnQKKworY29uc3QgKAorCVRlZVR5 cGVOb25lICBUZWVUeXBlID0gMAorCVRlZVR5cGVPcHRlZSBUZWVUeXBlID0gMQorKQorCit0eXBl IEFsdHAyTU1vZGUgaW50CisKK2NvbnN0ICgKKwlBbHRwMk1Nb2RlRGlzYWJsZWQgQWx0cDJNTW9k ZSA9IDAKKwlBbHRwMk1Nb2RlTWl4ZWQgICAgQWx0cDJNTW9kZSA9IDEKKwlBbHRwMk1Nb2RlRXh0 ZXJuYWwgQWx0cDJNTW9kZSA9IDIKKwlBbHRwMk1Nb2RlTGltaXRlZCAgQWx0cDJNTW9kZSA9IDMK KykKKwordHlwZSBVc2JjdHJsVHlwZSBpbnQKKworY29uc3QgKAorCVVzYmN0cmxUeXBlQXV0byAg ICAgICAgVXNiY3RybFR5cGUgPSAwCisJVXNiY3RybFR5cGVQdiAgICAgICAgICBVc2JjdHJsVHlw ZSA9IDEKKwlVc2JjdHJsVHlwZURldmljZW1vZGVsIFVzYmN0cmxUeXBlID0gMgorCVVzYmN0cmxU eXBlUXVzYiAgICAgICAgVXNiY3RybFR5cGUgPSAzCispCisKK3R5cGUgVXNiZGV2VHlwZSBpbnQK KworY29uc3QgKAorCVVzYmRldlR5cGVIb3N0ZGV2IFVzYmRldlR5cGUgPSAxCispCisKK3R5cGUg VnNuZFBjbUZvcm1hdCBpbnQKKworY29uc3QgKAorCVZzbmRQY21Gb3JtYXRTOCAgICAgICAgICAg ICAgIFZzbmRQY21Gb3JtYXQgPSAxCisJVnNuZFBjbUZvcm1hdFU4ICAgICAgICAgICAgICAgVnNu ZFBjbUZvcm1hdCA9IDIKKwlWc25kUGNtRm9ybWF0UzE2TGUgICAgICAgICAgICBWc25kUGNtRm9y bWF0ID0gMworCVZzbmRQY21Gb3JtYXRTMTZCZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSA0 CisJVnNuZFBjbUZvcm1hdFUxNkxlICAgICAgICAgICAgVnNuZFBjbUZvcm1hdCA9IDUKKwlWc25k UGNtRm9ybWF0VTE2QmUgICAgICAgICAgICBWc25kUGNtRm9ybWF0ID0gNgorCVZzbmRQY21Gb3Jt YXRTMjRMZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSA3CisJVnNuZFBjbUZvcm1hdFMyNEJl ICAgICAgICAgICAgVnNuZFBjbUZvcm1hdCA9IDgKKwlWc25kUGNtRm9ybWF0VTI0TGUgICAgICAg ICAgICBWc25kUGNtRm9ybWF0ID0gOQorCVZzbmRQY21Gb3JtYXRVMjRCZSAgICAgICAgICAgIFZz bmRQY21Gb3JtYXQgPSAxMAorCVZzbmRQY21Gb3JtYXRTMzJMZSAgICAgICAgICAgIFZzbmRQY21G b3JtYXQgPSAxMQorCVZzbmRQY21Gb3JtYXRTMzJCZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQg PSAxMgorCVZzbmRQY21Gb3JtYXRVMzJMZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAxMwor CVZzbmRQY21Gb3JtYXRVMzJCZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAxNAorCVZzbmRQ Y21Gb3JtYXRGMzJMZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAxNQorCVZzbmRQY21Gb3Jt YXRGMzJCZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAxNgorCVZzbmRQY21Gb3JtYXRGNjRM ZSAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAxNworCVZzbmRQY21Gb3JtYXRGNjRCZSAgICAg ICAgICAgIFZzbmRQY21Gb3JtYXQgPSAxOAorCVZzbmRQY21Gb3JtYXRJZWM5NThTdWJmcmFtZUxl IFZzbmRQY21Gb3JtYXQgPSAxOQorCVZzbmRQY21Gb3JtYXRJZWM5NThTdWJmcmFtZUJlIFZzbmRQ Y21Gb3JtYXQgPSAyMAorCVZzbmRQY21Gb3JtYXRNdUxhdyAgICAgICAgICAgIFZzbmRQY21Gb3Jt YXQgPSAyMQorCVZzbmRQY21Gb3JtYXRBTGF3ICAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAy MgorCVZzbmRQY21Gb3JtYXRJbWFBZHBjbSAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAyMworCVZz bmRQY21Gb3JtYXRNcGVnICAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAyNAorCVZzbmRQY21G b3JtYXRHc20gICAgICAgICAgICAgIFZzbmRQY21Gb3JtYXQgPSAyNQorKQorCit0eXBlIFZzbmRT dHJlYW1UeXBlIGludAorCitjb25zdCAoCisJVnNuZFN0cmVhbVR5cGVQIFZzbmRTdHJlYW1UeXBl ID0gMQorCVZzbmRTdHJlYW1UeXBlQyBWc25kU3RyZWFtVHlwZSA9IDIKKykKKwordHlwZSBFdmVu dFR5cGUgaW50CisKK2NvbnN0ICgKKwlFdmVudFR5cGVEb21haW5TaHV0ZG93biAgICAgICAgICAg ICAgIEV2ZW50VHlwZSA9IDEKKwlFdmVudFR5cGVEb21haW5EZWF0aCAgICAgICAgICAgICAgICAg IEV2ZW50VHlwZSA9IDIKKwlFdmVudFR5cGVEaXNrRWplY3QgICAgICAgICAgICAgICAgICAgIEV2 ZW50VHlwZSA9IDMKKwlFdmVudFR5cGVPcGVyYXRpb25Db21wbGV0ZSAgICAgICAgICAgIEV2ZW50 VHlwZSA9IDQKKwlFdmVudFR5cGVEb21haW5DcmVhdGVDb25zb2xlQXZhaWxhYmxlIEV2ZW50VHlw ZSA9IDUKKykKKwordHlwZSBQc3JDbXRUeXBlIGludAorCitjb25zdCAoCisJUHNyQ210VHlwZUNh Y2hlT2NjdXBhbmN5IFBzckNtdFR5cGUgPSAxCisJUHNyQ210VHlwZVRvdGFsTWVtQ291bnQgIFBz ckNtdFR5cGUgPSAyCisJUHNyQ210VHlwZUxvY2FsTWVtQ291bnQgIFBzckNtdFR5cGUgPSAzCisp CisKK3R5cGUgUHNyQ2JtVHlwZSBpbnQKKworY29uc3QgKAorCVBzckNibVR5cGVVbmtub3duICAg UHNyQ2JtVHlwZSA9IDAKKwlQc3JDYm1UeXBlTDNDYm0gICAgIFBzckNibVR5cGUgPSAxCisJUHNy Q2JtVHlwZUwzQ2JtQ29kZSBQc3JDYm1UeXBlID0gMgorCVBzckNibVR5cGVMM0NibURhdGEgUHNy Q2JtVHlwZSA9IDMKKwlQc3JDYm1UeXBlTDJDYm0gICAgIFBzckNibVR5cGUgPSA0CisJUHNyQ2Jt VHlwZU1iYVRocnRsICBQc3JDYm1UeXBlID0gNQorKQorCit0eXBlIFBzckZlYXRUeXBlIGludAor Citjb25zdCAoCisJUHNyRmVhdFR5cGVDYXQgUHNyRmVhdFR5cGUgPSAxCisJUHNyRmVhdFR5cGVN YmEgUHNyRmVhdFR5cGUgPSAyCispCi0tIAoyLjE5LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs