From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0BtJFlO1pmJt1QAAbAwnHQ (envelope-from ) for ; Mon, 13 Jun 2022 05:56:03 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id EEgyFlO1pmIfcwEAauVa8A (envelope-from ) for ; Mon, 13 Jun 2022 05:56:03 +0200 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 aspmx1.migadu.com (Postfix) with ESMTPS id 7959B299C0 for ; Mon, 13 Jun 2022 05:56:02 +0200 (CEST) Received: from localhost ([::1]:36812 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0bBJ-0001wY-Je for larch@yhetil.org; Sun, 12 Jun 2022 23:56:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48212) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o0bB6-0001wE-3x for guix-devel@gnu.org; Sun, 12 Jun 2022 23:55:48 -0400 Received: from cascadia.aikidev.net ([2600:3c01:e000:267:0:a171:de7:c]:57990) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o0bB3-0004Ds-Tk for guix-devel@gnu.org; Sun, 12 Jun 2022 23:55:47 -0400 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:7:77:0:20]) (Authenticated sender: vagrant@aikidev.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id 75BBA1AB7A for ; Sun, 12 Jun 2022 20:55:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=reproducible-builds.org; s=1.vagrant; t=1655092542; bh=Y7q7xLVaBwX6s1eg4U2/VB+N24tQNl1RomP7YLhB+QM=; h=From:To:Subject:Date:From; b=qAbEqk4MmtroylaV8AkKQvESQuOhiCSBcGpWMMQsX+XIF5XMwys1zfphJhgW8AMNU BHmLHiTOYtvTPMWvwqtHENHBM+Hvgk82hRFidpnXWx0HwaNQug34jXKa0ukpZ2Sx64 1Scg6fjulAMixoNhVJfM3jvgUCFlZJ5rkuwtf+s+hKv8V/zkGSesYPsvkkuEpCrRpK m8or0PkaXcOk/EremHtnydDsDId1Hg48yujM5dxrVL1U+Z1k/LWagG2kpZbzx7cZZb XhNG6ceIgLLrBLCfbtzY2R+jo8WMSMqiOHgLPVo25lTNfVeyQt0doHy/AlX7OHr3LY E8qnwtoXvO91g== From: Vagrant Cascadian To: guix-devel@gnu.org Subject: Reproducible Builds Status Summary for Guix Date: Sun, 12 Jun 2022 20:55:38 -0700 Message-ID: <87o7yx43ph.fsf@contorta> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: none client-ip=2600:3c01:e000:267:0:a171:de7:c; envelope-from=vagrant@reproducible-builds.org; helo=cascadia.aikidev.net 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655092562; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=Q+06aOz+7Zhnn9QpWx5UKK34Y9315pOs/YYeuWlnljY=; b=kWn6vjf6M+56LADoMRXnZzloBcPle8bwyTh5ln+osScYGMpY6Ddlo4+/pkIQopuHgAdE8t DByc8cgecPvZ1ey1Tm6wD/aJFqujoUol4gZlPauCpaDgNXEeAp/4CeJuPF+XNiXnn5rhyy aFHXdip96CUwRv/IEuAWi+gfW+2Wo1Ic6cpLlVuTqiDtb9jpjorcj8s9C0JGihXX8VVwXB 3JG+4CKUKdvdEY2fSqJeSKEHIsxPIqhRwOGNV+Glk3Dqs4KNcMiVHUIpixltH8gOgKrcPO TL7Uc9MNkbTUBP9ZzUO8tZzG/a8AgxZC0DwppxR88zxP9dSOYLEqqP0hfgYYcw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655092562; a=rsa-sha256; cv=none; b=sJ932DW8XJQSxHDKQuXfdOj9D2ronEC0D62uIz61MwyYPoq1SJ4XGK21DEhuh2vGEjHOmV asD4WLQGvxYht9WSkNvZ6hmOcGW71MqEe7O46iiIJwGdmqFOGK2UW1X3355X10kEtiBpKI 9harNOjahfcJrikAdvtbOu7iInCCVPNoe9CWxoSHK3bj52dWsJHpij+/yjFSrbzd3hh/CV fdEnn4wCkQmnS1uBcI3oHv+c7F2UQ9UBjcAvP+y8k2rilSm3eC84Nq8KDh7ZnEghtybRic pzi2imx3WmTR5G8o/ehfVl1TgBC2W9rRmaYQu9+uPLzlzetbIS3JTAU8mode3w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=reproducible-builds.org header.s=1.vagrant header.b=qAbEqk4M; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.09 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=reproducible-builds.org header.s=1.vagrant header.b=qAbEqk4M; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 7959B299C0 X-Spam-Score: -5.09 X-Migadu-Scanner: scn1.migadu.com X-TUID: eBNRouVFcvHP --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain I've been working on Reproducible Builds in guix a fair amount this month. data.guix.gnu.org has proven invaluable for this work, big thanks for that! https://data.guix.gnu.org/repository/1/branch/master/latest-processed-revision/package-reproducibility I have cataloged many of the packages that are identified by dowloading a .json file: https://data.guix.gnu.org/repository/1/branch/master/latest-processed-revision/package-derivation-outputs.json?output_consistency=not-matching&system=x86_64-linux&target=none&field=no-additional-fields&limit_results=10000' And then running those packages in a guix challenge for loop... for a in $@ ; do diffoscope_out=${a}.diffoscope diffoscope_out_comp=${diffoscope_out}.zst package=${a} if [ -s "${diffoscope_out_comp}" ] ; then echo ${diffoscope_out_comp} already present, skipping... else guix challenge --verbose --diff=diffoscope ${a} 2>&1 | tee "${diffoscope_out}" test -s "${diffoscope_out}" && zstd --rm --threads=0 "${diffoscope_out}" fi done A few times I ran into disk space issues, due to: guix challenge with diffoscope fails to clean up temporary directory https://issues.guix.gnu.org/55809 So had to manually clean up some files and re-run it a few times and probably missed a few packages... I've looked at each of these diffoscope outputs and tried to quickly categorize them. Attached a .yaml file (we cannot possibly have enough different file formats!) that includes a rough identifier for each issue. It was a rough and quick best-effort pass through, so there may be some discrepancies... I've already pushed fixes for a handful of packages, and tried to remember to mark them as fixed. I've probably left many of the fixed ones out of this list, but not terribly worried about that. Some rough summaries about the types of issues: * ecl-* packages account for nearly half of the issues (~500 out of ~1000 packages) * ~850 packages categorized (ecl-* accounting for most of them) * 19 packages embed kernel version * 63 packages embed timestamps * 52 packages embed dates (harder to reproduce that full timestamps) * 5 timestamps in python .pyc files * 12 timestamps in .jar files * 66 ordering issues * 3 ordering issues in .pyc files * 9 ordering in .jar files * 16 ordering in guile .go files * ~160 largely unidentified and inscrutible issues That's unfortunately a lot of "unidentified" issues, but I figured I'd at least mark the ones I looked at. This does reveal that there are some opportunities for toolchain fixes, fixing multiple packages at a time (and future packages too!), such as ecl, sbcl, python, java, guile, clojure, texlive (see FORCE_SOURCE_DATE proposal https://lists.gnu.org/archive/html/guix-devel/2022-06/msg00171.html ). I haven't done extensive cross-referencing with other distros, but suspect there may be patches to fix some of these toolchain issues... If you've savvy with any of the above languages, help fixing toolchain issues would be amazing! I'm not sure where to collaborate on this stuff, I've just got a local git repository and it's a bit rough. I could also push a branch to guix.git with something like this in it. There is a rough proposal for using a multi-project "notes" format that debian uses: https://salsa.debian.org/reproducible-builds/reproducible-notes/-/tree/master https://salsa.debian.org/reproducible-builds/reproducible-notes/-/blob/multi-project-syntax/ideas_on_sharing_notes_between_distros ... back in 2016, and touched on at later Reproducible Builds summits, but not really adopted as far as I know. But I know some of the issues are essentially the same across distros; yet some are surprisingly different even with the same source code! If you're looking to get your hands dirty with some reproducibility fixes in guix, a fair number of the timestamp, date and kernel version fixes are likely fairly easy, but you generally have to manually verify that the date or kernel version aren't embedded, as "guix build --rounds=2" will likely happen with the same kernel version and date. Will be curious to see any new and exciting issues after the staging merge! live well, vagrant --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=guix-rb-notes.yml Content-Transfer-Encoding: base64 NHRpMjoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gYmluIGFuZCBsaWIKYWJjbDoKICAtIG5v bmRldGVybWluaXN0aWMgb3JkZXJpbmcgaW4gLmFiY2wgYW5kIC5jbCBmaWxlcyBpbnNpZGUgb2Yg YSAuamFyCmFra3U6CiAgLSBub25kZXRlcm1pbmlzdGljIG9yZGVyaW5nIGVtYmVkZGVkIGluIGd1 aWxlIC5nbyBmaWxlcwphbGFjcml0dHk6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbgph bnQtYXBhY2hlLWJjZWw6CiAgLSB0aW1lc3RhbXBzIGluIC5qYXIKYW50LWp1bml0OgogIC0gdGlt ZXN0YW1wcyBpbiAuamFyCmFudGh5OgogIC0gb3JkZXJpbmcgZGlmZmVyZW5jZXMgaW4gbGliLyou YQphcm1hZ2V0cm9uYWQ6CiAgLSBvcmRlcmluZyBkaWZmZXJlbmNlcyBpbiBiaW4vYXJtYWdldHJv bmFkLXVuaW5zdGFsbAphcnRhbmlzOgogIC0gbm9uZGV0ZXJtaW5pc20gaW4gZ3VpbGUgLmdvIGZp bGVzCmFzZWJhOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBiaW4KYXV0b2dlbjoKICAtIGh0 dHBzOi8vaXNzdWVzLmd1aXguZ251Lm9yZy81NTgxMyBzd2l0Y2ggdG8gZ3VpbGUgMwogIC0gdWlk L2dpZCBpbiBzaGFyZS9hdXRvZ2VuL2xpYm9wdHMtNDIuMS4xNy50YXIuZ3oKICBmaXhlZDoKICAg IC0gZW1iZWRkZWQgZGF0ZSBpbiBtYW5wYWdlIDg5YWI3NmI4MTA5ZDQ5NGQyMDRmODFiNmQ5MzRl YTE5YzhiYjcwMDQKYXV0b2tleToKICAtIHRpbWVzdGFtcCBpbiBweXRob24gLnB5YwogIC0gb3Ro ZXIgaXNzdWVzIGluIHB5dGhvbiAucHljCmF3ZXNvbWU6CiAgLSBodG1sIGRvY3VtZW50YXRpb24g bGlua3Mgd2l0aCBub24tZGV0ZXJtaW5pc3RpYyBhbmNob3JzCiAgLSByYW5kb21uZXNzIGluIC5z dmcKYXhvbG90aS1wYXRjaGVyLW5leHQ6CiAgLSByYW5kb21uZXNzIGluIGVtYmVkZGVkIHRlbXBv cmFyeSBmaWxlIG5hbWVzIGUuZy4gY2NYWFhYWFgubHRyYW5zMS5sdHJhbnMubyIKYXhvbG90aS1y dW50aW1lOgogIC0gcmFuZG9tbmVzcyBpbiBlbWJlZGRlZCB0ZW1wb3JhcnkgZmlsZSBuYW1lcywg ZS5nLiBjY1hYWFhYWC5zCmF6aW11dGg6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbi9h emltdXRoCmJhcnQ6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbi9iYXJ0CmJjYWNoZWZz LXN0YXRpYzoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gc2Jpbi9iY2FjaGVmcwpiY2FjaGVm cy10b29sczoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gbGliYmNhY2hlZnMuc28gYW5kIHNi aW4vYmNhY2hlZnMKYmNhY2hlZnMtdG9vbHMtc3RhdGljOgogIC0gdW5pZGVudGlmaWVkIGlzc3Vl cyBpbiBzYmluL2JjYWNoZWZzCmJpbmQ6CiAgLSB0aW1lc3RhbXBzIGluIHB5dGhvbiAuZWdnCmJs YXN0KzoKICAtIHVuaWRlbnRpZmllZCBub25kZXRlcm1pc20KYmx1ZW1hbjoKICAtIHVuaWRlbnRp ZmllZCBub25kZXRlcm1pbmlzbSBpbiBweXRob24gLnB5Ywpicmx0dHk6CiAgLSByYW5kb21seSBn ZW5lcmF0ZWQgZXRjL2JybGFwaS5rZXkKYnRhbmtzOgogIC0gc29ydCBvcmRlciBpbiBzaGFyZS9i dGFua3MvcmVzb3VyY2VzLmRhdApidWlsZGFwcDoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBi aW4vYnVpbGRhcHAKY2N3bDoKICAtIGVtYmVkZGVkIHRlbXBvcmFyeSBmaWxlbmFtZXMgd2l0aCBy YW5kb20gc3RyaW5nCmNmdW5nZToKICAtIGVtYmVkcyBrZXJuZWwgdmVyc2lvbgpjaGV6LWZtdDoK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBsaWIvY2hlei1zY2hlbWUvKi5zbwpjaGV6LWlycmVn ZXg6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gbGliL2NoZXotc2NoZW1lLyouc28KY2hlei1t YXRjaGFibGU6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gbGliL2NoZXotc2NoZW1lLyouc28K Y2hlei1taXQ6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gbGliL2NoZXotc2NoZW1lLyouc28K Y2hlei1uYW5vcGFzczoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBsaWIvY2hlei1zY2hlbWUv Ki5zbwogIC0gZW1iZWRkZWQgZGF0ZSBpbiB1c2VyLWd1aWRlLnBkZgpjaGV6LXNjaGVtZToKICAt IHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBsaWIvY3N2KgpjaGV6LXNjaGVtZS1mb3ItcmFja2V0Ogog IC0gdW5pZGVudGlmaWVkIGlzc3VlIGluIGxpYi9jc3YqCmNoZXotc2NtdXRpbHM6CiAgLSB1bmlk ZW50aWZpZWQgaXNzdWUgaW4gbGliL2NoZXotc2NoZW1lLyouc28KY2hlei1zcmZpOgogIC0gdW5p ZGVudGlmaWVkIGlzc3VlIGluIGxpYi9jaGV6LXNjaGVtZS8qLnNvCmNoaWJpLXNjaGVtZToKICAt IG9yZGVyaW5nIGlzc3VlIGluIHNoYXJlL2NoaWJpLyoubWV0YQogIC0gdW5pZGVudGlmaWVkIGlz c3VlIGluIHNoYXJlL2NoaWJpLyouaW1nCmNpcmN0b29sczoKICAtIHVuaWRlbnRpZmllZCBpc3N1 ZSBpbiBiaW4vY2lyY3Rvb2xzCmNsYXNzcGF0aDoKICAtIHRpbWVzdGFtcHMgaW4gLnppcCAoamF2 YT8pIGZpbGVzCmNsZWFyc2lsdmVyOgogIC0gdGltZXN0YW1wcyBpbiBtYW5wYWdlcwpjbGlzcDoK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBsaWIvY2xpc3AtKi9iYXNlL2xpc3Bpbml0Lm1lbQpj bC1tZXRhYmFuZy1iaW5kOgogIC0gc3VtbWFyeSBvZiB0ZXN0IHN1aXRlIHJlc3VsdHMgd2l0aCB0 aW1pbmcgaW5mb3JtYXRpb24gYW5kIGRhdGUgaW4gZmlsZW5hbWUKY2wtbWV0YXRpbGl0aWVzLWJh c2U6CiAgLSBzdW1tYXJ5IG9mIHRlc3Qgc3VpdGUgcmVzdWx0cyB3aXRoIHRpbWluZyBpbmZvcm1h dGlvbiBhbmQgZGF0ZSBpbiBmaWxlbmFtZQpjbC1tb3B0aWxpdGllczoKICAtIHN1bW1hcnkgb2Yg dGVzdCBzdWl0ZSByZXN1bHRzIHdpdGggdGltaW5nIGluZm9ybWF0aW9uIGFuZCBkYXRlIGluIGZp bGVuYW1lCmNsb2p1cmU6CiAgLSB0aW1lc3RhbXBzIGluIGh0bWwgZG9jdW1lbnRhdGlvbgogIC0g b3JkZXJpbmcgYW5kL29yIG5vbmRldGVybWluaXNtIGluIC5jbGFzcyBmaWxlcwpjbG9qdXJlLXRv b2xzLWRlcHMtYWxwaGE6CiAgLSBvcmRlcmluZyBhbmQvb3Igbm9uZGV0ZXJtaW5pc20gaW4gLmNs YXNzIGZpbGVzCmNsb29nOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlIGluIGJpbi9jbG9vZwogIC0g b3JkZXJpbmcgaXNzdWVzIGluIGxpYmNsb29nLWlzbC5hCmNsdXN0YWwtb21lZ2E6CiAgLSB1bmlk ZW50aWZpZWQgaXNzdWUgaW4gYmluL2NsdXN0YWxvCiAgLSBvcmRlcmluZyBpc3N1ZXMgaW4gbGli Y2x1c3RhbG8uYQpjbC15YWxlLWhhc2tlbGw6CiAgLSBkaWZmZXJpbmcgbnVtYmVyIGluIGJpbi9j bGlzcC1oYXNrZWxsCmNsLXl4b3JwLWNsaToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBiaW4v Y2wteXhvcnAKY3VpcmFzczoKICAtIG5vbmRldGVybWluaXN0aWMgb3JkZXJpbmcgZW1iZWRkZWQg aW4gZ3VpbGUgLmdvIGZpbGVzCmRlaHlkcmF0ZWQ6CiAgLSBtYW5wYWdlIGNvbXByZXNzZWQgd2l0 aCBnemlwIHRpbWVzdGFtcCwgcGFzcyAtLW5vLW5hbWUgdG8gZml4CmRlbHVnZToKICAtIHRpbWVz dGFtcHMgaW4gcHl0aG9uIC5lZ2cgZmlsZXMKZGlkanZ1OgogIC0gdW5pZGVudGlmaWVkIGlzc3Vl cyBpbiBweXRob24gLnB5YwpkcmlwOgogIC0gdGltZXN0YW1wcyBpbiAuamFyIGZpbGUKICAtIG9y ZGVyaW5nIGluIC5qYXIgZmlsZQplYnVzZDoKICAtIGVtYmVkZGVkIGRhdGUgaW4gYmluL2VidXNk CmVjbC0qOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyB3aXRoIGVjbAplZGk6CiAgLSB1aWQvZ2lk IGluIHRhcmJhbGwKICAtIHNvcnQgb3JkZXIgaW4gdGFyYmFsbAplZml0b29sczoKICAtIHVuaWRl bnRpZmllZCBpc3N1ZSBpbiBzaGFyZS9lZml0b29scy9lZmkvTG9ja0Rvd24uZWZpCmVmbDoKICAt IHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBzaGFyZS9lbGVtZW50YXJ5L3RoZW1lcy9kZWZhdWx0LmVk agplbWFjczoKICAtIGVtYmVkcyBrZXJuZWwgdmVyc2lvbiBpbiBsaWJleGVjL2VtYWNzLyovKi9l bWFjcy5wZG1wCiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gc2hhcmUvZW1hY3MvKi9saXNwL2du dXMvZ251cy1zdGFydC5lbGMKZW1hY3MtZGRza2s6CiAgLSB0aW1lc3RhbXAgaW4gc2hhcmUvZW1h Y3Mvc2l0ZS1saXNwL3Nray1hdXRvbG9hZHMuZWwgYW5kIHNra3NldHVwLmVsCmVtYWNzLWhvd206 CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gaG93bS1tb2RlLmVsYwplbWFjcy1taW5pbWFsOgog IC0gZW1iZWRzIGtlcm5lbCB2ZXJzaW9uIGluIGxpYmV4ZWMvZW1hY3MvKi8qL2VtYWNzLnBkbXAK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiAqLmVsYwplbWFjcy1uZXh0OgogIC0gZW1iZWRzIGtl cm5lbCB2ZXJzaW9uIGluIGxpYmV4ZWMvZW1hY3MvKi8qL2VtYWNzLnBkbXAKICAtIHVuaWRlbnRp ZmllZCBpc3N1ZSBpbiAqLmVsYwplbWFjcy1uZXh0LXBndGs6CiAgLSBlbWJlZHMga2VybmVsIHZl cnNpb24gaW4gbGliZXhlYy9lbWFjcy8qLyovZW1hY3MucGRtcAogIC0gdW5pZGVudGlmaWVkIGlz c3VlIGluICouZWxjCmVtYWNzLW5vLXg6CiAgLSBlbWJlZHMga2VybmVsIHZlcnNpb24gaW4gbGli ZXhlYy9lbWFjcy8qLyovZW1hY3MucGRtcAogIC0gdW5pZGVudGlmaWVkIGlzc3VlIGluICouZWxj CmVtYWNzLW5vLXgtdG9vbGtpdDoKICAtIHByb2JhYmx5IGVtYmVkcyBrZXJuZWwgdmVyc2lvbiBp biBsaWJleGVjL2VtYWNzLyovKi9lbWFjcy5wZG1wCiAgLSBwcm9iYWJseSB1bmlkZW50aWZpZWQg aXNzdWUgaW4gKi5lbGMKZW1hY3Mtc3ViZWQ6CiAgLSBub25kZXRlcm1pbmlzdGljIG51Ym1lcnMg aW4gc3ViZWQtYXV0b2xvYWRzLmVsCmVtYWNzLXRyZWVtYWNzOgogIC0gZGF0ZSBpbiB0cmVlbWFj cy5lbGMKZW1hY3MtdHJlZW1hY3MtZXh0cmE6CiAgLSBkYXRlIGluIHRyZWVtYWNzLmVsYwplbWFj cy13aWRlLWludDoKICAtIGVtYmVkcyBrZXJuZWwgdmVyc2lvbiBpbiBsaWJleGVjL2VtYWNzLyov Ki9lbWFjcy5wZG1wCiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gKi5lbGMKZW5ibGVuZC1lbmZ1 c2U6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gYmluL2VuZnVzZSBiaW4vZW5ibGVuZApmYnJl YWRlcjoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBiaW4vRkJSZWFkZXIKZmVuaWNzLWRvbGZp bjoKICAtIGRpZmZlcmVudCBwcmVjaXNpb24gYW5kIHJvdW5kaW5nIGRpZmZlcmVuY2VzIGluIGZs b2F0aWcgcG9pbnQgbnVtYmVycyBpbiAqLmggZmlsZXMKZmVubmVsOgogIC0gb3JkZXJpbmcgZGlm ZmVyZW5jZXMgaW4gYmluL2Zlbm5lbCBhbmQgZmVubmVsLmx1YQpmZmxhcy1mZnBhY2s6CiAgLSBi aW4vZmZsYXMtZmZwYWNrLWNvbmZpZyBjb250YWlucyBkaWZmZXJlbnQgY3B1IG9wdGltaXphdGlv bnMKZmlsdGxvbmc6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbi9maWx0bG9uZwpmb250 LW1lZXJhLWluaW1haToKICAtIGRhdGUgaW4gc2hhcmUvZm9udHMvdHJ1ZXR5cGUvTWVlcmFJbmlt YWktUmVndWxhci50dGYKZm9ydHVuZS1tb2Q6CiAgLSBkaWZmZXJlbnQgbGluZWJyZWFrcyBmb3J0 dW5lLjYgbWFucGFnZQpmcGM6CiAgLSBkYXRlcyBlbWJlZGRlZCBpbiBiaW4vKiBhbmQgbGliL2Zw Yy8qL3VuaXRzLyovcGFzdG9qcy9wYXMyanNjb21waWxlci5vCmZzdHJjbXA6CiAgLSB0aW1lc3Rh bXBzIGluIC5wZGYKZnVsbHN3b2YtMmQ6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gYmluL0Z1 bGxTV09GXzJECmdhcDoKICAtIGtlcm5lbCBlbWJlZGRlZCBpbiBjb25maWcubG9nCiAgLSBsZCB3 YXJuaW5ncyB3aXRoIHJhbmRvbSB0ZW1wb3JhcnkgZmlsZW5hbWVzIGVtYmVkZGVkIGluIGNvbmZp Zy5sb2cKICAtIHRpbWVzdGFtcCBlbWJlZGRlZCBmYWlsLmxvZyBhbmQgaW8tKi5sb2cKZ2F2bDoK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gbGliL2xpYmdhdmwuc28uKgpnY2Mtc3RyaXBwZWQt dGFyYmFsbDoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gL2Jpbi8qIGluIHRhcmJhbGwKZ2Ns OgogIC0gZGlmZmVyZW50IGFkZHJlc3NlcyBmb3IgZnVuY3Rpb25zIGluIGxpYi9nY2wtMi43LjAv dW5peHBvcnQvbGliYW5zaV9nY2wuYQogIC0gb3JkZXJpbmcgaXNzdWVzIGluIGxpYi8qL3VuaXhw b3J0L3NhdmVkX2Fuc2lfZ2NsCmdlcmJpbDoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gbGli CmdmMng6CiAgLSBvcmRlcmluZCBpc3N1ZXMgaW4gbGliL2xpYmdmMnguYQogIC0gdW5pZGVudGlm aWVkIGlzc3VlcyBpbiBsaWIvbGliZ2YyeC5zby4xLjAuMgpnaXZhcm86CiAgLSBkaWZmZXJpbmcg Y3B1IG9wdGltaXphdGlvbnMgaW4gYmluL2dpdmFyby1tYWtlZmlsZQogIC0gdW5pZGVudGlmaWVk IGlzc3VlcyBpbiBsaWIgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gY3B1IG9wdGltaXphdGlvbnM/KQpn bm9tZS1zaGVsbC1leHRlbnNpb24tYnVybi1teS13aW5kb3dzOgogIC0gb3JkZXJpbmcgaXNzdWVz IGluCiAgICBzaGFyZS9nbm9tZS1zaGVsbC9leHRlbnNpb25zL2J1cm4tbXktd2luZG93c0BzY2hu ZWVnYW5zLmdpdGh1Yi5jb20vcmVzb3VyY2VzL2J1cm4tbXktd2luZG93cy5ncmVzb3VyY2UueG1s Cmdub21lLXZmczoKICAtIG9yZGVyaW5nIGlzc3VlcyBpbiBsaWIvZ25vbWUtdmZzLTIuMC9tb2R1 bGVzL2xpYmh0dHAuYQpnbnVjb2JvbDoKICAtIHRpbWVzdGFtcCBpbiBsaWIvZ251Y29ib2wvQ0JM X09DX0RVTVAuc28KZ3Byb2xvZzoKICAtIHRpbWVzdGFtcHMgaW4gLmggZmlsZXMsIHNoYXJlL2dw cm9sb2cvYmluLyoKICAtIHJhbmRvbWl6ZWQgdGVtcG9yYXJ5IGZpbGVuYW1lcyBpbiBzaGFyZS9n cHJvbG9nL2xpYi8qCmd0a2dsZXh0OgogIC0gb3JkZXJpbmcgaXNzdWVzIGluIGxpYi9saWJnZGtn bGV4dC14MTEtMS4wLmEKZ3VpbGU6CiAgLSBub25kZXRlcm1pbmlzdGljIG9yZGVyaW5nIGVtYmVk ZGVkIGluIGd1aWxlIC5nbyBmaWxlcwpndWlsZTIuMi1jb25maWc6CiAgLSB1bmlkZW50aWZpZWQg aXNzdWUgaW4gbGliL2d1aWxlLzIuMi9zaXRlLWNjYWNoZS9jb25maWcvYXBpLmdvCmd1aWxlMy4w LW9wZW5nbDoKICAtIG5vbmRldGVybWluaXN0aWMgb3JkZXJpbmcgZW1iZWRkZWQgaW4gZ3VpbGUg LmdvIGZpbGVzCmd1aWxlLWNoaWNrYWRlZToKICAtIG5vbmRldGVybWluaXN0aWMgb3JkZXJpbmcg ZW1iZWRkZWQgaW4gZ3VpbGUgLmdvIGZpbGVzCmd1aWxlLWNvbmZpZzoKICAtIG5vbmRldGVybWlu aXN0aWMgb3JkZXJpbmcgZW1iZWRkZWQgaW4gZ3VpbGUgLmdvIGZpbGVzCmd1aWxlLWctZ29sZjoK ICAtIG5vbmRldGVybWluaXN0aWMgb3JkZXJpbmcgZW1iZWRkZWQgaW4gZ3VpbGUgLmdvIGZpbGVz Cmd1aWxlLWlyYzoKICAtIG5vbmRldGVybWluaXN0aWMgb3JkZXJpbmcgZW1iZWRkZWQgaW4gZ3Vp bGUgLmdvIGZpbGVzCmd1aWxlLWxpYjoKICAtIG5vbmRldGVybWluaXN0aWMgb3JkZXJpbmcgZW1i ZWRkZWQgaW4gZ3VpbGUgLmdvIGZpbGVzCmd1aWxlLXJkZjoKICAtIG5vbmRldGVybWluaXN0aWMg b3JkZXJpbmcgZW1iZWRkZWQgaW4gZ3VpbGUgLmdvIGZpbGVzCmd1aWxlLXNkbDI6CiAgLSBub25k ZXRlcm1pbmlzdGljIG9yZGVyaW5nIGVtYmVkZGVkIGluIGd1aWxlIC5nbyBmaWxlcwpndWl4Ogog IC0gbm9uZGV0ZXJtaW5pc3RpYyBvcmRlcmluZyBlbWJlZGRlZCBpbiBndWlsZSAuZ28gZmlsZXMK Z3VpeC1kYXRhLXNlcnZpY2U6CiAgLSBub25kZXRlcm1pbmlzdGljIG9yZGVyaW5nIGVtYmVkZGVk IGluIGd1aWxlIC5nbyBmaWxlcwpoYXNoY2F0OgogIC0gdW5pZGVudGlmaWVkIGlzc3VlIGluIGJp bi9oYXNoY2F0CmhhdW50OgogIC0gbm9uZGV0ZXJtaW5pc3RpYyBvcmRlcmluZyBlbWJlZGRlZCBp biBndWlsZSAuZ28gZmlsZXMKaGV2ZWE6CiAgLSB0ZW1wb3JhcnkgcmFuZG9taXplZCBmaWxlbmFt ZSBidWlsdCB3aXRoIG9jYW1sCmhvcDoKICAtIGxpYi9ob3AvMy4yLjAvTWFrZWZpbGUuaG9wY29u ZmlnIGVtYmVkcyBkYXRlIGluIEhPUERBVEUgdmFyaWFibGUKICAtIGRhdGUgaW4gLmpzIGZpbGVz CmljZWR0ZWEtd2ViQDEuNi4yOgogIC0gdGltZXN0YW1wcyBpbiAuamFyCiAgLSBkYXRlIGluIG1h bnBhZ2VzCmljdTRjLWJ1aWxkLXJvb3Q6CiAgLSBrZXJuZWwgdmVyc2lvbiBpbiBjb25maWcubG9n CiAgLSBsZCB3YXJuaW5ncyB3aXRoIHJhbmRvbSB0ZW1wb3JhcnkgZmlsZW5hbWVzIGVtYmVkZGVk IGluIGNvbmZpZy5sb2cKaW5zaWdodC10b29sa2l0OgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBp biBsaWIKaW50ZWwteGVkQDEyLjAuMToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gYmluCmlw eGU6CiAgLSAuaXNvIGZpbGUsIHBvc3NpYmx5IGZpbGVzeXN0ZW0gbWV0YWRhdGEKaXJvZHM6CiAg LSBlbWJlZHMgcmFuZG9tL2FyYml0cmFyeSBudW1iZXIgaW4gZGVmaW5lIGluY2x1ZGUvaXJvZHMv c2VydmVyX2NvbnRyb2xfcGxhbmVfY29tbWFuZC5ocHAKaXNsOgogIC0gdW5pZGVudGlmaWVkIGlz c3VlcyBpbiBsaWIvbGliaXNsLnNvLioKaXRwcDoKICAtIGVtYmVkZGVkIGRhdGUgaW4gc2hhcmUv ZG9jL2l0cHAvaHRtbC9fZm9ybXVsYXMubG9nCmphdmEtY29mb2phOgogIC0gZGF0ZXMgZW1iZWRk ZWQgaW4gZmlsZW5hbWVzIG9mIC5qYXIgZmlsZXMgKGUuZy4gc2hhcmUvamF2YS9jb2ZvamErYXNt LTEuMi0yMDIyMDUyOS5qYXIpCmphdmEtY29tbW9ucy1kYWVtb246CiAgLSB0aW1lc3RhbXAgZW1i ZWRkZWQgaW4gLmh0bWwgZG9jdW1lbnRhdGlvbiBtYWRlIHdpdGggamF2YWRvYwogIC0gZGF0ZSBl bWJlZGRlZCBpbiAuaHRtbCAoZS5nLiA8bWV0YSBuYW1lPSJkYXRlIiBjb250ZW50PSIyMDIyLTA1 LTI5Ij4pCmphdmEtY29tbW9ucy1odHRwY2xpZW50OgogIC0gdGltZXN0YW1wIGVtYmVkZGVkIGlu IC5odG1sIGRvY3VtZW50YXRpb24gbWFkZSB3aXRoIGphdmFkb2MKICAtIGRhdGUgZW1iZWRkZWQg aW4gLmh0bWwgKGUuZy4gPG1ldGEgbmFtZT0iZGF0ZSIgY29udGVudD0iMjAyMi0wNS0yOSI+KQog IC0gb3JkZXJpbmcgaXN1ZXMgaW4gZG9jdW1lbnRhdGlvbiAocGFyYWxsZWxpc20/KQpqYXZhLWpi bGFzOgogIC0gdGltZXN0YW1wcyBpbiAuamFyCmphdmEtamRvbUAyLjAuNi4xOgogIC0gZGF0ZXMg ZW1iZWRkZWQgaW4gZmlsZW5hbWVzIG9mIC5qYXIgZmlsZXMgKGUuZy4gc2hhcmUvamF2YS9jb2Zv amErYXNtLTEuMi0yMDIyMDUyOS5qYXIpCmphdmEtbmdzOgogIC0gdGltZXN0YW1wcyBpbiAuamFy CiAgLSBvcmRlcmluZyBpbiAuamFyCmphdmEtb3Blbm1waToKICAtIHRpbWVzdGFtcCBlbWJlZGRl ZCBpbiAuaHRtbCBkb2N1bWVudGF0aW9uIG1hZGUgd2l0aCBqYXZhZG9jCiAgLSBkYXRlIGVtYmVk ZGVkIGluIC5odG1sIChlLmcuIDxtZXRhIG5hbWU9ImRhdGUiIGNvbnRlbnQ9IjIwMjItMDUtMjki PikKamF2YS10b21jYXQ6CiAgLSBkYXRlIGVtYmVkZGVkIGluIC5odG1sIGRvY3VpbWVudGF0aW9u CmphdmEteGVyY2VzOgogIC0gdGltZXN0YW1wIGluIC5qYXIgY3JlYXRlZCBieSBhbnQKamF2YS14 bWxwdWxsLWFwaS12MToKICAtIHRpbWVzdGFtcCBlbWJlZGRlZCBpbiAuaHRtbCBkb2N1bWVudGF0 aW9uIG1hZGUgd2l0aCBqYXZhZG9jCiAgLSBkYXRlIGVtYmVkZGVkIGluIC5odG1sIChlLmcuIDxt ZXRhIG5hbWU9ImRhdGUiIGNvbnRlbnQ9IjIwMjItMDUtMjkiPikKa2F3YToKICAtIHRpbWVzdGFt cHMgaW4gLmphcgogIC0gb3JkZXJpbmcgaW4gLmphcgprZWVwYWxpdmVkOgogIC0gbm9uLWRldGVy bWluaW0gaW4gc2hhcmUvaW5mby9rZWVwYWxpdmVkLmluZm8uZ3oKa2lyaWdhbWk6CiAgLSB1aWQv Z2lkIGluIHRhcmJhbGwKICAtIHNvcnQgb3JkZXIgaW4gdGFyYmFsbApsYWdyYW5nZToKICAtIHRp bWVzdGFtcCBpbiBWRVJTSU9OIGZpbGUgZW1iZWRkZWQgaW4gc2hhcmUvbGFncmFuZ2UvcmVzb3Vy Y2VzLmxncgpsYW1pbmFyOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlIGluIHNiaW4vbGFtaW5hcmQK bGVhbjoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLm9sZWFuIGZpbGVzCmxlcHRvbi1lZGE6 CiAgLSBoYXNoZWQgaWRlbnRpZmllcnMgaW4gLmdvIGZpbGVzCmxpYmZsYW1lQDUuMi4wOgogIC0g dW5pZGVudGlmaWVkIGlzc3VlIGluIGxpYi9saWJmbGFtZS5zby4qCmxpYmd0b3A6CiAgLSBrZXJu ZWwgdmVyc2lvbiBlbWJlZGRlZCBpbiBiaW4vbGliZ3RvcF9zZXJ2ZXIyCmxpYm1wZWcyOgogIC0g b3JkZXJpbmcgb3IgY3B1IG9wdGltaXphdGlvbiBpbiBsaWIvbGlibXBlZzIuYQpsaWJuZXQ6CiAg LSBkYXRlIGluIG1hbnBhZ2UKbGlib3BlbnNtdHBkOgogIC0gZGF0ZSBpbiBtYW5wYWdlCmxpYm9z bW8tZHNwOgogIC0gZGF0ZSBhbmQgdGltZXN0YW1wIGluIF9mb3JtdWxhcy5sb2cKbGlicGhvbmVu dW1iZXI6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGxpYgpsaWJwaW55aW46CiAgLSB1bmlk ZW50aWZpZWQgaXNzdWVzIGluIGxpYgpsaWJ3ZWJzb2NrZXRzOgogIC0gcmFuZG9tIGRhdGEgaW4g Z2VuZXJhdGVkIGtleXMgc2hhcmUvbGlid2Vic29ja2V0cy10ZXN0LXNlcnZlci9saWJ3ZWJzb2Nr ZXRzLXRlc3Qtc2VydmVyKi5wZW0KbGlseXBvbmQ6CiAgLSB2YXJpYWJsZSBkYXRhIGluIC5wbmcg LnN2ZyAub3RmIC53b2ZmCmxpbmJveDoKICAtIGNwdSBvcHRpbWl6YXRpb25zIGluIGJpbi9saW5i b3gtY29uZmlnCiAgLSBkaWZmZXJlbmNlcyBpbiBsaWIgcG9zc2libHkgZHVlIHRvIGNwdSBvcHRp bWl6YXRpb25zCmxpbnV4LWxpYnJlOgogIC0gdW5pZGVudGlmaWVkIGRpZmZlcmVuY2VzIGluIC5r byBmaWxlcwogIC0gdW5pZGVudGlmaWVkIGRpZmZlcmVuY2VzIGluIGJ6aW1hZ2UKbGlyYzoKICAt IHVpZC9naWQgaW4gc2hhcmUvbGlyYy9saXJjLTAuMTAuMS50YXIuZ3oKbG9ra2U6CiAgLSBzb3J0 IG9yZGVyIGFuZCBhcmJpdHJhcnkgbnVtZXJpYyBpZGVudGlmaWVycyBpbiAuZ28gZmlsZXMKbG9v a2luZy1nbGFzcy1jbGllbnQ6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbi8ubG9va2lu Zy1nbGFzcy1jbGllbnQtcmVhbAptNHJpOgogIC0gZW1iZWRkZWQgY3B1IGNhY2hlIGluZm9ybWF0 aW9uIGluIGluY2x1ZGUvbTRyaS9tNHJpX2NvbmZpZy5oCm00cmllOgogIC0gdW5pZGVudGlmaWVk IGlzc3VlcyBpbiBsaWIvbGlibTRyaWUtKi5zbwptYXJhZG5zOgogIC0gcmFuZG9tIG51bWJlciwg dGFrZSB1cHN0cmVhbSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2d1aXgtZGV2 ZWwvMjAyMi0wNi9tc2cwMDExMC5odG1sCiAgLSBrZXJuZWwgdmVyc2lvbgogIC0gdGltZXN0YW1w Cm1hdmVuLWNvbXBhdEAzLjguNToKICAtIG9yZGVyaW5nIGlzc3VlcyBpbiBNRVRBLUlORi9wbGV4 dXMvY29tcG9uZW50cy54bWwgZW1iZWRkZWQgaW4gLmphcgptYXZlbi1tb2RlbC1idWlsZGVyQDMu OC41OgogIC0gb3JkZXJpbmcgaXNzdWVzIGluIE1FVEEtSU5GL3Npc3UvamF2YXguaW5qZWN0Lk5h bWVkIGVtYmVkZGVkIGluIC5qYXIKbWF2ZW4tcmVzb2x2ZXItcHJvdmlkZXI6CiAgLSBvcmRlcmlu ZyBpc3N1ZXMgaW4gTUVUQS1JTkYvc2lzdS9qYXZheC5pbmplY3QuTmFtZWQgZW1iZWRkZWQgaW4g LmphcgptYXZlbi1zZXR0aW5ncy1idWlsZGVyQDMuOC41OgogIC0gb3JkZXJpbmcgaXNzdWVzIGlu IE1FVEEtSU5GL3Npc3UvamF2YXguaW5qZWN0Lk5hbWVkIGVtYmVkZGVkIGluIC5qYXIKbWF4aW1h OgogIC0gbGliL21heGltYS81LjQ1LjEvYmluYXJ5LXNiY2wvbWF4aW1hLmNvcmUKbWVkaWFzZGs6 CiAgLSBlbWJlZGRlZCBrZXJuZWwgdmVyc2lvbiAobWVkaWFzZGtfYnVpbGRfaW5mbykKbWVyY3Vy aWFsOgogIC0gb3JkZXJpbmcgaW5zaWRlIC5weWMgZmlsZXMKbWluY2VkOgogIC0gdGltZXN0YW1w cyBpbiAuamFyCm1pbmd3LXc2NC1pNjg2OgogIC0gcmFuZG9tbmVzcyBpbiB0ZW1wb3JhcnkgZmls ZW5hbWVzCm1pbmd3LXc2NC1pNjg2LXdpbnB0aHJlYWRzOgogIC0gcmFuZG9tbmVzcyBpbiB0ZW1w b3JhcnkgZmlsZW5hbWVzCm1pbmd3LXc2NC14ODZfNjQ6CiAgLSByYW5kb21uZXNzIGluIHRlbXBv cmFyeSBmaWxlbmFtZXMKbWluZ3ctdzY0LXg4Nl82NC13aW5wdGhyZWFkczoKICAtIHJhbmRvbW5l c3MgaW4gdGVtcG9yYXJ5IGZpbGVuYW1lcwptaW5pdXBucGM6CiAgLSBlbWJlZGRlZCBrZXJuZWwg dmVyc2lvbiBpbiBVc2VyLUFnZW50Cm1pdC1zY2hlbWU6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVz Cm1rcDIyNG86CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbi9ta3AyMjRvCm1tLWNvbW1v bjoKICAtIHVpZC9naWQgaW4gc2hhcmUvZG9jL21tLWNvbW1vbi9za2VsZXRvbm1tLnRhci54egpt b2Fydm06CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGxpYi9saWJtb2FyLnNvCm1vbm86CiAg LSB1bmlkZW50aWZpZWQgaXNzdWVzCm1ydWJ5OgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcwptdXNs LWNyb3NzOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcwpteXJkZGluOgogIC0gdW5pZGVudGlmaWVk IGlzc3VlcwpteXNxbDoKICAtIGtlcm5lbCB2ZXJzaW9uIHNoYXJlL215c3FsL2RvY3MvSU5GT19C SU4KICAtIHRpbWVzdGFtcHMgaW4gc2hhcmUvbXlzcWwvZG9jcy9JTkZPX0JJTgpuYW5vbXNnOgog IC0gdW5pZGVudGlmaWVkIGlzc3VlcwpuYXV0eToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMKbmNk dTI6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzCm5lOgogIC0gZGF0ZSBpbiBiaW4vbmUKbmV0Y2Rm LWZvcnRyYW46CiAgLSB0aW1lc3RhbXAgaW4gbGliL2xpYm5ldGNkZmYuc2V0dGluZ3MKbm5nOgog IC0gdW5pZGVudGlmaWVkIGlzc3Vlcwpub2RlOgogIC0gb3JkZXJpbmcgaXNzdWVzIGluIGluY2x1 ZGUvbm9kZS9jb25maWcuZ3lwaQpub2RlLWFkZG9uLWFwaToKICAtIG9yZGVyaW5nIGlzc3VlcyBp biBsaWIvbm9kZV9tb2R1bGVzL25vZGUtYWRkb24tYXBpL3Rlc3QvYnVpbGQvTWFrZWZpbGUKICAt IG9yZGVyaW5nIGlzc3VlcyBpbiBsaWIvbm9kZV9tb2R1bGVzL25vZGUtYWRkb24tYXBpL3Rlc3Qv YnVpbGQvY29uZmlnLmd5cGkKbm9kZS1vcGVuendhdmUtc2hhcmVkOgogIC0gb3JkZXJpbmcgaXNz dWVzIGluIGxpYi9ub2RlX21vZHVsZXMvb3Blbnp3YXZlLXNoYXJlZC9idWlsZC9NYWtlZmlsZQog IC0gb3JkZXJpbmcgaXNzdWVzIGluIGxpYi9ub2RlX21vZHVsZXMvb3Blbnp3YXZlLXNoYXJlZC9i dWlsZC9jb25maWcuZ3lwaQpub2RlLXNlZ2ZhdWx0LWhhbmRsZXI6CiAgLSBvcmRlcmluZyBpc3N1 ZXMgaW4gbGliL25vZGVfbW9kdWxlcy9zZWdmYXVsdC1oYW5kbGVyL2J1aWxkL01ha2VmaWxlCiAg LSBvcmRlcmluZyBpc3N1ZXMgaW4gbGliL25vZGVfbW9kdWxlcy9zZWdmYXVsdC1oYW5kbGVyL2J1 aWxkL2NvbmZpZy5neXBpCm5vZGUtc2VyaWFscG9ydC1iaW5kaW5nczoKICAtIG9yZGVyaW5nIGlz c3VlcyBpbiBsaWIvbm9kZV9tb2R1bGVzL0BzZXJpYWxwb3J0L2JpbmRpbmdzL2J1aWxkL01ha2Vm aWxlCiAgLSBvcmRlcmluZyBpc3N1ZXMgaW4gbGliL25vZGVfbW9kdWxlcy9Ac2VyaWFscG9ydC9i aW5kaW5ncy9idWlsZC9jb25maWcuZ3lwaQpub2RlLXNxbGl0ZTM6CiAgLSBvcmRlcmluZyBpc3N1 ZXMgaW4gbGliL25vZGVfbW9kdWxlcy9zcWxpdGUzL2J1aWxkL01ha2VmaWxlCiAgLSBvcmRlcmlu ZyBpc3N1ZXMgaW4gbGliL25vZGVfbW9kdWxlcy9zcWxpdGUzL2J1aWxkL2NvbmZpZy5neXBpCm5x cDoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLm1vYXJ2bSBmaWxlcwpuc3M6CiAgLSB1bmlk ZW50aWZpZWQgaXNzdWVzIGluIC5jaGsgZmlsZXMKbnVzaGVsbDoKICAtIHVuaWRlbnRpZmllZCBp c3N1ZXMgaW4gYmluL251Cm55YWNjOgogIC0gbm9uZGV0ZXJtaW5pc3RpYyBvcmRlcmluZyBlbWJl ZGRlZCBpbiBndWlsZSAuZ28gZmlsZXMKb2NhbWw0LjA5LWR1bmUtY29uZmlndXJhdG9yOgogIC0g dW5pZGVudGlmaWVkIGlzc3VlcyBpbiAuY210IC5jbXRpCm9jYW1sLWJhdHRlcmllczoKICAtIHVu aWRlbnRpZmllZCBpc3N1ZXMgaW4gLmNtdCAuY210aQpvY2FtbC10b3BrZzoKICAtIHVuaWRlbnRp ZmllZCBpc3N1ZXMgaW4gLmNtdCAuY210aQpvY3JvZGp2dToKICAtIHVuaWRlbnRpZmllZCBpc3N1 ZXMgaW4gLnB5YwpvcGVuYmxhczoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMKb3BlbmJsYXMtaWxw NjQ6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzCm9wZW5zbXRwZC1maWx0ZXItZGtpbXNpZ246CiAg LSBkYXRlIGluIG1hbnBhZ2UKICAtIGtlcm5lbCB2ZXJzaW9uIGluIG1hbnBhZ2UKcGF0Y2h3b3Jr OgogIC0gb3JkZXJpbmcgaXNzdWUgaW4gc2hhcmUvcGF0Y2h3b3JrL2h0ZG9jcy9zdGF0aWNmaWxl cy5qc29uCnBlcmw2LXRhcC1oYXJuZXNzOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBwcmVj b21waWxlZCBwZXJsNiBmaWxlcwpwZXJsNi16ZWY6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGlu IHByZWNvbXBpbGVkIHBlcmw2IGZpbGVzCnBsb3ZlcjoKICAtIHRpbWVzdGFtcCBpbiAucHljCiAg LSBvcmRlcmluZyBpc3N1ZXMgaW4gLnB5Ywpwb2x5bWw6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVz CnBvcmVjaG9wOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcwpwdXJlOgogIC0gb3JkZXJpbmcgaXNz dWVzIGluIGxpYi9wa2djb25maWcvcHVyZS5wYwpwd3NhZmU6CiAgLSBvcmRlcmluZyBpc3N1ZXMg aW4gLnppcCBmaWxlcwpweWJpbmQxMToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLnB5Ywpw eXRob24tYmxvc2M6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGN5cHRob24qLnNvCnB5dGhvbi1i d2FweToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgY3lwdGhvbiouc28KcHl0aG9uLWRlYmlhbjoK ICBmaXhlZDoKICAgIC0gZGF0ZS1iYXNlZCB2ZXJzaW9uIGVtYmVkZGVkIGluIC5lZ2ctaW5mbyA5 NmQ0Nzc5N2RjZTM2MWJkN2YzYjFjZTg2MGIxZWM0ODUxZTJkYjVhCnB5dGhvbi1nYW1lcmE6CiAg LSB1bmlkZW50aWZpZWQgaXNzdWVzIGN5cHRob24qLnNvCnB5dGhvbi1udW1iYToKICAtIHVuaWRl bnRpZmllZCBpc3N1ZXMgaW4gLm5iYyBhbmQgLm5iaQpweXRob24tbnVtcHktbmV4dDoKICAtIG1p c2MgaXNzdWVzIF9tdWx0aWFycmF5X3VtYXRoLmNweXRob24tMzkteDg2XzY0LWxpbnV4LWdudS5z bwpweXRob24tcHl0ZXN0OgogIC0gdGltZXN0YW1wIGluIHB5dGhvbiAucHljCnB5dGhvbi1zaGli b2tlbi0yOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBjeXB0aG9uKi5zbwpweXRob24teGFwaWFu LWJpbmRpbmdzOgogIC0gdGltZXN0YW1wIGluIHB5dGhvbiAucHljCnF1aWNranM6CiAgLSB1bmlk ZW50aWZpZWQgaXNzdWVzIGluIGxpYi9xdWlja2pzL2xpYnF1aWNranMubHRvLmEKcmFja2V0Ogog IC0gZGlmZmVyaW5nIGhhc2hlcyg/KSBpbiB2YXJpb3VzIC5kZXAgZmlsZXMKci1hZmZ5Y29tcGF0 aWJsZToKICAtIGlzc3VlcyBpbiAucmRiIGFuZCAucmR4IGZpbGVzCnJha3VkbzoKICAtIHVuaWRl bnRpZmllZCBpc3N1ZXMgaW4gLm1vYXJ2bSBmaWxlcwpyLWJneDoKICAtIHVuaWRlbnRpZmllZCBp c3N1ZSBpbiBzaXRlLWxpYnJhcnkvYmd4L2xpYnMvYmd4LnNvCnJjOgogIC0gZGF0ZSBlbWJlZGRl ZCBpbiBiaW4vcmMKci1jbGk6CiAgLSBwaWQgZW1iZWRkZWQgaW4gc2l0ZS1saWJyYXJ5L2NsaS9S L2NsaS5yZGIKcmN0OgogIC0gdW5kZW50aWZpZWQgaXNzdWVzCnItZGltcmVkOgogIC0gdW5pZGVu dGlmaWVkIGlzc3VlcyBpbiAucmRiIGZpbGVzCnJlc3RpYzoKICAtIGRpZmZlcmluZyBHTyBCVUlM RElEIGluIGJpbi9yZXN0aWMKci1sYXBsYWNlc2RlbW9uOgogIC0gdW5pZGVudGlmaWVkIGlzc3Vl cyBpbiAucmRiIGFuZCAucmR4IGZpbGVzCnItbGlnZXI6CiAgICAtIHRpbWVzdGFtcHMgaW4gLmph cgpyLWxwc3ltcGhvbnk6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWUgaW4gc2l0ZS1saWJyYXJ5L2xw c3ltcGhvbnkvbGlicy9scHN5bXBob255LnNvCnItbWluaW1hbDoKICAtIHVuaWRlbnRpZmllZCBp c3N1ZXMgaW4gLnJkYiBhbmQgLnJkeCBmaWxlcwpyLW1pc2hhOgogIC0gdW5pZGVudGlmaWVkIGlz c3VlcyBpbiBzaXRlLWxpYnJhcnkvbWlzaGEvdHJhY2tkYi90ZXN0Ly5kYi5jYWNoZQpyLW9tbmlw YXRocjoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLnJkYiBmaWxlcwpyLXF1YW50bW9kOgog IC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiAucmRiIGFuZCAucmR4IGZpbGVzCnItcmJvd3RpZTI6 CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIHNpdGUtbGlicmFyeS9SYm93dGllMi9ib3d0aWUy KgpyLXJjcHBwYXJhbGxlbDoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gc2l0ZS1saWJyYXJ5 L1JjcHBQYXJhbGxlbC9saWIvKi5zby4qCnItcmVwcjoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMg aW4gLnJkYiBmaWxlcwpyLXJldGljdWxhdGU6CiAgLSB0aW1lc3RhbXBzIGluIHB5dGhvbiAucHlj CnItcmdyYXBodml6OgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBzaXRlLWxpYnJhcnkvUmdy YXBodml6L2xpYnMvUmdyYXBodml6LnNvCnItcmhkZjVmaWx0ZXJzOgogIC0gdW5pZGVudGlmaWVk IGlzc3VlcyBpbiBzaXRlLWxpYnJhcnkvcmhkZjVmaWx0ZXJzL2xpYi9saWJINVpibG9zYy5zbwpy LXJqYXZhOgogIC0gdGltZXN0YW1wcyBpbiAuamFyIGZpbGUKICAtIG9yZGVyaW5nIGluIC5qYXIg ZmlsZQpyLXJzYm1sOgogIC0ga2VybmVsIHZlcnNpb24gZW1iZWRkZWQgaW4gc2l0ZS1saWJyYXJ5 L3JzYm1sL1NCTUxfb2RlU29sdmVyLSovY29uZmlnLmxvZwpyLXRtOgogIC0gdW5pZGVudGlmaWVk IGlzc3VlcyBpbiAucmRiIGFuZCAucmR4IGZpbGVzCnItdG9waWNtb2RlbHM6CiAgLSB1bmlkZW50 aWZpZWQgaXNzdWVzIGluIC5yZGIgYW5kIC5yZHggZmlsZXMKci10cmFjdG9yLWJhc2U6CiAgLSB1 bmlkZW50aWZpZWQgaXNzdWVzIGluIC5yZGIgYW5kIC5yZHggZmlsZXMKci10d2VlbnI6CiAgLSBC QVNFREFURVRJTUUgbnVtYmVyIGRlZmluZWQgaW4gc2l0ZS1saWJyYXJ5L3R3ZWVuci9SL3R3ZWVu ci5yZGIKcnVieToKICAtIGRhdGUgYW5kIHBpZCBlbWJlZGRlZCBpbiBnZW1fbWFrZS5vdXQgZmls ZXMKICAtIGRhdGUgYW5kIHBpZCBlbWJlZGRlZCBpbiBsaWIvcnVieS9nZW1zLyovZ2Vtcy9kZWJ1 Zy0qL2V4dC8qL01ha2VmaWxlCnJ1YnktYWU6CiAgLSBvcmRlcmluZyBpbiAuZ2Vtc3BlYwpydWJ5 LWFuc2k6CiAgLSBvcmRlcmluZyBpbiAuZ2Vtc3BlYwpydWJ5LWNpdHJ1czoKICAtIGRhdGUgaW4g LmdlbXNwZWMKcnVieS1jb25jdXJyZW50OgogIC0gZGF0ZSBpbiAuZ2Vtc3BlYwpydWJ5LWZmaToK ICAtIG9yZGVyaW5nIGluIEhEUlMgaW4gbGliL3J1YnkvdmVuZG9yX3J1YnkvZ2Vtcy9mZmktKi9i dWlsZC8qL2ZmaV9jLyovTWFrZWZpbGUKcnVieS1vajoKICAtIGRhdGUgaW4gLmdlbXNwZWMKICAt IG9yZGVyaW5nIGluIC5nZW1zcGVjCnJ1YnktcGF0cm9uOgogICAgLSBsZCB3YXJuaW5ncyB3aXRo IHJhbmRvbSB0ZW1wb3JhcnkgZmlsZW5hbWVzIGVtYmVkZGVkIGluIG1rbWYubG9nCnJ1YnktcmV4 bWw6CiAgLSBvcmRlcmluZyBpbiAuZ2Vtc3BlYwpydWJ5LXJqYjoKICAtIGxkIHdhcm5pbmdzIHdp dGggcmFuZG9tIHRlbXBvcmFyeSBmaWxlbmFtZXMgZW1iZWRkZWQgaW4gbWttZi5sb2cKcnVieS1z eXMtZmlsZXN5c3RlbToKICAtIGRhdGUgaW4gLmdlbXNwZWMKcnVieS1zeXMtdW5hbWU6CiAgLSBk YXRlIGluIC5nZW1zcGVjCnJ1YnktdGVybWluZm86CiAgLSBkYXRlIGFuZCByYW5kb20gdGVtcG9y YXJ5IGZpbGVuYW1lIGVtYmVkZGVkIGluIGdlbV9tYWtlLm91dCBmaWxlcwpydWJ5LXRyZWV0b3A6 CiAgLSBkYXRlIGluIC5nZW1zcGVjCnNhbG1vbjoKICAtIGhhc2hlZCB0ZW1wb3JhcnkgZmlsZW5h bWVzIGFuZC9vciBvcmRlcmluZyBpc3N1ZXMgaW4gbGliL2xpYnNhbG1vbl9jb3JlLmEKc2JjbDoK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1idXJnbGVkLWJhdHRl cmllczM6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIC5mYXNsIGZpbGVzCnNiY2wtY2ZmaToK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1jbC1hbmE6CiAgLSB1 bmlkZW50aWZpZWQgaXNzdWVzIGluIC5mYXNsIGZpbGVzCnNiY2wtY2wtY2hhcm1zOgogIC0gdW5p ZGVudGlmaWVkIGlzc3VlcyBpbiAuZmFzbCBmaWxlcwpzYmNsLWNsLWRpc2tzcGFjZToKICAtIHVu aWRlbnRpZmllZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1jbC1mcmVldHlwZTI6CiAgLSB1 bmlkZW50aWZpZWQgaXNzdWVzIGluIC5mYXNsIGZpbGVzCnNiY2wtY2xpbmVub2lzZToKICAtIHVu aWRlbnRpZmllZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1jbC1saWJ1djoKICAtIHVuaWRl bnRpZmllZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1jbC1yZGthZmthOgogIC0gdW5pZGVu dGlmaWVkIGlzc3VlcyBpbiAuZmFzbCBmaWxlcwpzYmNsLWNsLXVuaWNvZGU6CiAgLSB1bmlkZW50 aWZpZWQgaXNzdWVzIGluIC5mYXNsIGZpbGVzCnNiY2wtZGV4YWRvcjoKICAtIHVuaWRlbnRpZmll ZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1nc2xsOgogIC0gdW5pZGVudGlmaWVkIGlzc3Vl cyBpbiAuZmFzbCBmaWxlcwpzYmNsLWhkZjUtY2ZmaToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMg aW4gLmZhc2wgZmlsZXMKc2JjbC1pb2xpYjoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLmZh c2wgZmlsZXMKc2JjbC1tZXRhYmFuZy1iaW5kOgogIC0gZGF0ZSBpbiBmaWxlbmFtZSBhbmQgdGlt aW5nIGluZm9ybWF0aW9uIGluIHN1bW1hcnktKi5zYXYKc2JjbC1tZXRhdGlsaXRpZXMtYmFzZToK ICAtIGRhdGUgaW4gZmlsZW5hbWUgYW5kIHRpbWluZyBpbmZvcm1hdGlvbiBpbiBzdW1tYXJ5LSou c2F2CnNiY2wtbW9udGV6dW1hOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbgogICAgbGliL2Nv bW1vbi1saXNwL3NiY2wvbW9udGV6dW1hL3Rlc3RzL3RlbXAvZnNkaXIvc2VnbWVudHMgYW5kCiAg ICBsaWIvY29tbW9uLWxpc3Avc2JjbC9tb250ZXp1bWEvdGVzdHMvdW5pdC9yZWdyZXNzaW9uL3Rj LW0yay10ZXN0LWluZGV4L3NlZ21lbnRzCnNiY2wtbW9wdGlsaXRpZXM6CiAgLSBkYXRlIGluIGZp bGVuYW1lIGFuZCB0aW1pbmcgaW5mb3JtYXRpb24gaW4gc3VtbWFyeS0qLnNhdgogIC0gdGltZXN0 YW1wcyBhbmQgdGltaW5nIGluZm9ybWF0aW9uIGluIHNoYXJlL2NvbW1vbi1saXNwL3NiY2wvbW9w dGlsaXRpZXMvdGVzdC1yZXN1bHRzLyouaHRtbApzYmNsLW9zaWNhdDoKICAtIHVuaWRlbnRpZmll ZCBpc3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1vdmVybG9yZDoKICAtIHVuaWRlbnRpZmllZCBp c3N1ZXMgaW4gLmZhc2wgZmlsZXMKc2JjbC1wbmc6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGlu IC5mYXNsIGZpbGVzCnNiY2wtcHptcToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gLmZhc2wg ZmlsZXMKc2JjbC1zdXBlcnRyYWNlOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiAuZmFzbCBm aWxlcwpzY2FubWVtOgogIC0gc29ydCBvcmRlciBpbiBweXRob24gLnB5YyBmaWxlcwpzY2hlbWU0 ODoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBsaWIvc2NoZW1lNDgtKi9zY2hlbWU0OC5pbWFn ZQpzY3JvbGxrZWVwZXI6CiAgLSB0aW1lc3RhbXBzIGluIHZhci9sb2cvc2Nyb2xsa2VlcGVyLmxv ZwpzY3NoOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlIGluIGxpYi9zY3NoLSovc2NzaC5pbWFnZQpz ZWdlbWVobDoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZSBpbiBiaW4vKgpzZXJ2ZWV6OgogIC0gdGlt ZXN0YW1wcyBpbiBiaW4vc2VydmVlegpzaWxjLXRvb2xraXQ6CiAgLSB1bmlkZW50aWZpZWQgaXNz dWUgaW4gbGliLyouc28uKgpzaW1hdnI6CiAgLSBvcmRlcmluZyBkaWZmZXJlbmNlcyBpbiBpbmNs dWRlL3NpbWF2ci9zaW1fY29yZV9kZWNsLmgKc2luZ3VsYXJpdHk6CiAgLSB0aW1lc3RhbXBzIGlu IGxpYmV4ZWMvc2luZ3VsYXJpdHkvYm9vdHN0cmFwLXNjcmlwdHMvZW52aXJvbm1lbnQudGFyCnNr cmliaWxvOgogIC0gdGltZXN0YW1wcyBpbiAuaHRtbCBmaWxlcwogIC0gdGltZXN0YW1wcyBpbiAu cGRmIGZpbGVzCiAgLSB0aW1lc3RhbXBzIGluIC5pbmZvIGZpbGVzCnNsZXBjOgogIC0gdW5pZGVu dGlmaWVkIGlzc3VlcyBpbiBsaWIvbGlic2xlcGMuc28uKgpzbGVwYy1jb21wbGV4OgogIC0gdW5p ZGVudGlmaWVkIGlzc3VlcyBpbiBsaWIvbGlic2xlcGMuc28uKgpzbGVwYy1jb21wbGV4LW9wZW5t cGk6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGxpYi9saWJzbGVwYy5zby4qCnNsZXBjLW9w ZW5tcGk6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGxpYi9saWJzbGVwYy5zby4qCnNtYWxs dGFsazoKICAtIHNvcnQgb3JkZXIgaW4gLnN0YXIgKGVtYmVkZGVkIC56aXApCiAgLSB0aW1lc3Rh bXBzIGluIC5zdGFyIChlbWJlZGRlZCAuemlwKQpzbWxuajoKICAtIHVuaWRlbnRpZmllZCBpc3N1 ZXMgaW4gYmluIGFuZCBsaWIKc29ubmV0OgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBsaWIv bGliS0Y1U29ubmV0Q29yZS5zby4qCnNyYWluOgogIC0gb3JkZXJpbmcgaW4gc2hhcmUvZG9jL3Ny YWluL2h0bWwvLmRvY3RyZWVzL2Vudmlyb25tZW50LnBpY2tsZQpzcmVjb3JkOgogIC0gdGltZXN0 YW1wcyBpbiAucGRmIGdlbmVyYXRlZCBieSBnaG9zdHNjcmlwdApzdGFyOgogIC0gdW5pZGVudGlm aWVkIGlzc3VlcyBpbiBiaW4vU1RBUgpzdGFybG9uZzoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMg aW4gYmluL1NUQVJsb25nCnN0ZXg6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGxpYi9zdGV4 L3RhNmxlLyoKc3R1bXB3bToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gYmluL3N0dW1wd20K c3R1bXB3bS13aXRoLXNseW5rOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBiaW4vc3R1bXB3 bQpzdXJnZS1zeW50aDoKICAtIG9yZGVyaW5nIG9mIGFuZC9vciBkaWZmZXJpbmcgLnN2ZyBmaWxl cyB3aXRoaW4gU3VyZ2Uuc28Kc3dpc2gtZToKICAtIG1heWJlIG9yZGVyaW5nIGlzc3VlcyBpbiBi aW4vc3dpc2gtZSBhbmQgbGliL2xpYnN3aXNoLWUqLmEsIG1heWJlIGxvY2FsZSByZWxhdGVkIGZp bGVzCnN5c2xpbnV4OgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyAobWF5YmUgb2JzY3VyZSB0aW1l c3RhbXBzPykgaW4gYmluL3N5c2xpbnV4LCBzYmluL2V4dGxpbnV4IGFuZCBzaGFyZS9zeXNsaW51 eC8qCnRhbzoKICAtIGRhdGVzIGluIHRhb192ZXJzaW9uIGluIGJpbi90YW8tY29uZmlnCiAgLSB0 aW1lc3RhbXBzIGluIERBVEUgaW4gc2hhcmUvdGFvL2V4YW1wbGVzL01ha2VmaWxlCiAgLSBkYXRl cyBpbiBUQU9fVkVSU0lPTiBhbmQgVkVSU0lPTiBpbiBzaGFyZS90YW8vZXhhbXBsZXMvTWFrZWZp bGUKdGVuc29yZmxvdzoKICAtIG9yZGVyaW5nIGluIC5weWMgZmlsZXMKdGVzc2VyYWN0LW9jcjoK ICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gbGliL2xpYnRlc3NlcmFjdCoKdGV4aW1wYXRpZW50 OgogIC0gdGltZXN0YW1wcyBpbiAuZHZpCiAgLSB0aW1lc3RhbXBzIGluIC5wZGYKICAtIGRhdGVz IGluIC5wZGYKdGV4bGl2ZS1hbXNmb250czoKICAtIHRpbWVzdGFtcHMgaW4gLjYwMGdmIGZpbGVz CnRleGxpdmUtY206CiAgLSB0aW1lc3RhbXBzIGluIC5sb2cgYW5kIC42MDBnZiBmaWxlcwp0ZXhs aXZlLWV0ZXg6CiAgLSB0aW1lc3RhbXBzIGluIC5sb2cgYW5kIC42MDBnZiBmaWxlcwp0ZXhsaXZl LWZvbnRpbnN0OgogIC0gdGltZXN0YW1wcyBpbiAubG9nIGZpbGVzCnRleGxpdmUtZm9udHMtZWM6 CiAgLSB0aW1lc3RhbXBzIGluIC5sb2cgYW5kIC42MDBnZiBmaWxlcwp0ZXhsaXZlLWZvbnRzLWxh dGV4OgogIC0gdGltZXN0YW1wcyBpbiAubG9nIGFuZCAuNjAwZ2YgZmlsZXMKdGV4bGl2ZS1mb250 cy1yc2ZzOgogIC0gdGltZXN0YW1wcyBpbiAubG9nIGFuZCAuNjAwZ2YgZmlsZXMKdGV4bGl2ZS1q YWRldGV4OgogIC0gdGltZXN0YW1wcyBpbiAuZm10IGZpbGVzCnRleGxpdmUta251dGgtbGliOgog IC0gdGltZXN0YW1wcyBpbiAubG9nIGFuZCAuNjAwZ2YgZmlsZXMKdGV4bGl2ZS1sYXRleC1iYXNl OgogIC0gdGltZXN0YW1wcyBpbiAubG9nIGFuZCAuZm10IGZpbGVzCnRleGxpdmUtbGF0ZXgtY2hh bmdlcGFnZToKICAtIGRhdGVzIGluIHNoYXJlL3RleG1mLWRpc3QvdGV4L2xhdGV4L2NoYW5nZXBh Z2UvY2hhbmdlcGFnZS5zdHkKICAgICAgYW5kIHNoYXJlL3RleG1mLWRpc3QvdGV4L2xhdGV4L2No YW5nZXBhZ2UvY2huZ3BhZ2Uuc3R5CnRleGxpdmUtbGF0ZXgtdHJpbXNwYWNlczoKICAtIGRhdGUg aW4gc2hhcmUvdGV4bWYtZGlzdC90ZXgvbGF0ZXgvdHJpbXNwYWNlcy90cmltc3BhY2VzLnN0eQp0 ZXhsaXZlLWxhdGV4LXhrZXl2YWw6CiAgLSBkYXRlIGluIHNoYXJlL3RleG1mLWRpc3QvdGV4L2xh dGV4L3hrZXl2YWwveGtleXZhbC5kdmkKdGV4bGl2ZS1tZXRhZm9udDoKICAtIGRhdGUgaW4gc2hh cmUvdGV4bWYtZGlzdC93ZWIyYy9tZi5iYXNlCnRleGxpdmUtbWV0YWxvZ286CiAgLSBkYXRlIGlu IHNoYXJlL2RvYy9sYXRleC9tZXRhbG9nby9tZXRhbG9nby5wZGYKdGV4bGl2ZS1tZmxvZ286CiAg LSBkYXRlIGluIHNoYXJlL3RleG1mLWRpc3QvYnVpbGQvbG9nb3NsOC42MDBnZiBhbmQKICAgICAg c2hhcmUvdGV4bWYtZGlzdC90ZXgvbGF0ZXgvbWZsb2dvL2xvZ29zbDguNjAwZ2YKdGV4bGl2ZS1w YXJhbGlzdDoKICAtIGRhdGUgaW4gc2hhcmUvZG9jL2xhdGV4L3BhcmFsaXN0L3BhcmFsaXN0LnBk Zgp0ZXhsaXZlLXhpbmR5OgogIC0gY2FzZSBkaWZmZXJlbmNlcyAoZS5nLiAiREgiIHZzLiAiZGgi KSBpbiAueGR5IGZpbGVzCnRleGxpdmUteG1sdGV4OgogIC0gdGltZXN0YW1wIGluIHNoYXJlL3Rl eG1mLWRpc3Qvd2ViMmMvcGRmdGV4L3BkZnhtbHRleC5mbXQgYW5kCiAgICAgIHNoYXJlL3RleG1m LWRpc3Qvd2ViMmMvcGRmdGV4L3htbHRleC5mbXQKdGhjLWlwdjY6CiAgZml4ZWQ6CiAgICAtIGRh dGVzIGluIG1hbnBhZ2VzCnRpbm1vcDoKICAtIHVuaWRlbiBpbiBiaW4vdGlubW9wCiAgLSBzb3J0 IG9yZGVyIGluIGVtYmVkZGVkIC5saXNwIGFuZCAuc2NtIGZpbGVzCnRsYTJ0b29sczoKICAtIHRp bWVzdGFtcCBpbiBzaGFyZS9qYXZhL3RsYTJ0b29scy5qYXIKdWdyZXA6CiAgLSB1bmlkZW50aWZp ZWQgaXNzdWVzIGluIGJpbgp1aW06CiAgLSBzb3J0IG9yZGVyIG9mIHNoYXJlL3VpbS9sb2FkZXIu c2NtIGFuZCBzaGFyZS91aW0vaW5zdGFsbGVkLW1vZHVsZXMuc2NtCnVpbS1ndGs6CiAgLSBzb3J0 IG9yZGVyIG9mIHNoYXJlL3VpbS9sb2FkZXIuc2NtIGFuZCBzaGFyZS91aW0vaW5zdGFsbGVkLW1v ZHVsZXMuc2NtCnV0b3g6CiAgLSByYW5kb20gc3RyaW5ncyBpbiBlbWJlZGRlZCB0ZW1wb3Jhcnkg ZmlsZXMgImUuZy4gdXRveC5YWFhYWFgubHRyYW5zMC5vIgp2YWxhQDUyOgogIC0gdW5pZGVudGlm aWVkIGlzc3VlcyBpbiBiaW4gYW5kIGxpYgp2YWxhQDU0OgogIC0gdW5pZGVudGlmaWVkIGlzc3Vl cyBpbiBiaW4gYW5kIGxpYgp2aWNlOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBiaW4Kdmly dHVhb3NvLW9zZToKICAtIHNvcnQgb3JkZXIgb3IgcmFuZG9tbmVzcyBpbiBzaGFyZS92aXJ0dW9z by92YWQvaXNwYXJxbF9kYXYudmFkCnZpdmlkOgogIC0gdW5pZGVudGlmaWVkIGlzc3VlcyBpbiBi aW4vdml2aWQKd2luZToKICAtIHRpbWVzdGFtcHMgaW4gKi5kbGwuc28sIGNhbiBiZSAocGFydGx5 PykgbWl0aWdhdGVkIHVzaW5nCiAgICAgIFdJRExfVElNRV9PVkVSUklERSBlbnZpcm9ubWVudCB2 YXJpYWJsZSBvciBwYXRjaGluZyBvdXQgaW4KICAgICAgdG9vbHMvd2lkbC93cml0ZV9tc2Z0LmMK d2luZTY0OgogIC0gdGltZXN0YW1wcyBpbiAqLmRsbC5zbywgY2FuIGJlIChwYXJ0bHk/KSBtaXRp Z2F0ZWQgdXNpbmcKICAgICAgV0lETF9USU1FX09WRVJSSURFIGVudmlyb25tZW50IHZhcmlhYmxl IG9yIHBhdGNoaW5nIG91dCBpbgogICAgICB0b29scy93aWRsL3dyaXRlX21zZnQuYwp3eHdpZGdl dHNAMy4wOgogIC0ga2VybmVsIHZlcnNpb24gaW4gbGliL3d4L2luY2x1ZGUvZ3RrMy11bmljb2Rl LTMuMC93eC9zZXR1cC5oCiAgICAgIFdYV0lOX09TX0RFU0NSSVBUSU9OCnd4d2lkZ2V0c0AyLjg6 CiAgLSBrZXJuZWwgdmVyc2lvbiBpbgogICAgICBsaWIvd3gvaW5jbHVkZS9ndGsyLXVuaWNvZGUt cmVsZWFzZS0yLjgvd3gvc2V0dXAuaAogICAgICBXWFdJTl9PU19ERVNDUklQVElPTgp3eHdpZGdl dHMtZ3RrMkAzLjA6CiAgLSBrZXJuZWwgdmVyc2lvbiBpbiBsaWIvd3gvaW5jbHVkZS9ndGsyLXVu aWNvZGUtMy4wL3d4L3NldHVwLmgKICAgICAgV1hXSU5fT1NfREVTQ1JJUFRJT04KeGphY2tmcmVh azoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gYmluCnhsaXNwc3RhdDoKICAtIHVuaWRlbnRp ZmllZCBpc3N1ZSBpbiBsaWIveGxpc3BzdGF0L3hsaXNwLndrcwp4c2NyZWVuc2F2ZXI6CiAgLSB1 bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbgp4c25vdzoKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMg aW4gYmluCiAgLSBkYXRlIGVtYmVkZGVkIGluIHNoYXJlL21ldGFpbmZvL3hzbm93LmFwcGRhdGEu eG1sCnlhZGlmYToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gYmluLCBzYmluIGFuZCBsaWIK ejM6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGJpbiBhbmQgbGliCnplaXRnZWlzdDoKICAt IG9yZGVyaW5nIGlzc3VlcyBpbiBsaWIvbGliemVpdGdlaXN0LTIuMC5zby4wLjAuMAp6aXRhLWFs c2EtcGNtaToKICAtIHVuaWRlbnRpZmllZCBpc3N1ZXMgaW4gbGliL2xpYnppdGEtYWxzYS1wY21p LnNvLjAuMy4yCnpuLXBvbHk6CiAgLSB1bmlkZW50aWZpZWQgaXNzdWVzIGluIGxpYgp6eW5hZGRz dWJmeDoKICAtIG5vbi1kZXRlcm1pbmlzdGljIG51bWJlciBpbiBsaWIvbHYyL1p5bkFkZFN1YkZY Lmx2Mi9wcmVzZXRzLnR0bCBwc2V0OnZhbHVlCg== --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYqa1OwAKCRDcUY/If5cW qvQkAQCOiuKFC+tFTX5JZwCZEr+s2egfvDxXV+VZpwhy6KNnyAEAkXp0UegTNYkv i/657ezp/oKkdEeEuYCG27z3uhWWcAo= =mI9C -----END PGP SIGNATURE----- --==-=-=--