From nobody Mon Jun 14 13:40:52 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 3244E11D6D91 for ; Mon, 14 Jun 2021 14:46:06 +0000 (UTC) (envelope-from tech-lists@zyxst.net) Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G3Z590y5wz3JT7 for ; Mon, 14 Jun 2021 14:46:04 +0000 (UTC) (envelope-from tech-lists@zyxst.net) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 8C04E17DA for ; Mon, 14 Jun 2021 09:41:00 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Mon, 14 Jun 2021 09:41:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zyxst.net; h= date:from:to:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=+AXPHy1fVVm3VwEZrMc1uKIjcGJ Vuxfxe2Jz84///J0=; b=lgpi+ynVqYldrHx3QVR8tOnmtoo0gZ5bod7GG0xq41m Ad1BZLvg7oA429oc8bdIIIGYQXEptGUrHIyN6RXVrOhF5V035Ggsx0hFN/gE5XEL Yky9c0OR5S3uQbSZU3Kuw84dd5dsc24OsBsYQfm+w2zUU7aQ5+Tw7vnr26iE9HW2 d7OUYK/yxDhQAOnMhWdNfcrZa4dukepk/RP+ZHNS9aozPLr5HnmPgDS/GC/kIZ7T DyS/aMiPhlnoYom964dihi1RSjbdNaiytyRR5xXfgwZkPQultT6jZfi/OzLT5jMH jLHltDaNyGX7KB/xF3rOuZN6k4TkBLSXmDXyzz2+oAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=+AXPHy 1fVVm3VwEZrMc1uKIjcGJVuxfxe2Jz84///J0=; b=YmyJRI+ptOAIEjMMZecRuw 1frU7QxpxfTwjapgusUtjMe7mVMZGqTQRXOnmT13ZHFN2GDZOafgJSbBsg+e/+T2 J5tZcW8JyWATzxFa+KekHEeIyg9CO2RNujHHm7G6lu7SpmzsEUb1MYlYRQWBAJSd ePdyMJWatN9FIjIfp/JQlsthG7HC6bbbj04Z8JfJ8ov2M0rXMsu26RpVdZDb5gIw p0uWPzj381THfC1TQaWJlw2QTH0lrJBC/9xb19q+1jHRKYsq+BKLRpy9/Gpp/6m+ ePRGd7L4OI+xWq+G0hh33cwR5MaoUecVI+QIX+/eSqAGcr9pXFdC9cSzIGUUuAvg == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfedvhedgieefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdlvddtmdenucfjughrpeffhf fvuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepthgvtghhqdhlihhsthhsuceo thgvtghhqdhlihhsthhsseiihiigshhtrdhnvghtqeenucggtffrrghtthgvrhhnpedtte elkeeuvedthfeuleeiffeivddvffdtleduteekffevueffledtledvveegueenucevlhhu shhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehtvggthhdqlhhish htshesiiihgihsthdrnhgvth X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Mon, 14 Jun 2021 09:40:53 -0400 (EDT) Date: Mon, 14 Jun 2021 14:40:52 +0100 From: tech-lists To: freebsd-current@freebsd.org Subject: Re: 15s wait for prompt for sudo su - on -current Message-ID: Mail-Followup-To: freebsd-current@freebsd.org References: <1157538923.13501.1623610094162@localhost> <3605327C-7ABE-4B87-AA32-2FC59F89784D@grem.de> List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="/1xIWRyRAnSfxnk1" Content-Disposition: inline In-Reply-To: <3605327C-7ABE-4B87-AA32-2FC59F89784D@grem.de> X-Rspamd-Queue-Id: 4G3Z590y5wz3JT7 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=zyxst.net header.s=fm2 header.b=lgpi+ynV; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=YmyJRI+p; dmarc=none; spf=pass (mx1.freebsd.org: domain of tech-lists@zyxst.net designates 64.147.123.25 as permitted sender) smtp.mailfrom=tech-lists@zyxst.net X-Spamd-Result: default: False [-5.70 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[zyxst.net:s=fm2,messagingengine.com:s=fm3]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_VERYGOOD(0.00)[64.147.123.25:from]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:64.147.123.25]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[4]; DMARC_NA(0.00)[zyxst.net]; DKIM_TRACE(0.00)[zyxst.net:+,messagingengine.com:+]; NEURAL_HAM_SHORT(-1.00)[-1.000]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:11403, ipnet:64.147.123.0/24, country:US]; MAILMAN_DEST(0.00)[freebsd-current]; RCVD_IN_DNSWL_LOW(-0.10)[64.147.123.25:from] X-ThisMailContainsUnwantedMimeParts: N --/1xIWRyRAnSfxnk1 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jun 13, 2021 at 09:16:58PM +0200, Michael Gmelin wrote: > > >> On 13. Jun 2021, at 20:50, Ronald Klop wrote: >> >> =EF=BB=BFWhat do you have configured as prompt? Or shell startup script? >> Does it contain a call to git? >> > >I agree that this smells like a prompt that calls "git status" or somethin= g similar (when on the FreeBSD source tree on an rpi, 15 seconds feels abou= t right for performing such a call). Hi, Yes, that was it! In .cshrc, I had not quoted some git aliases properly. fixed that and now everything is normal. I need to remember ctrl-t thanks --=20 J. --/1xIWRyRAnSfxnk1 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE8n3tWhxW11Ccvv9/s8o7QhFzNAUFAmDHXFwACgkQs8o7QhFz NAV5hg//RTAyLMbUyTlrza+/lCFemZn/aGGGMdzDz3Yb8ibweR0+zHU3nvp3bRJY 7kiyv8QrB4bv2Vvy0ycPYyK7JBpx96azwRYzDslvj6x8pShKHc0h7gnrkNxKbHYj CIKW42gXc9EKyxBc0Qgkb+yvsRdiY6WBcK+dNsvYrY2eWrGYviQVbKWtY8guzXie rr+pd1rgxEqA29Yl0ST/CepudHkrQ+cFnCIywL5IH9W7Slw82oRuQVg0EfO5p6Rw afmxZ7o/pPH1HxX6J5X6jdBf8bktaB54hpgO0k3SEzYqh63nMA0RBO5686G6uf7n ry5Hh8UHqYt4d5C7vMrpMrF5O5IsKwh5e8njdCCrMIffLr+RewOeNlcEMNiZ12zL Qq4HL4Nymg0LFeZzvggWo4u+cKAnf2/PtsWKE59b5rBO7wijwdkkwjTwJ+UWZdoc /EBwypIlbPB2fadz/MWo5F2vPv6AVdbinDS9MjJO7vtgDLLDyfp3YcFxTX6FTAT0 7NxiSv5BeHqBhnyQZ/oMcTvKKetME9BA3Zq/tb3UIq7ZQ2aEvMYi32fprvfJmLD6 cNQ02qHqqdrYVE2xbck0wufkb/QhzYstaLpxpiZEioeME5wGipYVuhFquG6R/K3A IEVsbx90SjtWYhsiYZlSr8KUUZ/bJMYGD8i3uVGRlwLBUsSXZeU= =O/Qw -----END PGP SIGNATURE----- --/1xIWRyRAnSfxnk1-- From nobody Mon Jun 14 20:38:15 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 481DE11CA9BD for ; Mon, 14 Jun 2021 20:38:22 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic305-21.consmr.mail.gq1.yahoo.com (sonic305-21.consmr.mail.gq1.yahoo.com [98.137.64.84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G3jvc6RFxz4ngk for ; Mon, 14 Jun 2021 20:38:20 +0000 (UTC) (envelope-from marklmi@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1623703099; bh=bfxloKFnLXEsZDeHmmbkHzvrzMc+B/YvnsGU0je8hI8=; h=From:Subject:Date:Cc:To:References:From:Subject:Reply-To; b=fthit4lk9Ge+x2vAGpJyeDbENIAjmuIVPT+9C+Nb/+vqM35+Od65v3O27125jutuaS9rUEtWYzBg0p/y4F5wdQutN027eZxbPuE4FYzNEXORCG3tLevV1fm+XaqxZmKrS9cgtlA3b/qMLzHVcTj2MV8W+lw3l6FzOTmA2gUt3JbudvO8rbysA8EdmRZs/gV3r3fefC7Zs/8rQEkHxilhKZA3xF7kLyKFs4FQWl8YIgJPU28GNb5eGB1yXaPQPRDPSKACXxsxYoEs+y2Vhh/kN7l8euIY2p9srS2Gxl8JxfL4aW8UIHFSV/LeV0hXfc2aCKAlTBuvJAI6jW1FIIqCfg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1623703099; bh=5a6/IFoBmLD8CYheOlsOTczP+pwbv8K9mPuhsDLXrAh=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=paKjSgGt71/8kh28nhC7wI0+tOduI72Yc0E2ZV9hUJ/ko1P2LIEcg20O20PD7nisPpv34Nt1tkkNaObxmFtNxK/yqYA4ank33OXSWKBlr/m1drq2Wghx0gmU7xMWASSsShUwEs24JQtgsj25uKrpZFqkfwLMeAyKryJlLs5b+xVU+s63LgClbUebFDHK/fXPm5Gut0gDpCRyHAK67kEr+pN1D0GZpiX9ptHeHLPSsVmKCm1C8T55yNzkm3jbr0KHmOu9iaM6AsU7TZ5lhwVVoKrl1bcmObBD9ewvWQkCnDxqpe4XgP7ktL3ObW1Yf9aOAeAFG3p/hZ2O2abUd6iNVw== X-YMail-OSG: YiNrO5AVM1netHdO2PhVpZqyjRT6ZhZbNhtqAtEIpvuSAHZ97kgyuBfeSb1iOk4 6GuB.eUSuck9YmpSz9R3iMzSFij8bM_y1oQs5JOtYtre3vNSwA.C.lb6lKPmDAPUJB.qaWA.sckf 3oQS6UdWNB_ogRCGKsnCXVT5VB516eudwZBmlz9PvolBNyUSI2QLUZ91ODtvubDalMy_ZO8L5NKu 9mufSJ.W.zgK8v678aYLcOFjpIrN2PhIGsoFYAbdB8tt5pzHqlA.gadEaReEPxBIHmD7pxVV6f1U za_V_xyVHSkof.2HNhescBnX3a7pLm1as1tT.Cuoi0_sGqdihquyXfGQ8mFsCKKsD_GtDrvec.mD kwJWhkdMv6rOiPe34r3sHMSbi9pxHrGoQB8U5RZ9RN_vNVj7PbhgEILQOPvYGJ0lyuofvqiyESg_ DZpOt7vTcuk1P7SpKW1CFIE_e4CldVeOZqemI3UH78F1uM0yLBWCGfCb35PSsTvO_ts1wKUJ6_3u u0BvqkSyyS_oYsJQhPqQmzuSeULt01us8QbiZaeAClXA_haS2wXahjHqMZf1wttr2oFTRESTmv8M 6BxQWbEZUkP.qj5DMXdzUYeigYpsjlsnRaepkcAhrpgl4wrtMomKuLicpoYi8KAXbUlR5eB4Fetb _RC4aXqCfarbHI_KO0rdPcAlJvjNpX7Hqpp2hHL20sa1sq7eAKHtcU5v4cAPE3LXTQRdfm2wH3Q6 aC7TOdiTE3GgIigxRC9L_AnTZHucH_Ri228gFMk5VKS42XE8jzC7k5VWoYt34rpIMntVPIsKgm38 W.lgGlAqxs9zuzvvw9wjuw9eCoJY__I7CqN1tBudQbT2wR3tSX5VX3olePcOIQ.nseF.Jw5PyCC3 NsRfheLsbMwY_V73L4xfwbWFLNmyj_i9JrZATQVWmq27a.5xPgm5zD63HVufTMP8ee4tRU6iWVUU TClnrQvOoRsXOeOd_DTyy24hyq0.fwzABSz.5wuVpcQdVQ400yVeTjEi9Wcc.hJfGIGqp6P3lZnF 2EmXoWFzgFYZsRsRLYGgR6vxylWxNzNWcWaVdJRusFnbrlretYq6dkIkmZHgyOdeq0Fdoz4WrPRU DCbWbd503LNyF3lK9F9nBc.5YIS0gV3wqzm.82IGi3OkFbaZEvxgesUfoTjYDUWR.VLWw9SsWj5i NDEM16Dn_9CO2YZnuWknis253wfkbSuejTRnwkR8sbIYuxxgpRnS2C4zmFD2xyE190oMI7HdHiel lE7yQYFPb.OxDVbAk2o1Vqb1qKGA5Bqa7pw2DbC.jsbaK3h3fjngEqX8KfofS7lfOvvmzk9gJ5YX NUvLZ3.ktNbqLj7rQjfeEUlgl2.E.Z0sRpONg5dLlz17PH38PHvCXSa8gE4D9JYJE0FYMAdv12tq ApZz8u19afddvhYCTBuJXWIOEcXY_edeMyJ9eOITt9bf67VmGuRI6puKU5VvzSz9FbhI_FQ_h9p2 4RitHUNj0e32nST83rFPlW0NcmnILn5GUXHPCoNemZMcB8ZdTIkhpTVs7jBybznSkgdgV3S7y5Fm aiMHUirZDZai4LUm0cYd3Qzt06Fj2BoITNCyESdsPYCbGRleQFKe1rLOoBHgzRd4Ep_KYdZNuMbr tdGMKxI0rq0SdRwxeUkhU6v0f2dqe3c.nK4lRpvwQGh8oJcFpphYxXJ5TN2jTVu90bS0CtpSAb6p mi9d3_vrRmwGsk7XmMknhii3e5GDMm7Xfnorj47Fm4W.EX8IsvEMGe9pWeGYT2gr6HWotTFi0Wh5 ua2zpY6H2L2kyk5n.6IEms50z1zbYp0eCGahaBcudf1eQLHHtxyqqCY4niozfUd_c3SFxPn7LHv. 4iLVcqvauEQFimXJMBTzvNsuZOmq8.SJt0A.hIHU_l4S1ZzWHqaKUuQQPmFJl8n74CsPrxVACsKf 78uUsHiFQr_YOvvd04W.AXAAXAoH4n_PoFcxYUJuCu1eB244YulaRPHSajp4pFXdZEL5xt8tSccV 0ygeTqNJVQ6lz.XJn7Ad0kgSbhPEUDpk3uWHhA7c6YDKDTtTBdWQjOKTVRYEC1KT8tb2EyciM3.N y73nhznTiq8NGXBdxUyFpj2ZyBrV8WarpkIlttD294izBw6WXxzFZkmTrIAqNS2Zaj3jUnfL3kSm oTXo2s3FODhxjg33tuVfAXpHQHx9gzWW3NptGXPkmev_4jCdUn4ASiQHjpBQYuhsq5EifkLODVFV FPme3GVZxNGgy0b30bKknRFfXDJyiDG9yyPJi_wlgpLNYpEAnXURvzJf6OXPB_owJzVDSoPyzfhj Biimj3V0Dj7QjV4UZUY53gGAWxU.sUkIbzz7QszWo.02l9QkdlAqdLsMI_b0_W_y.E.ZZ.JbAI0L Os2irTYmJd0bPTI05Y59SR9fytH7qGPlJ6bGcqyfy418tD2fVRt0HvEiLkR5oqWLSHWkragH8ICe TUlkx_vGnUb_0gbnGF5HD_s9sjzFtG9ZqMIUgFhqzrA.cN7Rrvti2eBVXZD55NWaHVW5ZJ5CaLlu lqIYfwvmo_pPRTy1lscgQRgAR1J.SwZ4Ilt5i.zff6Upu1NDlDli58p6bgxES02.h034oWUHYuti ypTYqpURXSe6tkHfxvKIM8tnI0WHCsUGAfSApDekD6QNsFWtsE.ZO0vCggZwmKbnWT7aGRhjagzK OZeDVfWUCBnIQ3pC4x9yTF_3sT7ZEd3r9zA.WaAxVfeF0Hg-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.gq1.yahoo.com with HTTP; Mon, 14 Jun 2021 20:38:19 +0000 Received: by kubenode545.mail-prod1.omega.ne1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 6f1dc65f46f71a43e9bde3fa363f8d35; Mon, 14 Jun 2021 20:38:17 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Subject: Re: git: 790a6be5a169 - main - Export various 128 bit long double functions from libgcc_s.so.1 Message-Id: <38C7A31A-CB21-4C3C-98D0-38F91EBC35D3@yahoo.com> Date: Mon, 14 Jun 2021 13:38:15 -0700 Cc: freebsd-current To: Dimitry Andric X-Mailer: Apple Mail (2.3654.100.0.2.22) References: <38C7A31A-CB21-4C3C-98D0-38F91EBC35D3.ref@yahoo.com> X-Rspamd-Queue-Id: 4G3jvc6RFxz4ngk X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=fthit4lk; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.84 as permitted sender) smtp.mailfrom=marklmi@yahoo.com X-Spamd-Result: default: False [-3.50 / 15.00]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RBL_DBL_DONT_QUERY_IPS(0.00)[98.137.64.84:from]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; SPAMHAUS_ZRD(0.00)[98.137.64.84:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.84:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.84:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-current] Reply-To: marklmi@yahoo.com From: Mark Millard via freebsd-current X-Original-From: Mark Millard X-ThisMailContainsUnwantedMimeParts: N Dimitry Andric dim at FreeBSD.org wrote on Mon Jun 14 19:17:40 UTC 2021 : > The branch main has been updated by dim: >=20 > URL:=20 > = https://cgit.FreeBSD.org/src/commit/?id=3D790a6be5a1699291c6da87871426d0c5= 6dedcc89 >=20 >=20 > commit 790a6be5a1699291c6da87871426d0c56dedcc89 > Author: Dimitry Andric > AuthorDate: 2021-06-14 19:17:05 +0000 > Commit: Dimitry Andric > CommitDate: 2021-06-14 19:17:05 +0000 >=20 > Export various 128 bit long double functions from libgcc_s.so.1 > =20 > These were already compiled for some time on aarch64 and riscv, by > including lib/libcompiler_rt/Makefile.inc, but never exported in = the > shared library. Since gcc exports these under version GCC_4.6.0, = we do > the same. > =20 > This review should replace D11482 for now. For e.g. amd64 more = work is > still to be done, as compiler-rt does not seem to support 128 bit = long > double math for that architecture. =20 Given that "man arch" explicitly reports: Architecture void * long double time_t . . . amd64 8 16 8 . . . and also: Architecture float, double long double . . . amd64 hard hard, 80 bit . . . (so there is guaranteed pad involved), would amd64 having 128 bit long doubles (no pad by default?) be an FreeBSD ABI change, possibly needing a discussion on freebsd-arch and freebsd-numerics ? (Or may be it happened and I just do not remember. Or may be it would take special enabling of the alternate ABI's use and not be a default configuration.) (i386 only has "12", not "16", for its "80 bit", so 96 bits: less pad.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) From nobody Mon Jun 14 22:15:42 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 14B2E11D3E4F for ; Mon, 14 Jun 2021 22:15:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G3m435xTmz3KvG; Mon, 14 Jun 2021 22:15:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "R3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 9425A21719; Mon, 14 Jun 2021 22:15:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (unknown [IPv6:2001:470:7a58:0:9062:5662:3b4e:5bd]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 62357B9A9; Tue, 15 Jun 2021 00:15:46 +0200 (CEST) From: Dimitry Andric Message-Id: Content-Type: multipart/signed; boundary="Apple-Mail=_0B3F64FC-7FAB-40DD-8FD1-C5BD97948E5C"; protocol="application/pgp-signature"; micalg=pgp-sha1 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Subject: Re: git: 790a6be5a169 - main - Export various 128 bit long double functions from libgcc_s.so.1 Date: Tue, 15 Jun 2021 00:15:42 +0200 In-Reply-To: <38C7A31A-CB21-4C3C-98D0-38F91EBC35D3@yahoo.com> Cc: freebsd-current To: Mark Millard References: <38C7A31A-CB21-4C3C-98D0-38F91EBC35D3.ref@yahoo.com> <38C7A31A-CB21-4C3C-98D0-38F91EBC35D3@yahoo.com> X-Mailer: Apple Mail (2.3654.100.0.2.22) X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_0B3F64FC-7FAB-40DD-8FD1-C5BD97948E5C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 14 Jun 2021, at 22:38, Mark Millard wrote: >=20 > Dimitry Andric dim at FreeBSD.org wrote on > Mon Jun 14 19:17:40 UTC 2021 : >=20 >> The branch main has been updated by dim: >>=20 >> URL: >> = https://cgit.FreeBSD.org/src/commit/?id=3D790a6be5a1699291c6da87871426d0c5= 6dedcc89 >>=20 >>=20 >> commit 790a6be5a1699291c6da87871426d0c56dedcc89 >> Author: Dimitry Andric >> AuthorDate: 2021-06-14 19:17:05 +0000 >> Commit: Dimitry Andric >> CommitDate: 2021-06-14 19:17:05 +0000 >>=20 >> Export various 128 bit long double functions from libgcc_s.so.1 >>=20 >> These were already compiled for some time on aarch64 and riscv, by >> including lib/libcompiler_rt/Makefile.inc, but never exported in = the >> shared library. Since gcc exports these under version GCC_4.6.0, = we do >> the same. >>=20 >> This review should replace D11482 for now. For e.g. amd64 more = work is >> still to be done, as compiler-rt does not seem to support 128 bit = long >> double math for that architecture. >=20 > Given that "man arch" explicitly reports: >=20 > Architecture void * long double time_t > . . . > amd64 8 16 8 > . . . >=20 > and also: >=20 > Architecture float, double long double > . . . > amd64 hard hard, 80 bit > . . . Yeah this is a bit confusing, since padding is never mentioned. > (so there is guaranteed pad involved), would amd64 having 128 > bit long doubles (no pad by default?) be an FreeBSD ABI change, > possibly needing a discussion on freebsd-arch and > freebsd-numerics ? (Or may be it happened and I just do not > remember. Or may be it would take special enabling of the > alternate ABI's use and not be a default configuration.) >=20 > (i386 only has "12", not "16", for its "80 bit", so 96 bits: > less pad.) There's nothing to worry about, the "tf" variants in this update are only enabled for aarch64 and riscv; see lib/libcompiler_rt/Makefile.inc: # # 128-bit quad precision long double support, # only used on some architectures. # .if ${MACHINE_CPUARCH} =3D=3D "aarch64" || ${MACHINE_CPUARCH} =3D=3D = "riscv" SRCF+=3D addtf3 SRCF+=3D comparetf2 SRCF+=3D divtf3 SRCF+=3D extenddftf2 SRCF+=3D extendsftf2 SRCF+=3D fixtfdi SRCF+=3D fixtfsi SRCF+=3D fixtfti SRCF+=3D fixunstfdi SRCF+=3D fixunstfsi SRCF+=3D fixunstfti SRCF+=3D floatsitf SRCF+=3D floattitf SRCF+=3D floatunsitf SRCF+=3D floatuntitf SRCF+=3D multf3 SRCF+=3D subtf3 SRCF+=3D trunctfdf2 SRCF+=3D trunctfsf2 .endif I'm sorry to have sowed confusion here, as the commit message was mostly copy/pasted from the Phabricator review. Please consider the amd64 sentence to be 'cancelled'. :) -Dimitry --Apple-Mail=_0B3F64FC-7FAB-40DD-8FD1-C5BD97948E5C Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCYMfVDgAKCRCwXqMKLiCW o/1LAKCeF+9QXubklasDw4naLdgG25jesgCg7VFiFc4jZt9fZWpp2D+bUDGsWXA= =azeR -----END PGP SIGNATURE----- --Apple-Mail=_0B3F64FC-7FAB-40DD-8FD1-C5BD97948E5C-- From nobody Tue Jun 15 16:03:27 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1FA2E11D1118 for ; Tue, 15 Jun 2021 16:03:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4Cm10Q0lz4XLx; Tue, 15 Jun 2021 16:03:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro.local (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 6847A29DB8; Tue, 15 Jun 2021 16:03:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: drm-kmod kernel crash fatal trap 12 To: Bakul Shah , lausts@acm.org Cc: Current FreeBSD References: <01000179f13a6d3e-da7dd183-162b-4d1e-bf61-cfae3c584814-000000@email.amazonses.com> <4894bd36-92bd-596e-cc18-cd3e6aafe47f@selasky.org> <01000179f645c406-d38fbce4-d9d4-41c2-8c20-54a278d44196-000000@email.amazonses.com> <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> From: John Baldwin Message-ID: <3b43e526-80af-abf7-bc78-1a59dbc35b8d@FreeBSD.org> Date: Tue, 15 Jun 2021 09:03:27 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 6/10/21 8:13 AM, Bakul Shah wrote: > On Jun 10, 2021, at 7:13 AM, Thomas Laus wrote: >> The drm-kmod module is the latest from the pkg server. It all >> worked this past Monday after the recent drm-kmod update. > > This is what I did: > > git clone https://github.com/freebsd/drm-kmod > ln -s $PWD/drm-kmod /usr/local/sys/modules > > Now it gets compiled every time you do make buildkernel. > If things break you can do a git pull in the drm-kmod dir > and rebuild. This is what I do now as well. I think this is probably the sanest approach to use on HEAD at least. -- John Baldwin From nobody Tue Jun 15 18:22:57 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id A076C11DAEE6 for ; Tue, 15 Jun 2021 18:23:03 +0000 (UTC) (envelope-from bakul@iitbombay.org) Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4Gs33vCLz4mn9 for ; Tue, 15 Jun 2021 18:23:03 +0000 (UTC) (envelope-from bakul@iitbombay.org) Received: by mail-pg1-x535.google.com with SMTP id e22so12141574pgv.10 for ; Tue, 15 Jun 2021 11:23:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iitbombay-org.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=psHyzvLbcCZcgc9ubVKCxrz3JZs/lbcDALD9FcUSAaY=; b=j5+/Avq75aOAUi/SwkyR0RJDaaR2z2i34kH6jODpI8c0rWrAVbYENyad9tBo/79vr6 QmgsaBBglQ/2ruJopYGFMLjthXEZcKzjsXI18YSURE4e4keAK/UIgxvYz0rwz8eVNx/H T0KzFcS2jIZWV28VYksfl6XLbdq8ph3IvccKfrJ93/b7gQoZv/1JtZEJELmPgNwDyQKl /VeCBid+cIFEE4IzHRYy6D7jSDQc22jkGu6f1NeqIPefm0xZQ3/zwgyZqcgThVKV18Pp Q0IEcK/vpWeWrc2hA+aulEE5Dmdaj25nDi/XmpvvhwFs9EdyN13Wr5EdPP98o5WdWcBp usQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=psHyzvLbcCZcgc9ubVKCxrz3JZs/lbcDALD9FcUSAaY=; b=Nrvhw7hZGkahnw5GAQxMoWDmJBidi0FkIicJoRdq1BHSgsMtQXmNY1tv0/8Se8vS+N W8ajQmTAITEIbUglj51gNdl0TXCdWNEwGs5vtmEenr5yfOBl6tcMI5dOyq2L6FPLVjD/ 0x4R4T0Vov5tbXUXkHNEXj4cZM0R6TCLkVUTZ66KNZ3pbmCc/hjcVFRJ6KdnMS/le0iQ wbDelcnfhCY3nC98FtJiAjESy2G5zYm0Vk+e96nA8K3YHVlt88ZQtH9mfDFgxSdMWovE Z2TOUE0cMAPdEa8xA3j4LNsx5dZh7AVdYCW/QaCQux1p7wwmem98sqIVY+ifiw3p+3ui 5sHw== X-Gm-Message-State: AOAM533quPP0lq4q8OFGh14cY9DhjTC51s2SF6XS57eymYM6TQDE+XMN iQfPlnPW3NFy5/FRGw1YI7hLjA== X-Google-Smtp-Source: ABdhPJw0zeR6aghjQKquvAWsPHmDn2r9zSB+ZJ0bNwhB4f/LYjG5GkqsjcRUBDoCSpe9f/K7w2V4cQ== X-Received: by 2002:a62:34c7:0:b029:28e:addf:f17a with SMTP id b190-20020a6234c70000b029028eaddff17amr5942874pfa.62.1623781381732; Tue, 15 Jun 2021 11:23:01 -0700 (PDT) Received: from smtpclient.apple (107-215-223-229.lightspeed.sntcca.sbcglobal.net. [107.215.223.229]) by smtp.gmail.com with ESMTPSA id u7sm16947459pgl.39.2021.06.15.11.23.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Jun 2021 11:23:00 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Subject: Re: drm-kmod kernel crash fatal trap 12 From: Bakul Shah In-Reply-To: <3b43e526-80af-abf7-bc78-1a59dbc35b8d@FreeBSD.org> Date: Tue, 15 Jun 2021 11:22:57 -0700 Cc: lausts@acm.org, Current FreeBSD Content-Transfer-Encoding: 7bit Message-Id: References: <01000179f13a6d3e-da7dd183-162b-4d1e-bf61-cfae3c584814-000000@email.amazonses.com> <4894bd36-92bd-596e-cc18-cd3e6aafe47f@selasky.org> <01000179f645c406-d38fbce4-d9d4-41c2-8c20-54a278d44196-000000@email.amazonses.com> <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> <3b43e526-80af-abf7-bc78-1a59dbc35b8d@FreeBSD.org> To: John Baldwin X-Mailer: Apple Mail (2.3654.100.0.2.22) X-Rspamd-Queue-Id: 4G4Gs33vCLz4mn9 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On Jun 15, 2021, at 9:03 AM, John Baldwin wrote: > > On 6/10/21 8:13 AM, Bakul Shah wrote: >> On Jun 10, 2021, at 7:13 AM, Thomas Laus wrote: >>> The drm-kmod module is the latest from the pkg server. It all >>> worked this past Monday after the recent drm-kmod update. >> This is what I did: >> git clone https://github.com/freebsd/drm-kmod >> ln -s $PWD/drm-kmod /usr/local/sys/modules >> Now it gets compiled every time you do make buildkernel. >> If things break you can do a git pull in the drm-kmod dir >> and rebuild. > > This is what I do now as well. I think this is probably the > sanest approach to use on HEAD at least. IIRC I learned this from one of your posts. The PORTS_MODULES approach results in installing kernel modules /boot/modules, which doesn't track /boot/kernel*/. From nobody Tue Jun 15 21:04:02 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id B9CB111E5CDC for ; Tue, 15 Jun 2021 21:04:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4LQs4f0Rz3LRH; Tue, 15 Jun 2021 21:04:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro.local (ralph.baldwin.cx [66.234.199.215]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 302042CB47; Tue, 15 Jun 2021 21:04:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: drm-kmod kernel crash fatal trap 12 To: Bakul Shah Cc: lausts@acm.org, Current FreeBSD References: <01000179f13a6d3e-da7dd183-162b-4d1e-bf61-cfae3c584814-000000@email.amazonses.com> <4894bd36-92bd-596e-cc18-cd3e6aafe47f@selasky.org> <01000179f645c406-d38fbce4-d9d4-41c2-8c20-54a278d44196-000000@email.amazonses.com> <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> <3b43e526-80af-abf7-bc78-1a59dbc35b8d@FreeBSD.org> From: John Baldwin Message-ID: <30bbdb21-9fd7-ac33-c688-05b8907fb8cb@FreeBSD.org> Date: Tue, 15 Jun 2021 14:04:02 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On 6/15/21 11:22 AM, Bakul Shah wrote: > On Jun 15, 2021, at 9:03 AM, John Baldwin wrote: >> >> On 6/10/21 8:13 AM, Bakul Shah wrote: >>> On Jun 10, 2021, at 7:13 AM, Thomas Laus wrote: >>>> The drm-kmod module is the latest from the pkg server. It all >>>> worked this past Monday after the recent drm-kmod update. >>> This is what I did: >>> git clone https://github.com/freebsd/drm-kmod >>> ln -s $PWD/drm-kmod /usr/local/sys/modules >>> Now it gets compiled every time you do make buildkernel. >>> If things break you can do a git pull in the drm-kmod dir >>> and rebuild. >> >> This is what I do now as well. I think this is probably the >> sanest approach to use on HEAD at least. > > IIRC I learned this from one of your posts. > > The PORTS_MODULES approach results in installing kernel modules > /boot/modules, which doesn't track /boot/kernel*/. Yes, PORTS_MODULES is not so great when you are building test kernels from branches that are different points in time and then go back to booting your "stock" kernel as the module is now built against the wrong ABI and breaks your "stock" kernel. This is why I added LOCAL_MODULES and the SRC knob to drm-kmod, but the source knob is a bit bumpy in practice as you sometimes need newer source than your current package. (For example, if your "stock" kernel only changes every few months, but you pull newer work trees for test kernels.) For that case, it has proven simpler to just do the direct checkout that I can git pull when needed. -- John Baldwin From nobody Wed Jun 16 03:36:07 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 56EB811D212C for ; Wed, 16 Jun 2021 03:36:11 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from rainpuddle.neelc.org (locks.neelc.org [158.51.84.233]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4W7G53Wvz4YMm for ; Wed, 16 Jun 2021 03:36:10 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from mail.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) by rainpuddle.neelc.org (Postfix) with ESMTPSA id B537789249 for ; Tue, 15 Jun 2021 20:36:07 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Date: Tue, 15 Jun 2021 20:36:07 -0700 From: Neel Chauhan To: current@freebsd.org Subject: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: nc@FreeBSD.org Content-Type: multipart/mixed; boundary="=_6c746e1972af0f709cf78dfbb7dd9b08" X-Rspamd-Queue-Id: 4G4W7G53Wvz4YMm X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; ASN(0.00)[asn:23470, ipnet:158.51.84.0/24, country:US]; local_wl_from(0.00)[FreeBSD.org] X-ThisMailContainsUnwantedMimeParts: N --=_6c746e1972af0f709cf78dfbb7dd9b08 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hi current@, First off, sorry if I spammed developers@ and other mailing lists with my previous message, and to bz@/hselasky@/manu@ sent so many duplicate emails. Right now, I am attempting to update the drm-kmod driver to the Linux 5.7 code, and am having an issue with the pmap lock. I am new-ish to the kernel, meaning not a whole lot of "experience", but do have patches in src. But like it not we need kernel newbies, they're the next generation of experts. If we don't, we'd be the next Minix with **zero** development since Tanenbaum retired. Going back, the code in question is here: https://github.com/neelchauhan/drm-kmod/blob/5.7-wip/drivers/gpu/drm/i915/gem/i915_gem_mman.c#L346 The lines important are 346-356, but lines of interest are also the non-"#ifdef __linux__" sections of vm_fault_cpu(). The code gives this error: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 I have attached the core dump log. To those who aren't graphics driver experts, it happens when I load Xorg when Xorg attempts to map the I/O to userspace. But I feel this is more of me not using page locks correctly (which is needed for the pmap), or maybe a linuxkpi issue, rather than a graphics-specific issue. I spent days on this (all my non-$DAYJOB hours at one point + all my weekends) and haven't figured out the locks completely. Does anyone have suggestions to what I'm doing wrong in my code and locks? If it is important, OpenBSD's version of this code is here: https://github.com/openbsd/src/blob/2207c4325726fdc5c4bcd0011af0fdf7d3dab137/sys/dev/pci/drm/i915/gem/i915_gem_mman.c#L459 (lines 459-523, but some calls are unsurprisingly different). Hope you all can help. -Neel (nc@) --=_6c746e1972af0f709cf78dfbb7dd9b08 Content-Transfer-Encoding: base64 Content-Type: text/plain; name=i915kms-pmap-dump.txt Content-Disposition: attachment; filename=i915kms-pmap-dump.txt; size=118020 c3BlY3RyZS5sb2NhbCBkdW1wZWQgY29yZSAtIHNlZSAvdmFyL2NyYXNoL3ZtY29yZS45CgpUdWUg SnVuIDE1IDIwOjIwOjM5IFBEVCAyMDIxCgpGcmVlQlNEIHNwZWN0cmUubG9jYWwgMTQuMC1DVVJS RU5UIEZyZWVCU0QgMTQuMC1DVVJSRU5UICMxIG1haW4tbjI0NzI3NC00YWI1Yzg4ZGEyODctZGly dHk6IFdlZCBKdW4gIDkgMjI6MzM6NDAgUERUIDIwMjEgICAgIHJvb3RAc3BlY3RyZS5sb2NhbDov dXNyL29iai91c3Ivc3JjL2FtZDY0LmFtZDY0L3N5cy9HRU5FUklDICBhbWQ2NAoKcGFuaWM6IEFz c2VydGlvbiB2bV9vYmplY3RfYnVzaWVkKChtLT5vYmplY3QpKSBmYWlsZWQgYXQgL3Vzci9zcmMv c3lzL3ZtL3ZtX3BhZ2UuYzo1NDU1CgpHTlUgZ2RiIChHREIpIDEwLjIgW0dEQiB2MTAuMiBmb3Ig RnJlZUJTRF0KQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUu b3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJl ZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRv IHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KVHlwZSAic2hvdyBjb3B5aW5nIiBhbmQgInNo b3cgd2FycmFudHkiIGZvciBkZXRhaWxzLgpUaGlzIEdEQiB3YXMgY29uZmlndXJlZCBhcyAieDg2 XzY0LXBvcnRibGQtZnJlZWJzZDE0LjAiLgpUeXBlICJzaG93IGNvbmZpZ3VyYXRpb24iIGZvciBj b25maWd1cmF0aW9uIGRldGFpbHMuCkZvciBidWcgcmVwb3J0aW5nIGluc3RydWN0aW9ucywgcGxl YXNlIHNlZToKPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2RiL2J1Z3MvPi4KRmluZCB0 aGUgR0RCIG1hbnVhbCBhbmQgb3RoZXIgZG9jdW1lbnRhdGlvbiByZXNvdXJjZXMgb25saW5lIGF0 OgogICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nZGIvZG9jdW1lbnRhdGlvbi8+LgoK Rm9yIGhlbHAsIHR5cGUgImhlbHAiLgpUeXBlICJhcHJvcG9zIHdvcmQiIHRvIHNlYXJjaCBmb3Ig Y29tbWFuZHMgcmVsYXRlZCB0byAid29yZCIuLi4KUmVhZGluZyBzeW1ib2xzIGZyb20gL2Jvb3Qv a2VybmVsL2tlcm5lbC4uLgpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL2xpYi9kZWJ1Zy8vYm9v dC9rZXJuZWwva2VybmVsLmRlYnVnLi4uCgpVbnJlYWQgcG9ydGlvbiBvZiB0aGUga2VybmVsIG1l c3NhZ2UgYnVmZmVyOgpwYW5pYzogQXNzZXJ0aW9uIHZtX29iamVjdF9idXNpZWQoKG0tPm9iamVj dCkpIGZhaWxlZCBhdCAvdXNyL3NyYy9zeXMvdm0vdm1fcGFnZS5jOjU0NTUKY3B1aWQgPSAzCnRp bWUgPSAxNjIzODEzNTgwCktEQjogc3RhY2sgYmFja3RyYWNlOgpkYl90cmFjZV9zZWxmX3dyYXBw ZXIoKSBhdCBkYl90cmFjZV9zZWxmX3dyYXBwZXIrMHgyYi9mcmFtZSAweGZmZmZmZTAxMTM1NmI1 OTAKdnBhbmljKCkgYXQgdnBhbmljKzB4MTgxL2ZyYW1lIDB4ZmZmZmZlMDExMzU2YjVlMApwYW5p YygpIGF0IHBhbmljKzB4NDMvZnJhbWUgMHhmZmZmZmUwMTEzNTZiNjQwCnZtX3BhZ2Vfb2JqZWN0 X2J1c3lfYXNzZXJ0KCkgYXQgdm1fcGFnZV9vYmplY3RfYnVzeV9hc3NlcnQrMHg0NC9mcmFtZSAw eGZmZmZmZTAxMTM1NmI2NTAKcG1hcF9lbnRlcigpIGF0IHBtYXBfZW50ZXIrMHgxMDUvZnJhbWUg MHhmZmZmZmUwMTEzNTZiNzAwCnZtX2ZhdWx0X2NwdSgpIGF0IHZtX2ZhdWx0X2NwdSsweDIzZC9m cmFtZSAweGZmZmZmZTAxMTM1NmI3NjAKbGludXhfY2Rldl9wYWdlcl9wb3B1bGF0ZSgpIGF0IGxp bnV4X2NkZXZfcGFnZXJfcG9wdWxhdGUrMHgxNWYvZnJhbWUgMHhmZmZmZmUwMTEzNTZiN2QwCnZt X2ZhdWx0X2FsbG9jYXRlKCkgYXQgdm1fZmF1bHRfYWxsb2NhdGUrMHgzMTAvZnJhbWUgMHhmZmZm ZmUwMTEzNTZiODMwCnZtX2ZhdWx0KCkgYXQgdm1fZmF1bHQrMHg1MGUvZnJhbWUgMHhmZmZmZmUw MTEzNTZiOTQwCnZtX2ZhdWx0X3RyYXAoKSBhdCB2bV9mYXVsdF90cmFwKzB4NzEvZnJhbWUgMHhm ZmZmZmUwMTEzNTZiOTgwCnRyYXBfcGZhdWx0KCkgYXQgdHJhcF9wZmF1bHQrMHgyNDYvZnJhbWUg MHhmZmZmZmUwMTEzNTZiOWUwCnRyYXAoKSBhdCB0cmFwKzB4NDVmL2ZyYW1lIDB4ZmZmZmZlMDEx MzU2YmFmMApjYWxsdHJhcCgpIGF0IGNhbGx0cmFwKzB4OC9mcmFtZSAweGZmZmZmZTAxMTM1NmJh ZjAKLS0tIHRyYXAgMHhjLCByaXAgPSAweDgwMmM2MjI2NSwgcnNwID0gMHg3ZmZmZmZmZmRjNDAs IHJicCA9IDB4N2ZmZmZmZmZkYzUwIC0tLQpLREI6IGVudGVyOiBwYW5pYwpVcHRpbWU6IDEybTQ1 cwpEdW1waW5nIDkyNiBvdXQgb2YgMTU5ODUgTUI6Li4yJS4uMTElLi4yMSUuLjMyJS4uNDIlLi41 MSUuLjYxJS4uNzElLi44MiUuLjkyJQoKX19jdXJ0aHJlYWQgKCkgYXQgL3Vzci9zcmMvc3lzL2Ft ZDY0L2luY2x1ZGUvcGNwdV9hdXguaDo1NQo1NQkJX19hc20oIm1vdnEgJSVnczolUDEsJTAiIDog Ij1yIiAodGQpIDogIm4iIChvZmZzZXRvZihzdHJ1Y3QgcGNwdSwKKGtnZGIpICMwICBfX2N1cnRo cmVhZCAoKSBhdCAvdXNyL3NyYy9zeXMvYW1kNjQvaW5jbHVkZS9wY3B1X2F1eC5oOjU1CiMxICBk b2FkdW1wICh0ZXh0ZHVtcD10ZXh0ZHVtcEBlbnRyeT0xKQogICAgYXQgL3Vzci9zcmMvc3lzL2tl cm4va2Vybl9zaHV0ZG93bi5jOjM5OQojMiAgMHhmZmZmZmZmZjgwYzE3ODMwIGluIGtlcm5fcmVi b290IChob3d0bz0yNjApCiAgICBhdCAvdXNyL3NyYy9zeXMva2Vybi9rZXJuX3NodXRkb3duLmM6 NDg2CiMzICAweGZmZmZmZmZmODBjMTdjOTAgaW4gdnBhbmljIChmbXQ9PG9wdGltaXplZCBvdXQ+ LCBhcD08b3B0aW1pemVkIG91dD4pCiAgICBhdCAvdXNyL3NyYy9zeXMva2Vybi9rZXJuX3NodXRk b3duLmM6OTE5CiM0ICAweGZmZmZmZmZmODBjMTc5ZTMgaW4gcGFuaWMgKGZtdD08dW5hdmFpbGFi bGU+KQogICAgYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5jOjg0MwojNSAgMHhm ZmZmZmZmZjgwZjgzY2Y0IGluIHZtX3BhZ2Vfb2JqZWN0X2J1c3lfYXNzZXJ0IChtPTxvcHRpbWl6 ZWQgb3V0PikKICAgIGF0IC91c3Ivc3JjL3N5cy92bS92bV9wYWdlLmM6NTQ1NQojNiAgMHhmZmZm ZmZmZjgxMGJkMmQ1IGluIHBtYXBfZW50ZXIgKHBtYXA9cG1hcEBlbnRyeT0weGZmZmZmZTAwMjJk YjExMjAsIAogICAgdmE9PG9wdGltaXplZCBvdXQ+LCB2YUBlbnRyeT0wLCBtPTx1bmF2YWlsYWJs ZT4sIAogICAgbUBlbnRyeT0weGZmZmZmZTAwMGM2NTcyODAsIHByb3Q9cHJvdEBlbnRyeT0wICdc MDAwJywgCiAgICBmbGFncz08dW5hdmFpbGFibGU+LCBwc2luZD1wc2luZEBlbnRyeT0wICdcMDAw JykKICAgIGF0IC91c3Ivc3JjL3N5cy9hbWQ2NC9hbWQ2NC9wbWFwLmM6Njg2OQojNyAgMHhmZmZm ZmZmZjgzMThiMzhkIGluIHZtX2ZhdWx0X2NwdSAoZHVtbXk9PG9wdGltaXplZCBvdXQ+LCAKICAg IGR1bW15QGVudHJ5PTxlcnJvciByZWFkaW5nIHZhcmlhYmxlOiB2YWx1ZSBpcyBub3QgYXZhaWxh YmxlPiwgCiAgICB2bWY9PG9wdGltaXplZCBvdXQ+LCAKICAgIHZtZkBlbnRyeT08ZXJyb3IgcmVh ZGluZyB2YXJpYWJsZTogdmFsdWUgaXMgbm90IGF2YWlsYWJsZT4pCiAgICBhdCAvcm9vdC9kcm0t a21vZC9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbW1hbi5jOjM1MAojOCAgMHhm ZmZmZmZmZjgwZTdhNzlmIGluIGxpbnV4X2NkZXZfcGFnZXJfcG9wdWxhdGUgKAogICAgdm1fb2Jq PTB4ZmZmZmY4MDE5Y2E3NmE1MCwgcGlkeD08b3B0aW1pemVkIG91dD4sIAogICAgZmF1bHRfdHlw ZT08b3B0aW1pemVkIG91dD4sIG1heF9wcm90PTxvcHRpbWl6ZWQgb3V0PiwgCiAgICBmaXJzdD0w eGZmZmZmZTAxMTM1NmI4MDAsIGxhc3Q9MHhmZmZmZmUwMTEzNTZiN2Y4KQogICAgYXQgL3Vzci9z cmMvc3lzL2NvbXBhdC9saW51eGtwaS9jb21tb24vc3JjL2xpbnV4X2NvbXBhdC5jOjU1OQojOSAg MHhmZmZmZmZmZjgwZjY0MTEwIGluIHZtX3BhZ2VyX3BvcHVsYXRlIChvYmplY3Q9PHVuYXZhaWxh YmxlPiwgCiAgICBwaWR4PTx1bmF2YWlsYWJsZT4sIGZhdWx0X3R5cGU9PHVuYXZhaWxhYmxlPiwg bWF4X3Byb3Q9PHVuYXZhaWxhYmxlPiwgCiAgICBmaXJzdD0weGZmZmZmZTAxMTM1NmI4MDAsIGxh c3Q9MHhmZmZmZmUwMTEzNTZiN2Y4KQogICAgYXQgL3Vzci9zcmMvc3lzL3ZtL3ZtX3BhZ2VyLmg6 MTgyCiMxMCB2bV9mYXVsdF9wb3B1bGF0ZSAoZnM9MHhmZmZmZmUwMTEzNTZiODk4KQogICAgYXQg L3Vzci9zcmMvc3lzL3ZtL3ZtX2ZhdWx0LmM6NDQzCiMxMSB2bV9mYXVsdF9hbGxvY2F0ZSAoZnM9 ZnNAZW50cnk9MHhmZmZmZmUwMTEzNTZiODk4KQogICAgYXQgL3Vzci9zcmMvc3lzL3ZtL3ZtX2Zh dWx0LmM6MTA5OQojMTIgMHhmZmZmZmZmZjgwZjYyYzNlIGluIHZtX2ZhdWx0IChtYXA9PG9wdGlt aXplZCBvdXQ+LCAKICAgIG1hcEBlbnRyeT0weGZmZmZmZTAwMjJkYjEwMDAsIHZhZGRyPTxvcHRp bWl6ZWQgb3V0PiwgCiAgICB2YWRkckBlbnRyeT0zNDM2NDQxNjAwMCwgZmF1bHRfdHlwZT1mYXVs dF90eXBlQGVudHJ5PTIgJ1wwMDInLCAKICAgIGZhdWx0X2ZsYWdzPTxvcHRpbWl6ZWQgb3V0Piwg ZmF1bHRfZmxhZ3NAZW50cnk9MCwgbV9ob2xkPTxvcHRpbWl6ZWQgb3V0PiwgCiAgICBtX2hvbGRA ZW50cnk9MHgwKSBhdCAvdXNyL3NyYy9zeXMvdm0vdm1fZmF1bHQuYzoxNDMzCiMxMyAweGZmZmZm ZmZmODBmNjI1ZTEgaW4gdm1fZmF1bHRfdHJhcCAobWFwPTB4ZmZmZmZlMDAyMmRiMTAwMCwgCiAg ICB2YWRkcj08b3B0aW1pemVkIG91dD4sIGZhdWx0X3R5cGU9PG9wdGltaXplZCBvdXQ+LCAKICAg IGZhdWx0X2ZsYWdzPWZhdWx0X2ZsYWdzQGVudHJ5PTAsIHNpZ25vPTB4ZmZmZmZlMDExMzU2YmFj NCwgCiAgICB1Y29kZT11Y29kZUBlbnRyeT0weGZmZmZmZTAxMTM1NmJhYzApIGF0IC91c3Ivc3Jj L3N5cy92bS92bV9mYXVsdC5jOjYzNwojMTQgMHhmZmZmZmZmZjgxMGQ0MDQ2IGluIHRyYXBfcGZh dWx0IChmcmFtZT1mcmFtZUBlbnRyeT0weGZmZmZmZTAxMTM1NmJiMDAsIAogICAgdXNlcm1vZGU9 dHJ1ZSwgc2lnbm89PG9wdGltaXplZCBvdXQ+LCBzaWdub0BlbnRyeT0weGZmZmZmZTAxMTM1NmJh YzQsIAogICAgdWNvZGU9PHVuYXZhaWxhYmxlPiwgdWNvZGVAZW50cnk9MHhmZmZmZmUwMTEzNTZi YWMwKQogICAgYXQgL3Vzci9zcmMvc3lzL2FtZDY0L2FtZDY0L3RyYXAuYzo4NDUKIzE1IDB4ZmZm ZmZmZmY4MTBkMzYyZiBpbiB0cmFwIChmcmFtZT0weGZmZmZmZTAxMTM1NmJiMDApCiAgICBhdCAv dXNyL3NyYy9zeXMvYW1kNjQvYW1kNjQvdHJhcC5jOjM4MAojMTYgPHNpZ25hbCBoYW5kbGVyIGNh bGxlZD4KIzE3IDB4MDAwMDAwMDgwMmM2MjI2NSBpbiA/PyAoKQpCYWNrdHJhY2Ugc3RvcHBlZDog Q2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweDdmZmZmZmZmZGM0MAooa2dkYikgCgot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KcHMgLWF4bHd3CgogVUlEICBQSUQgUFBJRCBDIFBSSSBOSSAgICBWU1og ICBSU1MgTVdDSEFOICAgU1RBVCBUVCAgICAgVElNRSBDT01NQU5ECiAgIDAgICAgMCAgICAwIDAg LTE2ICAwICAgICAgMCAgICAgMCBzd2FwaW4gICBETHMgICAtICAwOjAwLjMyIFtrZXJuZWxdCiAg IDAgICAgMSAgICAwIDIgIDM1ICAwICAxMTkzMiAgMTI2OCB3YWl0ICAgICBETHMgICAtICAwOjAw LjA1IFtpbml0XQogICAwICAgIDIgICAgMCAzIC0xNiAgMCAgICAgIDAgICAgIDAgLSAgICAgICAg REwgICAgLSAgMDowMC4wMCBbS1RMU10KICAgMCAgICAzICAgIDAgMyAtMTYgIDAgICAgICAwICAg ICAwIGNyeXB0b193IERMICAgIC0gIDA6MDAuMDAgW2NyeXB0b10KICAgMCAgICA0ICAgIDAgNCAt MTYgIDAgICAgICAwICAgICAwIGNyeXB0b19yIERMICAgIC0gIDA6MDAuMDAgW2NyeXB0byByZXR1 cm5zIDBdCiAgIDAgICAgNSAgICAwIDUgLTE2ICAwICAgICAgMCAgICAgMCBjcnlwdG9fciBETCAg ICAtICAwOjAwLjAwIFtjcnlwdG8gcmV0dXJucyAxXQogICAwICAgIDYgICAgMCA3IC0xNiAgMCAg ICAgIDAgICAgIDAgY3J5cHRvX3IgREwgICAgLSAgMDowMC4wMCBbY3J5cHRvIHJldHVybnMgMl0K ICAgMCAgICA3ICAgIDAgMyAtMTYgIDAgICAgICAwICAgICAwIGNyeXB0b19yIERMICAgIC0gIDA6 MDAuMDAgW2NyeXB0byByZXR1cm5zIDNdCiAgIDAgICAgOCAgICAwIDcgLTE2ICAwICAgICAgMCAg ICAgMCBjcnlwdG9fciBETCAgICAtICAwOjAwLjAwIFtjcnlwdG8gcmV0dXJucyA0XQogICAwICAg IDkgICAgMCA3IC0xNiAgMCAgICAgIDAgICAgIDAgY3J5cHRvX3IgREwgICAgLSAgMDowMC4wMCBb Y3J5cHRvIHJldHVybnMgNV0KICAgMCAgIDEwICAgIDAgNyAtMTYgIDAgICAgICAwICAgICAwIGF1 ZGl0X3dvIERMICAgIC0gIDA6MDAuMDAgW2F1ZGl0XQogICAwICAgMTEgICAgMCAwIDE1NSAgMCAg ICAgIDAgICAgIDAgLSAgICAgICAgUkwgICAgLSAgNDoyMi4zMyBbaWRsZV0KICAgMCAgIDEyICAg IDAgMCAtNTYgIDAgICAgICAwICAgICAwIC0gICAgICAgIFdMICAgIC0gIDA6MDAuNzIgW2ludHJd CiAgIDAgICAxMyAgICAwIDYgIC04ICAwICAgICAgMCAgICAgMCAtICAgICAgICBETCAgICAtICAw OjAwLjAwIFtnZW9tXQogICAwICAgMTQgICAgMCA0IC0xNiAgMCAgICAgIDAgICAgIDAgY3J5cHRv X3IgREwgICAgLSAgMDowMC4wMCBbY3J5cHRvIHJldHVybnMgNl0KICAgMCAgIDE1ICAgIDAgNyAt MTYgIDAgICAgICAwICAgICAwIGNyeXB0b19yIERMICAgIC0gIDA6MDAuMDAgW2NyeXB0byByZXR1 cm5zIDddCiAgIDAgICAxNiAgICAwIDMgLTE2ICAwICAgICAgMCAgICAgMCBzZXFzdGF0ZSBETCAg ICAtICAwOjAwLjAwIFtzZXF1ZW5jZXIgMDBdCiAgIDAgICAxNyAgICAwIDIgLTE2ICAwICAgICAg MCAgICAgMCAtICAgICAgICBETCAgICAtICAwOjAwLjAwIFtjYW1dCiAgIDAgICAxOCAgICAwIDYg LTY4ICAwICAgICAgMCAgICAgMCAtICAgICAgICBETCAgICAtICAwOjAwLjM4IFt1c2JdCiAgIDAg ICAxOSAgICAwIDEgLTE2ICAwICAgICAgMCAgICAgMCAtICAgICAgICBETCAgICAtICAwOjAwLjAw IFtzb2Fpb2QxXQogICAwICAgMjAgICAgMCAzIC0xNiAgMCAgICAgIDAgICAgIDAgLSAgICAgICAg REwgICAgLSAgMDowMC4wMCBbc29haW9kMl0KICAgMCAgIDIxICAgIDAgMCAtMTYgIDAgICAgICAw ICAgICAwIC0gICAgICAgIERMICAgIC0gIDA6MDAuMDAgW3NvYWlvZDNdCiAgIDAgICAyMiAgICAw IDAgLTE2ICAwICAgICAgMCAgICAgMCAtICAgICAgICBETCAgICAtICAwOjAwLjAwIFtzb2Fpb2Q0 XQogICAwICAgMjMgICAgMCA1ICAtOCAgMCAgICAgIDAgICAgIDAgdC0+enRocl8gREwgICAgLSAg MDowMC4xNiBbemZza2Vybl0KICAgMCAgIDI0ICAgIDAgNyAtMTYgIDAgICAgICAwICAgICAwIC0g ICAgICAgIERMICAgIC0gIDA6MDAuMDEgW3JhbmRfaGFydmVzdHFdCiAgIDAgICAyNSAgICAwIDEg LTE2ICAwICAgICAgMCAgICAgMCB0enBvbGwgICBETCAgICAtICAwOjAwLjAwIFthY3BpX3RoZXJt YWxdCiAgIDAgICAyNiAgICAwIDAgLTE2ICAwICAgICAgMCAgICAgMCBjb29saW5nICBETCAgICAt ICAwOjAwLjAwIFthY3BpX2Nvb2xpbmcwXQogICAwICAgMjcgICAgMCA0IC0xNiAgMCAgICAgIDAg ICAgIDAgcHNsZWVwICAgREwgICAgLSAgMDowMC4wMSBbcGFnZWRhZW1vbl0KICAgMCAgIDI4ICAg IDAgNiAtMTYgIDAgICAgICAwICAgICAwIHBzbGVlcCAgIERMICAgIC0gIDA6MDAuMDAgW3ZtZGFl bW9uXQogICAwICAgMjkgICAgMCAwIC0xNiAgMCAgICAgIDAgICAgIDAgcXNsZWVwICAgREwgICAg LSAgMDowMC4wMSBbYnVmZGFlbW9uXQogICAwICAgMzAgICAgMCA1ICAxNiAgMCAgICAgIDAgICAg IDAgc3luY2VyICAgREwgICAgLSAgMDowMC4wMCBbc3luY2VyXQogICAwICAgMzEgICAgMCAxIC0x NiAgMCAgICAgIDAgICAgIDAgdmxydXd0ICAgREwgICAgLSAgMDowMC4wMCBbdm5scnVdCiAgIDAg IDk0MSAgICAwIDcgLTE2ICAwICAgICAgMCAgICAgMCBzbGVlcCAgICBETCAgICAtICAwOjAwLjAw IFtuZ19xdWV1ZV0KICAgMCAgOTk3ICAgIDEgNSAgNTIgIDAgIDEzMzA4ICAyODE2IHNlbGVjdCAg IERzICAgIC0gIDA6MDAuMDAgW2RoY2xpZW50XQogICAwIDEwMDAgICAgMSA1ICAgNCAgMCAgMTMz MDggIDI4OTYgc2VsZWN0ICAgRHMgICAgLSAgMDowMC4wMCBbZGhjbGllbnRdCiAgNjUgMTA3OCAg ICAxIDUgIDI0ICAwICAxMzMxMiAgMzAyOCBzZWxlY3QgICBEQ3MgICAtICAwOjAwLjAwIFtkaGNs aWVudF0KICAgMCAxMjI5ICAgIDEgMSAgMjAgIDAgIDExNjAwICAxNzk2IHNlbGVjdCAgIERzICAg IC0gIDA6MDAuMDAgW2RldmRdCiAgIDAgMTQyMyAgICAxIDUgICAxICAwICAxMzAyOCAgMjk0NCBz ZWxlY3QgICBEcyAgICAtICAwOjAwLjAzIFtzeXNsb2dkXQogICAwIDE1MTEgICAgMSA2ICAyMCAg MCAgMTMwNjggIDI3MTIgbmFuc2xwICAgRHMgICAgLSAgMDowMC4wMCBbY3Jvbl0KICAgMCAxNTMw ICAgIDEgNiAgMjAgIDAgIDIxMDcyICA4NDU2IHNlbGVjdCAgIERzICAgIC0gIDA6MDAuMDAgW3Nz aGRdCiAgIDAgMTU1MiAgICAxIDIgIDIwICAwICAxMzgzNiAgMzI2NCB3YWl0ICAgICBEcyAgICAt ICAwOjAwLjAwIFtsb2dpbl0KICAgMCAxNTUzICAgIDEgNSAgNTIgIDAgIDEyOTk2ICAyMzc2IHR0 eWluICAgIERzKyAgIC0gIDA6MDAuMDAgW2dldHR5XQogICAwIDE1NTQgICAgMSA0ICA1MiAgMCAg MTI5OTYgIDIzNzYgdHR5aW4gICAgRHMrICAgLSAgMDowMC4wMCBbZ2V0dHldCiAgIDAgMTU1NSAg ICAxIDMgIDUyICAwICAxMjk5NiAgMjM3NiB0dHlpbiAgICBEcysgICAtICAwOjAwLjAwIFtnZXR0 eV0KICAgMCAxNTU2ICAgIDEgMCAgNTIgIDAgIDEyOTk2ICAyMzc2IHR0eWluICAgIERzKyAgIC0g IDA6MDAuMDAgW2dldHR5XQogICAwIDE1NTcgICAgMSA2ICA1MiAgMCAgMTI5OTYgIDIzNzYgdHR5 aW4gICAgRHMrICAgLSAgMDowMC4wMCBbZ2V0dHldCiAgIDAgMTU1OCAgICAxIDEgIDUyICAwICAx Mjk5NiAgMjM3NiB0dHlpbiAgICBEcysgICAtICAwOjAwLjAwIFtnZXR0eV0KICAgMCAxNTU5ICAg IDEgMiAgNTIgIDAgIDEyOTk2ICAyMzc2IHR0eWluICAgIERzKyAgIC0gIDA6MDAuMDAgW2dldHR5 XQogICAwIDE1NjEgMTUzMCAyICAyMSAgMCAgMjE1MDggIDkwODQgc2VsZWN0ICAgRHMgICAgLSAg MDowMC4wMCBbc3NoZF0KMTAwMSAxNTY0IDE1NjEgNSAgMjAgIDAgIDIxNTEyICA5MTEyIHNlbGVj dCAgIEQgICAgIC0gIDA6MDAuMDAgW3NzaGRdCjEwMDEgMTU2NSAxNTY0IDEgIDQ4ICAwICAxNDEy MCAgNDQxMiBwYXVzZSAgICBEcyAgICAtICAwOjAwLjAxIFtjc2hdCiAgIDAgMTU2OSAxNTY1IDcg IDI1ICAwICAxMzgxMiAgMzIyNCB3YWl0ICAgICBEICAgICAtICAwOjAwLjAwIFtzdV0KICAgMCAx NTcwIDE1NjkgNiAgMjAgIDAgIDE0MTIwICA0ODUyIHR0eWluICAgIEQrICAgIC0gIDA6MDAuMDAg W2NzaF0KICAgMCAxNTc1IDE1MzAgMCAgMjEgIDAgIDIxNTA4ICA5MTk2IHNlbGVjdCAgIERzICAg IC0gIDA6MDAuMDAgW3NzaGRdCjEwMDEgMTU4MCAxNTc1IDQgIDIwICAwICAyMTUxMiAgOTIyMCBz ZWxlY3QgICBEICAgICAtICAwOjAwLjAwIFtzc2hkXQoxMDAxIDE1ODEgMTU4MCAwICAyOCAgMCAg MTQxMjAgIDQ0MTYgcGF1c2UgICAgRHMgICAgLSAgMDowMC4wMSBbY3NoXQogICAwIDE1ODUgMTU4 MSAyICAyMiAgMCAgMTM4MTIgIDMyMjQgd2FpdCAgICAgRCAgICAgLSAgMDowMC4wMCBbc3VdCiAg IDAgMTU4NiAxNTg1IDEgIDUyICAwICAxNDEyMCAgNDg0OCB0dHlpbiAgICBEKyAgICAtICAwOjAw LjAwIFtjc2hdCiAgIDAgMTc0OCAxNTUyIDEgIDI2ICAwICAxNDEyMCAgNDg0OCBwYXVzZSAgICBE ICAgICAtICAwOjAwLjAwIFtjc2hdCiAgIDAgMTc1MiAxNzQ4IDIgIDI2ICAwICAxMzczNiAgMzA5 NiB3YWl0ICAgICBEKyAgICAtICAwOjAwLjAwIFtzaF0KICAgMCAxNzUzIDE3NTIgNyAgNTIgIDAg IDEzNzM2ICAzMTEyIHdhaXQgICAgIEQrICAgIC0gIDA6MDAuMDAgW3NoXQogICAwIDE3NjYgMTc1 MyAzICA1MiAgMCAgMTQ3NTYgIDI5MDQgcGF1c2UgICAgRCsgICAgLSAgMDowMC4wMCBbeGluaXRd CiAgIDAgMTc2NyAxNzY2IDMgIDcxIC0xIDEyNzM5NiA1MzM0NCAtICAgICAgICBSPCAgICAtICAw OjAwLjAwIFtYb3JnXQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnZtc3RhdCAtcwoKICAgNDgzMTUwIGNwdSBj b250ZXh0IHN3aXRjaGVzCiAgIDE0NjQ2MSBkZXZpY2UgaW50ZXJydXB0cwogICAgMTIwMTMgc29m dHdhcmUgaW50ZXJydXB0cwogICA0NTY3MjMgdHJhcHMKICAgODIxNjExIHN5c3RlbSBjYWxscwog ICAgICAgMzIga2VybmVsIHRocmVhZHMgY3JlYXRlZAogICAgIDEzMzYgIGZvcmsoKSBjYWxscwog ICAgICAzNzMgdmZvcmsoKSBjYWxscwogICAgICAgMjYgcmZvcmsoKSBjYWxscwogICAgICAgIDAg c3dhcCBwYWdlciBwYWdlaW5zCiAgICAgICAgMCBzd2FwIHBhZ2VyIHBhZ2VzIHBhZ2VkIGluCiAg ICAgICAgMCBzd2FwIHBhZ2VyIHBhZ2VvdXRzCiAgICAgICAgMCBzd2FwIHBhZ2VyIHBhZ2VzIHBh Z2VkIG91dAogICAgIDY0OTEgdm5vZGUgcGFnZXIgcGFnZWlucwogICAgODg2NDkgdm5vZGUgcGFn ZXIgcGFnZXMgcGFnZWQgaW4KICAgICAgNDUzIHZub2RlIHBhZ2VyIHBhZ2VvdXRzCiAgICAxNDQ3 NiB2bm9kZSBwYWdlciBwYWdlcyBwYWdlZCBvdXQKICAgICAgICAwIHBhZ2UgZGFlbW9uIHdha2V1 cHMKICAgICAgICAwIHBhZ2VzIGV4YW1pbmVkIGJ5IHRoZSBwYWdlIGRhZW1vbgogICAgICAgIDAg Y2xlYW4gcGFnZSByZWNsYW1hdGlvbiBzaG9ydGZhbGxzCiAgICAgICAgMCBwYWdlcyByZWFjdGl2 YXRlZCBieSB0aGUgcGFnZSBkYWVtb24KICAgIDczMTM0IGNvcHktb24td3JpdGUgZmF1bHRzCiAg ICAgICA0NyBjb3B5LW9uLXdyaXRlIG9wdGltaXplZCBmYXVsdHMKICAgMzIzMjQxIHplcm8gZmls bCBwYWdlcyB6ZXJvZWQKICAgICAgICAwIHplcm8gZmlsbCBwYWdlcyBwcmV6ZXJvZWQKICAgICAg ODMwIGludHJhbnNpdCBibG9ja2luZyBwYWdlIGZhdWx0cwogICA0NDg5MTkgdG90YWwgVk0gZmF1 bHRzIHRha2VuCiAgICAgNjMyMCBwYWdlIGZhdWx0cyByZXF1aXJpbmcgSS9PCiAgICAgICAgMCBw YWdlcyBhZmZlY3RlZCBieSBrZXJuZWwgdGhyZWFkIGNyZWF0aW9uCiAgIDExMTU3MCBwYWdlcyBh ZmZlY3RlZCBieSAgZm9yaygpCiAgICAxMjgxMyBwYWdlcyBhZmZlY3RlZCBieSB2Zm9yaygpCiAg ICAgIDkxNCBwYWdlcyBhZmZlY3RlZCBieSByZm9yaygpCiAgIDYwNjY2NCBwYWdlcyBmcmVlZAog ICAgICAgIDAgcGFnZXMgZnJlZWQgYnkgZGFlbW9uCiAgICAgICAgMCBwYWdlcyBmcmVlZCBieSBl eGl0aW5nIHByb2Nlc3NlcwogICAgICAgIDAgcGFnZXMgYWN0aXZlCiAgICAgICAgMCBwYWdlcyBp bmFjdGl2ZQogICAgICAgIDAgcGFnZXMgaW4gdGhlIGxhdW5kcnkgcXVldWUKICAgICAgICAwIHBh Z2VzIHdpcmVkIGRvd24KICAgICAgICAwIHZpcnR1YWwgdXNlciBwYWdlcyB3aXJlZCBkb3duCiAg ICAgICAgMCBwYWdlcyBmcmVlCiAgICAgICAgMCBieXRlcyBwZXIgcGFnZQogICAgICAgIDAgdG90 YWwgbmFtZSBsb29rdXBzCiAgICAgICAgICBjYWNoZSBoaXRzICgwJSBwb3MgKyAwJSBuZWcpIHN5 c3RlbSAwJSBwZXItZGlyZWN0b3J5CiAgICAgICAgICBkZWxldGlvbnMgMCUsIGZhbHNlaGl0cyAw JSwgdG9vbG9uZyAwJQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnZtc3RhdCAtbQoKICAgICAgICAgVHlwZSBJ blVzZSBNZW1Vc2UgUmVxdWVzdHMgIFNpemUocykKIE5GU0Qgc2Vzc2lvbiAgICAgMSAgICAgMUsg ICAgICAgIDEgIDEwMjQKICAgIHBmc19ub2RlcyAgICAzMSAgICAxMksgICAgICAgMzEgIDM4NAog IHBmc192bmNhY2hlICAgICAzICAgIDMzSyAgICAgICAxMyAgMzIsMzI3NjgKICAgICAgICAgR0VP TSAgICA2OCAgICAxM0sgICAgICA2MTQgIDE2LDMyLDY0LDEyOCwyNTYsNTEyLDEwMjQsMjA0OCw4 MTkyLDE2Mzg0CiAgICByYWlkX2RhdGEgICAgIDAgICAgIDBLICAgICAgIDg0ICAzMiwxMjgsMjU2 CiAgICAgICBpc2FkZXYgICAgIDcgICAgIDFLICAgICAgICA3ICAxMjgKICBkZGJfY2FwdHVyZSAg ICAgMSAgICA2NEsgICAgICAgIDEgIDY1NTM2CiAgICAgICAgIGNkZXYgICAgIDIgICAgIDFLICAg ICAgICAyICAyNTYKICAgICBmaWxlZGVzYyAgICAgMSAgICAgNEsgICAgICAgIDEgIDQwOTYKICAg ICAgcHdkZGVzYyAgICA2MyAgICAgNEsgICAgIDE3NjggIDY0CiAgICAgICAgc2lnaW8gICAgIDAg ICAgIDBLICAgICAgICAxICA2NAogICAgIGZpbGVjYXBzICAgICAxICAgICAxSyAgICAgIDE4NSAg MTYsMzIsNjQKICAgICAga2R0cmFjZSAgIDk3OCAgIDIzM0sgICAgIDI3NDEgIDY0LDI1NgogICAg ICAgICBrZW52ICAgMTEwICAgIDEySyAgICAgIDExMCAgMTYsMzIsNjQsMTI4LDgxOTIKICAgICAg IGtxdWV1ZSAgICA2NiAgICAgN0sgICAgIDE3NzMgIDY0LDI1Niw1MTIsMjA0OAogICAgcHJvYy1h cmdzICAgIDk1ICAgICA0SyAgICAgMTUwMSAgMTYsMzIsNjQsMTI4LDI1NgogICAgICAgIGhob29r ICAgIDEzICAgICA0SyAgICAgICAxMyAgMjU2CiAgICAgIGl0aHJlYWQgICAyNDIgICAgNDhLICAg ICAgMjQyICAzMiwxMjgsMjU2CiAgICAgICBwcmlzb24gICAgMTIgICAgIDFLICAgICAgIDEyICAx NiwzMgogICAgICAgS1RSQUNFICAgMTAwICAgIDEzSyAgICAgIDEwMCAgMTI4CiAgICAgICBsaW5r ZXIgICA1NTAgIDIwODhLICAgICAgNzYxICAxNiwzMiw2NCwxMjgsMjU2LDM4NCw1MTIsMTAyNCwy MDQ4LDQwOTYsODE5MiwxNjM4NCwzMjc2OCw2NTUzNgogICAgICAgIGV2ZGV2ICAgIDE0ICAgIDE3 SyAgICAgICAxNCAgMzg0LDEwMjQsMjA0OAogICAgICAgIGxvY2tmICAgIDIwICAgICAzSyAgICAg ICA2NSAgNjQsMTI4CiAgIGxvZ2luY2xhc3MgICAgIDMgICAgIDFLICAgICAgICAzICA2NAogICAg ICAgZGV2YnVmIDI3NDcxIDY4MDY0SyAgICAyNzU3NiAgMTYsMzIsNjQsMTI4LDI1NiwzODQsMTAy NCwyMDQ4LDQwOTYsODE5MiwzMjc2OCw2NTUzNgogICAgICAgICB0ZW1wICAgIDY0ICAgIDM0SyAg ICAgNjI0MCAgMTYsMzIsNjQsMTI4LDI1NiwzODQsNTEyLDEwMjQsMjA0OCw4MTkyLDE2Mzg0LDMy NzY4LDY1NTM2CiAgICAgICBtb2R1bGUgICA1MjIgICAgNjZLICAgICAgNTIzICAxMjgKICAgICBt dHhfcG9vbCAgICAgMiAgICA3MksgICAgICAgIDIgIDgxOTIsNjU1MzYKICAgICAgICAgIG9zZCAg IDE1NyAgICAgM0sgICAgICAyMjIgIDE2LDMyLDY0LDEyOCwyNTYKICAgICBwbWNob29rcyAgICAg MSAgICAgMUsgICAgICAgIDEgIDEyOAogICAgICAgICAgcG1jICAgICAxICAgICAxSyAgICAgICAg MSAgNjQKICAgICAgc2Vzc2lvbiAgICAyMCAgICAgM0sgICAgICAgMzYgIDEyOAogICAgICAgICBw cm9jICAgICAzICAgIDY2SyAgICAgICAgMyAgMjA0OCwzMjc2OAogICAgICBzdWJwcm9jICAgMTU3 ICAgMjg4SyAgICAgMTg2MiAgMzg0LDQwOTYKICAgICAgICAgY3JlZCAgICA0NiAgICAxMksgICAg ICAyMDIgIDI1NgogICAgIGFjcGlpbnRyICAgICAxICAgICAxSyAgICAgICAgMSAgNjQKICAgICAg IHBsaW1pdCAgICAxOSAgICAgNUsgICAgICAzNzcgIDI1NgogICAgICB1aWRpbmZvICAgICA0ICAg ICA5SyAgICAgICAgOSAgMTI4LDgxOTIKICAgICAgIGR1bXBlciAgICAgMiAgICAgMUsgICAgICAg IDIgIDEyOCw1MTIKICAgICAgIGFjcGljYSAyNTMxOSAgMjYwMUsgICA3NzQxODEgIDE2LDMyLDY0 LDEyOCwyNTYsMzg0LDUxMiwxMDI0LDIwNDgsNDA5Niw4MTkyCiAgICAgICBzeXNjdGwgICAgIDAg ICAgIDBLICAgICAgIDc3ICAzMiw2NAogICAgc3lzY3Rsb2lkIDQ4Njg5ICAyODI3SyAgICA0ODgx OCAgMTYsMzIsNjQsMTI4LDI1NgogICAgc3lzY3RsdG1wICAgICAwICAgICAwSyAgICAgMjg2MiAg MTYsMzIsNjQsMjU2LDEwMjQKICAgICAgIGtiZG11eCAgICAgNiAgICAyMksgICAgICAgIDYgIDE2 LDM4NCwxMDI0LDIwNDgsMTYzODQKICAgICAgdGlkaGFzaCAgICAgMyAgIDE5MksgICAgICAgIDMg IDQwOTYsNjU1MzYKICAgICAgY2FsbG91dCAgICAgOCAgMjA0OEsgICAgICAgIDggIAogICAgICAg ICB1bXR4ICAxOTE0ICAgMjQwSyAgICAgMTkxNCAgMTI4CiAgICAgcDEwMDMuMWIgICAgIDEgICAg IDFLICAgICAgICAxICAxNgogICAgICAgICBTV0FQICAgICAxICAgMTMySyAgICAgICAgMSAgCiAg ICAgICAgICBidXMgIDE0OTEgICAxNDlLICAgIDM4OTI2ICAxNiwzMiw2NCwxMjgsMjU2LDIwNDgs NDA5NgogICAgICAgYnVzLXNjICAgMTE0ICAzOTg3SyAgICAxMjUyMiAgMTYsMzIsNjQsMTI4LDI1 NiwzODQsNTEyLDEwMjQsMjA0OCw0MDk2LDgxOTIsMTYzODQsMzI3NjgsNjU1MzYKICAgICAgZGV2 c3RhdCAgICAgNCAgICAgOUsgICAgICAgIDQgIDMyLDQwOTYKIGV2ZW50aGFuZGxlciAgIDEzMyAg ICAxMksgICAgICAxMzMgIDY0LDEyOAogICAgIGZpcm13YXJlICAgICAyICAgICAxSyAgICAgICAg NCAgMTYsMzIsMTI4CiAgIGd0YXNrcXVldWUgICAgNTQgICAgMzBLICAgICAgIDU0ICAxNiwzMiwy NTYsODE5MgogICAgICAgICBrb2JqICAgMzQ2ICAxMzg0SyAgICAgIDUyMiAgNDA5NgogICAgICBQ ZXItY3B1ICAgICAxICAgICAxSyAgICAgICAgMSAgMzIKICAgICAgICAgcm1hbiAgIDI4OSAgICAz MksgICAgICA4MTcgIDMyLDEyOAogICAgICAgICBzYnVmICAgICAwICAgICAwSyAgICAgIDU3MSAg MTYsMzIsNjQsMTI4LDI1Niw1MTIsNDA5NiwxNjM4NCwzMjc2OAogICAgdG9wb25vZGVzICAgIDIy ICAgICAzSyAgICAgICAyMiAgMTI4CiAgICB0YXNrcXVldWUgICAxODkgICAgMjVLICAgICAgMjEz ICAxNiwzMiw2NCwxMjgsMjU2LDQwOTYKICAgICB0ZXJtaW5hbCAgICAxMSAgICAgM0sgICAgICAg MTEgIDI1NgogICAgICAgVW5pdG5vICAgIDI1ICAgICAySyAgICAgICAzOSAgMzIsNjQKICAgICAg ICAgdm1lbSAgICAgMiAgIDI3MksgICAgICAgIDMgIDE2Mzg0CiAgICAgaW9jdGxvcHMgICAgIDAg ICAgIDBLICAgICAgMTM1ICAyNTYsMzg0LDEwMjQKICAgICAgIHNlbGVjdCAgICAxMyAgICAgMksg ICAgICAgODIgIDEyOAogICAgICAgICAgaW92ICAgICAwICAgICAwSyAgICA2MTI0MSAgMTYsNjQs MTI4LDI1NiwzODQsNTEyCiAgICAgICAgc2VsZmQgICAgNDAgICAgIDNLICAgIDE2NzAyICA2NAog ICAgIHByb2NkZXNjICAgICAxICAgICAxSyAgICAgICAyNiAgMTI4CiAgICAgICAgICBtc2cgICAg IDQgICAgMzBLICAgICAgICA0ICAyMDQ4LDQwOTYsODE5MiwxNjM4NAogICAgICAgICAgc2VtICAg ICA0ICAgMTA2SyAgICAgICAgNCAgMjA0OCw0MDk2CiAgICAgICAgICBzaG0gICAgIDEgICAgMzJL ICAgICAgICAxICAzMjc2OAogICAgICAgICAgdHR5ICAgIDE0ICAgIDE0SyAgICAgICAxNCAgMTAy NAogICAgICAgICAgcHRzICAgICAyICAgICAxSyAgICAgICAgMiAgMjU2CiAgICAgYWNwaXRhc2sg ICAgIDEgICAgNjRLICAgICAgICAxICA2NTUzNgogICAgICBhY3Bpc2VtICAgMTYwICAgIDIwSyAg ICAgIDE3OCAgMTI4CiAgICAgIGFjcGlkZXYgICAxMTkgICAgIDhLICAgICAgMTE5ICA2NAogICAg ICAgICAgbnZkICAgICA0ICAgICAxSyAgICAgICAgNCAgNjQsMjU2CiAgICAgICAgIG52bWUgIDEw NzcgICAxNTJLICAgIDE3ODUzICAxMjgsMTAyNCwyMDQ4CiAgICAgICAgIGt0bHMgICAgIDEgICAg IDFLICAgICAgICAxICAxMDI0CiAgICAgbWJ1Zl90YWcgICAgIDAgICAgIDBLICAgIDY3NDQ2ICAz Miw2NCwyNTYKICAgICAgICBzaG1mZCAgICAgMSAgICAgOEsgICAgICAgIDEgIDgxOTIKICAgICAg IHNvbmFtZSAgICAgNiAgICAgMUsgICAgMTA0MTcgIDE2LDMyLDEyOAogICAgICAgICAgcGNiICAg IDE1ICAyMDU3SyAgICAgICA0NCAgMTYsMzIsNjQsMTAyNCwyMDQ4CiAgICAgICAgICBhY2wgICAg IDAgICAgIDBLICAgICAgICAxICA0MDk2CiAgICAgIENBTSBTSU0gICAgIDEgICAgIDFLICAgICAg ICAxICAxMjgKICAgICAgZW50cm9weSAgICAgMSAgICAgMUsgICAgICAgNTMgIDMyLDY0LDQwOTYK ICAgICAgQ0FNIFhQVCAgICAxMSAgICAgMUsgICAgICAgMTIgIDMyLDEyOAogICAgICBDQU0gREVW ICAgICAxICAgICAySyAgICAgICAgMiAgMjA0OAogICAgIENBTSBwYXRoICAgICAxICAgICAxSyAg ICAgICAxMiAgMzIKICAgQ0FNIHBlcmlwaCAgICAgMiAgICAgMUsgICAgICAgMTQgIDE2LDMyLDY0 LDEyOCwyNTYKICAgICAgICAgaGRhYSAgICAxMCAgICAzOUsgICAgICAgMTAgIDI1NiwzODQsMTAy NCwyMDQ4LDE2Mzg0CiAgICAgICAgIGhkYWMgICAgIDEgICAgIDJLICAgICAgICAxICAyMDQ4CiAg ICAgdmZzY2FjaGUgICAgIDMgIDQxMDhLICAgICAgICAzICA0MDk2LDgxOTIKICAgICAgICBoZGFj YyAgICAgMiAgICAgMUsgICAgICAgIDIgIDMyCiAgICAgICBmZWVkZXIgICAgMTYgICAgIDJLICAg ICAgIDIwICAzMiwxMjgKICAgICAgICBtaXhlciAgICAgMyAgICAxMksgICAgICAgIDMgIDQwOTYK ICAgICB2ZnNfaGFzaCAgICAgMSAgMjA0OEsgICAgICAgIDEgIAogICAgICAgdm5vZGVzICAgICAx ICAgICAxSyAgICAgICAgMSAgMjU2Cm5hbWVpX3RyYWNrZXIgICAgIDAgICAgIDBLICAgICAgICAz ICAzMgogICAgICAgIG1vdW50ICAgMzQxICAgIDEzSyAgICAgIDU5OCAgMTYsMzIsNjQsMTI4LDI1 NiwxMDI0CiAgICAgICBzdGF0ZnMgICAgIDAgICAgIDBLICAgICAgIDEyICA0MDk2CiAgdm5vZGVt YXJrZXIgICAgIDMgICAgIDJLICAgICAgIDI5ICA1MTIKY2hhY2hhMjByYW5kb20gICAgIDEgICAg IDJLICAgICAgICAxICAyMDQ4CiAgICAgICAgICBCUEYgICAgMTEgICAgMThLICAgICAgIDE2ICAz MiwxMjgsMjU2LDUxMiw0MDk2CiAgICAgICAgaWZuZXQgICAgIDMgICAgIDVLICAgICAgICAzICAx MjgsMjA0OAogICAgICAgaWZhZGRyICAgIDcwICAgIDEzSyAgICAgICA3MSAgMTYsMzIsNjQsMTI4 LDI1NiwzODQsMjA0OCw0MDk2CiAgZXRoZXJfbXVsdGkgICAgNDAgICAgIDRLICAgICAgIDQ1ICAx NiwzMiw2NCwxMjgKICAgICAgICBjbG9uZSAgICAgOCAgICAgMUsgICAgICAgIDggIDEyOAogICAg ICBsbHRhYmxlICAgIDE2ICAgICA1SyAgICAgICAxNiAgMjU2LDM4NAogICAgICAgICAgdHVuICAg ICAzICAgICAxSyAgICAgICAgMyAgMzIKICAgICAgICAgcGZpbCAgICAgMyAgICAgMUsgICAgICAg IDMgIDEyOAogICAgICAgIG5ob3BzICAgICA2ICAgICAxSyAgICAgICAgNiAgMTI4CiAgICAgcm91 dGV0YmwgICAgNjkgICAgMTFLICAgICAgMjAzICAzMiw2NCwxMjgsMjU2LDM4NCw1MTIsMTAyNCwy MDQ4CiAgICAgICAgIHZuZXQgICAgIDEgICAgIDFLICAgICAgICAxICA2NAogICAgdm5ldF9kYXRh ICAgICAxICAgMTY4SyAgICAgICAgMSAgCnZuZXRfZGF0YV9mcmVlICAgICAxICAgICAxSyAgICAg ICAgMSAgMzIKICAgICA4MDIxMXZhcCAgICAgMSAgICAgNEsgICAgICAgIDEgIDQwOTYKICA4MDIx MWNyeXB0byAgICAgMiAgICAgMUsgICAgICAgIDIgIDUxMgogICAgODAyMTFub2RlICAgICAxICAg IDMySyAgICAgICA1MiAgMTYsMzI3NjgKICA4MDIxMW5vZGVpZSAgICA5MCAgICAzMEsgICAgICAg OTIgIDMyLDEyOCwyNTYsMzg0LDUxMiwxMDI0CiA4MDIxMXJhdGVjdGwgICAgIDIgICAgIDFLICAg ICAgICAyICAxNiw2NAogICAgODAyMTFzY2FuICAgIDkwICAgIDUxSyAgICAgICA5MCAgMzg0LDIw NDgsMTYzODQKICAgICAgICAgaWdtcCAgICAgMiAgICAgMUsgICAgICAgIDIgIDEyOAogICAgIGlu X211bHRpICAgICAyICAgICAxSyAgICAgICAgMyAgMjU2CmVuY2FwX2V4cG9ydF9ob3N0ICAgICA4 ICAgICAxSyAgICAgICAgOCAgMzIsNjQKICAgdGZvX2NjYWNoZSAgICAgMSAgIDEyOEsgICAgICAg IDEgIAogICAgaG9zdGNhY2hlICAgICAxICAgIDMySyAgICAgICAgMSAgMzI3NjgKICAgICAgdGNw ZnVuYyAgICAgMSAgICAgMUsgICAgICAgIDEgIDY0CiAgICAgc3luY2FjaGUgICAgIDEgICAgNjhL ICAgICAgICAxICAKICAgIGluNl9tdWx0aSAgICAzMCAgICAgNEsgICAgICAgMzAgIDMyLDI1Ngog ICAgICAgaXA2b3B0ICAgICAwICAgICAwSyAgICAgICAgMSAgMzIKICAgICAgICAgIG1sZCAgICAg MiAgICAgMUsgICAgICAgIDIgIDEyOAogICAgICAgaXA2bmRwICAgICA3ICAgICAxSyAgICAgICAg OSAgMzIsNjQsMjU2CiAgaW5wY2Jwb2xpY3kgICAgIDcgICAgIDFLICAgICAgIDk2ICAzMgogICAg IHNlY2FzdmFyICAgICAxICAgICAxSyAgICAgICAgMSAgMTAyNAogICAgICAgc2FoZWFkICAgICAx ICAgICAxSyAgICAgICAgMSAgMTAyNAogIGlwc2VjcG9saWN5ICAgICAxICAgICAxSyAgICAgICAg MSAgMTAyNAogICAgaXBzZWMtc2FxICAgICAyICAgICAySyAgICAgICAgMiAgMTAyNAogICAgICAg IGxpbnV4ICAxMTI3ICAgMzA0SyAgICAgMTMxOCAgMTYsMzIsNjQsMTI4LDI1NiwzODQsNTEyLDEw MjQsMjA0OCw0MDk2LDgxOTIsMTYzODQsMzI3NjgKICAgICAgIGxrcGlmdyAgICAgMCAgICAgMEsg ICAgICAgIDIgIDMyCiAgICAgICAgICBpZHIgICAgNDggICAgMThLICAgICAgIDQ4ICAxMjgsMzg0 CiAgICAgICAgcmFkaXggICAgIDIgICAgIDJLICAgICAgICAzICAxMDI0CiAgICAgICBjcnlwdG8g ICAgIDQgICAgIDJLICAgICAgICA0ICA2NCwyNTYsMTAyNAogICAgYWNwaV9wZXJmICAgICA4ICAg ICAzSyAgICAgICAgOCAgMzg0CiAgICAgIGFjcGlwd3IgICAgIDIgICAgIDFLICAgICAgICAyICA2 NAogICAgQ0FNIHF1ZXVlICAgICAyICAgICAxSyAgICAgICAgNSAgMTYsNTEyCiAgICAgICAgeGZv cm0gICAgIDMgICAgIDFLICAgICAgIDQyICAxNiwzMiw2NAphdWRpdF9ldmNsYXNzICAgMjM2ICAg ICA4SyAgICAgIDI5NCAgMzIKICAgIHVmc19xdW90YSAgICAgMSAgMjA0OEsgICAgICAgIDEgIAog ICAgdm1fcGdkYXRhICAgICAxICAgICAxSyAgICAgICAgMSAgMTI4CiAgICAgICAgICBVU0IgICAg MzMgICAgNDBLICAgICAgIDM4ICAxNiwzMiwxMjgsMjU2LDM4NCw1MTIsMjA0OCw0MDk2CiAgICAg ICBVU0JkZXYgICAgNDIgICAgIDlLICAgICAgIDUwICAzMiw2NCwxMjgsMjU2LDM4NCw1MTIsMTAy NCw0MDk2CiAgICAgICAgICBVTUEgICAzNTggICAgIDdLICAgICAgMzU4ICAxNiwzMgpDQU0gZGV2 IHF1ZXVlICAgICAxICAgICAxSyAgICAgICAgMSAgNjQKdm1fZmljdGl0aW91cyAgICAgMiAgNjY1 N0sgICAgICAgIDIgIDY0CiAgICAgICAgdnRidWYgICAgMjQgIDgyNTZLICAgICAgIDcwICA0MDk2 CiAgICAgICAgICBycGMgICAgIDIgICAgIDhLICAgICAgICAyICA0MDk2CiAgIGFlc25pX2RhdGEg ICAgIDIgICAgIDFLICAgICAgICAyICA2NCw1MTIKICAgICBwY2lfbGluayAgICAxNiAgICAgMksg ICAgICAgMTYgIDY0LDEyOAogICAgIGF0a2JkZGV2ICAgICAyICAgICAxSyAgICAgICAgMiAgNjQK ICAgICAgIGFwbWRldiAgICAgMSAgICAgMUsgICAgICAgIDEgIDEyOAogICAgICAgICAgIHZ0ICAg IDE0ICAgMTE3SyAgICAgICAxNCAgMzg0LDQwOTYKICAgICAgICAgaW50ciAgICAgNCAgIDQ3Nksg ICAgICAgIDQgIDY1NTM2CiAgICAgICAgICBNQ0EgICAgMTkgICAgIDRLICAgICAgIDE5ICA2NCwx MjgsMjU2CiAgICAgICAgIGNwdXMgICAgIDIgICAgIDFLICAgICAgICAyICAzMgogICAgIG5leHVz ZGV2ICAgICA3ICAgICAxSyAgICAgICAgNyAgMTYKICAgIEJBQ0tMSUdIVCAgICAgMSAgICAgMUsg ICAgICAgIDEgIDY0CiAgZnB1a2Vybl9jdHggICAgIDkgICAgMThLICAgICAgICA5ICAyMDQ4CiAg ICAgIG1lbWRlc2MgICAgIDEgICAgIDRLICAgICAgICAxICA0MDk2CiAgICAgICBERVZGUzMgICA0 MTIgICAxMDNLICAgICAgNDE3ICAyNTYKICAgICAgIERFVkZTMSAgIDM4MCAgIDM4MEsgICAgICA0 MjAgIDEwMjQKICAgREVWRlNfUlVMRSAgICA1OSAgICAyMUsgICAgICAgNTkgIDY0LDM4NAogICAg ICAgIERFVkZTICAgIDE4ICAgICAxSyAgICAgICAxOSAgMTYsMzIsMTI4CiAgICAgICBERVZGU1Ag ICAgIDUgICAgIDFLICAgICAgIDI2ICA2NAogbXNkb3Nmc19ub2RlICAgICAwICAgICAwSyAgICAg ICAgMSAgMjU2Cm1zZG9zZnNfbW91bnQgICAgIDEgICAgIDFLICAgICAgICAxICAzODQKICBtc2Rv c2ZzX2ZhdCAgICAgMSAgICAgNEsgICAgICAgIDEgIDQwOTYKTkZTRCBWNGNsaWVudCAgICAgMSAg ICAgMUsgICAgICAgIDEgIDI1NgogTkZTRCBsY2tmaWxlICAgICAxICAgICAxSyAgICAgICAgMSAg MjU2CiAgIG1hZHRfdGFibGUgICAgIDAgICAgIDBLICAgICAgICAyICA2NCw0MDk2CiAgICAgIGlv X2FwaWMgICAgIDEgICAgMTZLICAgICAgICAxICAxNjM4NAogICBsb2NhbF9hcGljICAgICAxICAg ICA4SyAgICAgICAgMSAgODE5MgogICAgICAgICAgbXNpICAgIDI4ICAgICA0SyAgICAgICAyOCAg MTI4CiAgIGtzdGF0X2RhdGEgICAgMzUgICAgMzVLICAgICAgIDM1ICAxMDI0CiAgICAgIHNvbGFy aXMgNDYzNDIgNDg4MTdLICAxMTEwNTg2ICAxNiwzMiw2NCwxMjgsMjU2LDM4NCw1MTIsMTAyNCwy MDQ4LDQwOTYsODE5MiwxNjM4NCwzMjc2OCw2NTUzNgogICAgICAgIHRhc2txICAgICAyICAgICAx SyAgICAgICAgMiAgMjU2LDUxMgogICAgc2ZzX25vZGVzICAgIDIyICAgICA5SyAgICAgICAyMiAg Mzg0CiAgICAgIGFjcGl3bWkgICAgMjAgICAgIDJLICAgICAgIDI0ICAzMiw2NCwzODQKbmV0Z3Jh cGhfbm9kZSAgICAgMiAgICAgMUsgICAgICAgIDIgIDEyOAphbm9uX2lub2RlZnNpbnQgICAgIDEg ICAgIDFLICAgICAgICAxICA2NAogICAgICAgICAgaWRyICAgICAwICAgICAwSyAgICAgICAgMSAg MTYKICAgZGVidWdmc2ludCAgICAgMyAgICAgMUsgICAgICAgIDMgIDE2LDY0CiAgIGRybV9kcml2 ZXIgICAgIDEgICAgIDFLICAgICAgICAxICAzMgogICAgICBkcm1fa21zICAgICAyICAgICAySyAg ICAgICAgMiAgNjQsMTAyNAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnZtc3RhdCAtegoKSVRFTSAgICAgICAg ICAgICAgICAgICBTSVpFICBMSU1JVCAgICAgVVNFRCAgICAgRlJFRSAgICAgIFJFUSAgICAgRkFJ TFNMRUVQIFhET01BSU4KVU1BIEtlZ3M6ICAgICAgICAgICAgICAgMzg0LCAgICAgIDAsICAgICAz MDIsICAgICAgIDAsICAgICAzMDIsICAgMCwgICAwLCAgIDAKVU1BIFpvbmVzOiAgICAgICAgICAg ICAxNTM2LCAgICAgIDAsICAgICAzMzAsICAgICAgIDAsICAgICAzMzAsICAgMCwgICAwLCAgIDAK VU1BIFNsYWJzIDA6ICAgICAgICAgICAgMTEyLCAgICAgIDAsICAxMjc3ODEsICAgICAgIDAsICAx Mjc3ODEsICAgMCwgICAwLCAgIDAKVU1BIFNsYWJzIDE6ICAgICAgICAgICAgMTc2LCAgICAgIDAs ICAgICAgMTAsICAgICAgIDAsICAgICAgMTAsICAgMCwgICAwLCAgIDAKVU1BIEhhc2g6ICAgICAg ICAgICAgICAgMjU2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAw LCAgIDAKMiBCdWNrZXQ6ICAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAgIDEwMzUsICAgIDI0 OTMsICAgMjA2NTEsICAgMCwgICAwLCAgIDAKNCBCdWNrZXQ6ICAgICAgICAgICAgICAgIDQ4LCAg ICAgIDAsICAgICA0OTMsICAgIDEwMTksICAgMzE1NTksICAgMCwgICAwLCAgIDAKOCBCdWNrZXQ6 ICAgICAgICAgICAgICAgIDgwLCAgICAgIDAsICAgICAxMzcsICAgICA0NjMsICAgIDE4MzksICAg MCwgICAwLCAgIDAKMTYgQnVja2V0OiAgICAgICAgICAgICAgMTQ0LCAgICAgIDAsICAgICAyMjEs ICAgIDE0MzEsICAgMzg2NzIsICAgNiwgICAwLCAgIDAKMzIgQnVja2V0OiAgICAgICAgICAgICAg MjU2LCAgICAgIDAsICAgIDExMDAsICAgIDEwMTUsICAgNjQ0NjIsICAgNSwgICAwLCAgIDAKNjQg QnVja2V0OiAgICAgICAgICAgICAgNTEyLCAgICAgIDAsICAgICAyMDgsICAgICAgNDAsICAgIDMy MzAsIDU0OSwgICAwLCAgIDAKMTI4IEJ1Y2tldDogICAgICAgICAgICAxMDI0LCAgICAgIDAsICAg ICAxOTIsICAgICAxMDMsICAgIDQxMTQsMjg0NCwgICAwLCAgIDAKMjU2IEJ1Y2tldDogICAgICAg ICAgICAyMDQ4LCAgICAgIDAsICAgICA1MDQsICAgICAgNTYsICAgIDQ2NDIsICAgOCwgICAwLCAg IDAKU01SIFNIQVJFRDogICAgICAgICAgICAgIDI0LCAgICAgIDAsICAgICAgIDMsICAgICAgNjAs ICAgICAgIDMsICAgMCwgICAwLCAgIDAKU01SIENQVTogICAgICAgICAgICAgICAgIDMyLCAgICAg IDAsICAgICAgIDMsICAgICAgNjAsICAgICAgIDMsICAgMCwgICAwLCAgIDAKdm1lbTogICAgICAg ICAgICAgICAgICAxODU2LCAgICAgIDAsICAgICAgIDEsICAgICAgIDEsICAgICAgIDEsICAgMCwg ICAwLCAgIDAKdm1lbSBidGFnOiAgICAgICAgICAgICAgIDU2LCAgICAgIDAsICAgMTk2NTEsICAg ICAzNDUsICAgMTk2ODEsIDU1MiwgICAwLCAgIDAKVk0gT0JKRUNUOiAgICAgICAgICAgICAgMjY0 LCAgICAgIDAsICAgIDY5NzUsICAgICAxNjUsICAgMzU0OTAsICAgMCwgICAwLCAgIDAKUkFESVgg Tk9ERTogICAgICAgICAgICAgMTQ0LCAgICAgIDAsICAgMTY4MTcsICAgICA0MDIsICAxMDE5NDks ICAgMCwgICAwLCAgIDAKS01BUCBFTlRSWTogICAgICAgICAgICAgIDk2LCAgICAgIDAsICAgICAg NjYsICAgICAgIDAsICAgICAgNzUsICAgMCwgICAwLCAgIDAKTUFQIEVOVFJZOiAgICAgICAgICAg ICAgIDk2LCAgICAgIDAsICAgIDIwNTksICAgICA4ODEsICAgOTY3NzAsICAgMCwgICAwLCAgIDAK Vk1TUEFDRTogICAgICAgICAgICAgICAyNTQ0LCAgICAgIDAsICAgICAgMzEsICAgICAgMzIsICAg IDE3MzcsICAgMCwgICAwLCAgIDAKZmFrZXBnOiAgICAgICAgICAgICAgICAgMTA0LCAgICAgIDAs ICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKcGNwdS00OiAgICAgICAg ICAgICAgICAgICA0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAw LCAgIDAKcGNwdS04OiAgICAgICAgICAgICAgICAgICA4LCAgICAgIDAsICAgIDM3MjcsICAgIDE2 NDcsICAgIDM3NDEsICAgMCwgICAwLCAgIDAKcGNwdS0xNjogICAgICAgICAgICAgICAgIDE2LCAg ICAgIDAsICAgICAgMjgsICAgICA5OTQsICAgICAgMjgsICAgMCwgICAwLCAgIDAKcGNwdS0zMjog ICAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg MCwgICAwLCAgIDAKcGNwdS02NDogICAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAgICA0NjYs ICAgICAyMzgsICAgICA0NjYsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2OiAgICAgICAgICAgICAg IDE2LCAgICAgIDAsICAgICAgIDAsICAgIDEwMDAsICAgICAgMTIsICAgMCwgICAwLCAgIDAKbWFs bG9jLTE2OiAgICAgICAgICAgICAgIDE2LCAgICAgIDAsICAgMTk2NjksICAgICA4MzEsICAgMTk3 OTcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2OiAgICAgICAgICAgICAgIDE2LCAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2OiAgICAgICAg ICAgICAgIDE2LCAgICAgIDAsICAgIDE0MzEsICAgIDEzMTksICA0MzY0MjYsICAgMCwgICAwLCAg IDAKbWFsbG9jLTE2OiAgICAgICAgICAgICAgIDE2LCAgICAgIDAsICAgICA0NTYsICAgIDE3OTQs ICAgICA5MjAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2OiAgICAgICAgICAgICAgIDE2LCAgICAg IDAsICAgICA5NDIsICAgIDE1NTgsICAgMTAyNjIsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2OiAg ICAgICAgICAgICAgIDE2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwg ICAwLCAgIDAKbWFsbG9jLTE2OiAgICAgICAgICAgICAgIDE2LCAgICAgIDAsICAgICAgMzgsICAg IDE3MTIsICAgICAyMDgsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyOiAgICAgICAgICAgICAgIDMy LCAgICAgIDAsICAgICAgIDMsICAgICA4NzksICAgICAgNDAsICAgMCwgICAwLCAgIDAKbWFsbG9j LTMyOiAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAgIDg1MzAsICAgICA0MTYsICAgIDg1NDcs ICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyOiAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAgICAg NDQsICAgICAyMDgsICAgICAgNDQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyOiAgICAgICAgICAg ICAgIDMyLCAgICAgIDAsICAgIDkyODQsICAgIDI1NjAsICAxNjc0NTksICAgMCwgICAwLCAgIDAK bWFsbG9jLTMyOiAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAgICAxOTMsICAgICA4MTUsICAg ICAzNDMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyOiAgICAgICAgICAgICAgIDMyLCAgICAgIDAs ICAgICA0NjYsICAgICA2NjgsICAgIDU3NzMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyOiAgICAg ICAgICAgICAgIDMyLCAgICAgIDAsICAgICAgIDAsICAgICAzNzgsICAgICAgMTYsICAgMCwgICAw LCAgIDAKbWFsbG9jLTMyOiAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAgICAxMTUsICAgICA4 OTMsICAgICA3NjksICAgMCwgICAwLCAgIDAKbWFsbG9jLTY0OiAgICAgICAgICAgICAgIDY0LCAg ICAgIDAsICAgICAgIDQsICAgICAyNDgsICAgICAgIDcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY0 OiAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAgIDQ5OTIsICAgICAzNjMsICAgIDUwMjUsICAg MCwgICAwLCAgIDAKbWFsbG9jLTY0OiAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAgICAgIDIs ICAgICAgNjEsICAgICAgIDIsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY0OiAgICAgICAgICAgICAg IDY0LCAgICAgIDAsICAgMTQzNzYsICAgMjc1ODIsICAyNzYyMTUsICAgMCwgICAwLCAgIDAKbWFs bG9jLTY0OiAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAgICAzMDYsICAgICAzODcsICAgICAz ODksICAgMCwgICAwLCAgIDAKbWFsbG9jLTY0OiAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAg MTI0NTQsICAgICAyMDksICAgMTYzNTEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY0OiAgICAgICAg ICAgICAgIDY0LCAgICAgIDAsICAgICAxNDgsICAgICAyOTMsICAgICAxNDgsICAgMCwgICAwLCAg IDAKbWFsbG9jLTY0OiAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAgICAgMjEsICAgICA0ODMs ICAgNjA3MjIsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEyODogICAgICAgICAgICAgMTI4LCAgICAg IDAsICAgICAgIDcsICAgICAgODYsICAgICAgIDcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEyODog ICAgICAgICAgICAgMTI4LCAgICAgIDAsICAgMTU1MTUsICAgICAxNDAsICAgMTU1MTYsICAgMCwg ICAwLCAgIDAKbWFsbG9jLTEyODogICAgICAgICAgICAgMTI4LCAgICAgIDAsICAgICAyNDUsICAg ICAxMjcsICAgICA3NzMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEyODogICAgICAgICAgICAgMTI4 LCAgICAgIDAsICAgMjI1NTQsICAgIDEzMTYsICA1MTMxMTIsICAgMCwgICAwLCAgIDAKbWFsbG9j LTEyODogICAgICAgICAgICAgMTI4LCAgICAgIDAsICAgIDEwMTAsICAgICAxNjgsICAgIDI2Nzcs ICAgMCwgICAwLCAgIDAKbWFsbG9jLTEyODogICAgICAgICAgICAgMTI4LCAgICAgIDAsICAgIDY2 NDAsICAgICAxMTgsICAgMTU5NjksICAgMCwgICAwLCAgIDAKbWFsbG9jLTEyODogICAgICAgICAg ICAgMTI4LCAgICAgIDAsICAgIDEwOTEsICAgIDExNzIsICAgMTc4NjQsICAgMCwgICAwLCAgIDAK bWFsbG9jLTEyODogICAgICAgICAgICAgMTI4LCAgICAgIDAsICAgICAgMjAsICAgICAyMjgsICAg ICA0MzQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTI1NjogICAgICAgICAgICAgMjU2LCAgICAgIDAs ICAgICAgMTYsICAgICAgNDQsICAgICAgMTcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTI1NjogICAg ICAgICAgICAgMjU2LCAgICAgIDAsICAgICAgNDIsICAgICAgNzgsICAgICA0MDAsICAgMCwgICAw LCAgIDAKbWFsbG9jLTI1NjogICAgICAgICAgICAgMjU2LCAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTI1NjogICAgICAgICAgICAgMjU2LCAg ICAgIDAsICAgIDY5NTgsICAgIDEzODIsICAxMzI3NjksICAgMCwgICAwLCAgIDAKbWFsbG9jLTI1 NjogICAgICAgICAgICAgMjU2LCAgICAgIDAsICAgICAyMjQsICAgICAgOTEsICAgICA2NjUsICAg MCwgICAwLCAgIDAKbWFsbG9jLTI1NjogICAgICAgICAgICAgMjU2LCAgICAgIDAsICAgIDE0NDcs ICAgICAxMTMsICAgIDQzMjEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTI1NjogICAgICAgICAgICAg MjU2LCAgICAgIDAsICAgICAgIDMsICAgICAgMjcsICAgICAgIDMsICAgMCwgICAwLCAgIDAKbWFs bG9jLTI1NjogICAgICAgICAgICAgMjU2LCAgICAgIDAsICAgICAgODIsICAgICAyMDMsICAgNjg1 OTMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTM4NDogICAgICAgICAgICAgMzg0LCAgICAgIDAsICAg ICAgIDMsICAgICAgIDcsICAgICAgIDMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTM4NDogICAgICAg ICAgICAgMzg0LCAgICAgIDAsICAgICAgODgsICAgICAgIDIsICAgICAgODksICAgMCwgICAwLCAg IDAKbWFsbG9jLTM4NDogICAgICAgICAgICAgMzg0LCAgICAgIDAsICAgICAgIDgsICAgICAgIDIs ICAgICAgIDgsICAgMCwgICAwLCAgIDAKbWFsbG9jLTM4NDogICAgICAgICAgICAgMzg0LCAgICAg IDAsICAgMTUyMjksICAgICAgODEsICAyODEyNDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTM4NDog ICAgICAgICAgICAgMzg0LCAgICAgIDAsICAgICAxMzUsICAgICAgNTUsICAgICAyMTQsICAgMCwg ICAwLCAgIDAKbWFsbG9jLTM4NDogICAgICAgICAgICAgMzg0LCAgICAgIDAsICAgICAxOTcsICAg ICAgNDMsICAgICAyMTQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTM4NDogICAgICAgICAgICAgMzg0 LCAgICAgIDAsICAgICAgMTIsICAgICAgMTgsICAgICAgMTIsICAgMCwgICAwLCAgIDAKbWFsbG9j LTM4NDogICAgICAgICAgICAgMzg0LCAgICAgIDAsICAgICAgNDcsICAgICAgMzMsICAgICAgNTAs ICAgMCwgICAwLCAgIDAKbWFsbG9jLTUxMjogICAgICAgICAgICAgNTEyLCAgICAgIDAsICAgICAg IDIsICAgICAgMTQsICAgICAgIDMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTUxMjogICAgICAgICAg ICAgNTEyLCAgICAgIDAsICAgICAgIDQsICAgICAgNTIsICAgICAgMzAsICAgMCwgICAwLCAgIDAK bWFsbG9jLTUxMjogICAgICAgICAgICAgNTEyLCAgICAgIDAsICAgICAgIDIsICAgICAgIDYsICAg ICAgIDIsICAgMCwgICAwLCAgIDAKbWFsbG9jLTUxMjogICAgICAgICAgICAgNTEyLCAgICAgIDAs ICAgICAyNjgsICAgIDMxNDAsICAgMTU2NTQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTUxMjogICAg ICAgICAgICAgNTEyLCAgICAgIDAsICAgICAgIDksICAgICAgMjMsICAgICAgMTgsICAgMCwgICAw LCAgIDAKbWFsbG9jLTUxMjogICAgICAgICAgICAgNTEyLCAgICAgIDAsICAgICAgIDYsICAgICAg MjYsICAgICAgIDgsICAgMCwgICAwLCAgIDAKbWFsbG9jLTUxMjogICAgICAgICAgICAgNTEyLCAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTUx MjogICAgICAgICAgICAgNTEyLCAgICAgIDAsICAgICAgIDIsICAgICAgNjIsICAgICAxNjEsICAg MCwgICAwLCAgIDAKbWFsbG9jLTEwMjQ6ICAgICAgICAgICAxMDI0LCAgICAgIDAsICAgICAgIDQs ICAgICAgIDQsICAgICAgIDQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEwMjQ6ICAgICAgICAgICAx MDI0LCAgICAgIDAsICAgICAgIDMsICAgICAgIDEsICAgICAgIDMsICAgMCwgICAwLCAgIDAKbWFs bG9jLTEwMjQ6ICAgICAgICAgICAxMDI0LCAgICAgIDAsICAgICAgIDIsICAgICAgIDYsICAgICAg IDMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEwMjQ6ICAgICAgICAgICAxMDI0LCAgICAgIDAsICAg IDIwMzEsICAgICAgNjUsICAgIDk5OTAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEwMjQ6ICAgICAg ICAgICAxMDI0LCAgICAgIDAsICAgICAgNDAsICAgICAgMjgsICAgIDM3NzIsICAgMCwgICAwLCAg IDAKbWFsbG9jLTEwMjQ6ICAgICAgICAgICAxMDI0LCAgICAgIDAsICAgICAgNTMsICAgICAgMTks ICAgICAxODEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEwMjQ6ICAgICAgICAgICAxMDI0LCAgICAg IDAsICAgICAgIDYsICAgICAgIDIsICAgICAgIDYsICAgMCwgICAwLCAgIDAKbWFsbG9jLTEwMjQ6 ICAgICAgICAgICAxMDI0LCAgICAgIDAsICAgICAgIDUsICAgICAgMTUsICAgICAgNTQsICAgMCwg ICAwLCAgIDAKbWFsbG9jLTIwNDg6ICAgICAgICAgICAyMDQ4LCAgICAgIDAsICAgICAgIDMsICAg ICAgIDMsICAgICAgIDMsICAgMCwgICAwLCAgIDAKbWFsbG9jLTIwNDg6ICAgICAgICAgICAyMDQ4 LCAgICAgIDAsICAgICAgIDMsICAgICAgIDMsICAgICAgIDMsICAgMCwgICAwLCAgIDAKbWFsbG9j LTIwNDg6ICAgICAgICAgICAyMDQ4LCAgICAgIDAsICAgICAgIDEsICAgICAgIDEsICAgICAgIDEs ICAgMCwgICAwLCAgIDAKbWFsbG9jLTIwNDg6ICAgICAgICAgICAyMDQ4LCAgICAgIDAsICAgICAx ODAsICAgICAgNDYsICAgMTIyOTYsICAgMCwgICAwLCAgIDAKbWFsbG9jLTIwNDg6ICAgICAgICAg ICAyMDQ4LCAgICAgIDAsICAgICAgMTIsICAgICAgMTYsICAgICAgNzgsICAgMCwgICAwLCAgIDAK bWFsbG9jLTIwNDg6ICAgICAgICAgICAyMDQ4LCAgICAgIDAsICAgICAxNTksICAgICAgIDksICAg ICAxNzksICAgMCwgICAwLCAgIDAKbWFsbG9jLTIwNDg6ICAgICAgICAgICAyMDQ4LCAgICAgIDAs ICAgICAgMTYsICAgICAgIDIsICAgICAgMTcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTIwNDg6ICAg ICAgICAgICAyMDQ4LCAgICAgIDAsICAgICAgIDAsICAgICAgMTAsICAgICAgMTQsICAgMCwgICAw LCAgIDAKbWFsbG9jLTQwOTY6ICAgICAgICAgICA0MDk2LCAgICAgIDAsICAgICAgIDcsICAgICAg IDAsICAgICAgIDcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTQwOTY6ICAgICAgICAgICA0MDk2LCAg ICAgIDAsICAgICAgIDIsICAgICAgIDMsICAgICAgIDcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTQw OTY6ICAgICAgICAgICA0MDk2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg MCwgICAwLCAgIDAKbWFsbG9jLTQwOTY6ICAgICAgICAgICA0MDk2LCAgICAgIDAsICAgIDE2NzEs ICAgICAgMTAsICAgNjc1NzAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTQwOTY6ICAgICAgICAgICA0 MDk2LCAgICAgIDAsICAgICAgMTAsICAgICAgMTEsICAgICAgMjQsICAgMCwgICAwLCAgIDAKbWFs bG9jLTQwOTY6ICAgICAgICAgICA0MDk2LCAgICAgIDAsICAgICAxMzgsICAgICAgIDcsICAgMjQx OTUsICAgMCwgICAwLCAgIDAKbWFsbG9jLTQwOTY6ICAgICAgICAgICA0MDk2LCAgICAgIDAsICAg ICAgMTQsICAgICAgIDcsICAgICAgNDksICAgMCwgICAwLCAgIDAKbWFsbG9jLTQwOTY6ICAgICAg ICAgICA0MDk2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKbWFsbG9jLTgxOTI6ICAgICAgICAgICA4MTkyLCAgICAgIDAsICAgICAgIDEsICAgICAgIDAs ICAgICAgIDEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTgxOTI6ICAgICAgICAgICA4MTkyLCAgICAg IDAsICAgICAgIDEsICAgICAgIDAsICAgICAgIDEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTgxOTI6 ICAgICAgICAgICA4MTkyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwg ICAwLCAgIDAKbWFsbG9jLTgxOTI6ICAgICAgICAgICA4MTkyLCAgICAgIDAsICAgICAgIDgsICAg ICAgIDgsICAgICA3ODUsICAgMCwgICAwLCAgIDAKbWFsbG9jLTgxOTI6ICAgICAgICAgICA4MTky LCAgICAgIDAsICAgICAgMTEsICAgICAgIDEsICAgICAgMTYsICAgMCwgICAwLCAgIDAKbWFsbG9j LTgxOTI6ICAgICAgICAgICA4MTkyLCAgICAgIDAsICAgICAgMTUsICAgICAgIDAsICAgICAgMTUs ICAgMCwgICAwLCAgIDAKbWFsbG9jLTgxOTI6ICAgICAgICAgICA4MTkyLCAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTgxOTI6ICAgICAgICAg ICA4MTkyLCAgICAgIDAsICAgICAgIDQsICAgICAgIDIsICAgICAgNjAsICAgMCwgICAwLCAgIDAK bWFsbG9jLTE2Mzg0OiAgICAgICAgIDE2Mzg0LCAgICAgIDAsICAgICAgIDIsICAgICAgIDAsICAg ICAgIDIsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2Mzg0OiAgICAgICAgIDE2Mzg0LCAgICAgIDAs ICAgICAgIDEsICAgICAgIDAsICAgICAgIDEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2Mzg0OiAg ICAgICAgIDE2Mzg0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAw LCAgIDAKbWFsbG9jLTE2Mzg0OiAgICAgICAgIDE2Mzg0LCAgICAgIDAsICAgICAgMTMsICAgICAg MjIsICAgIDUwMTQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2Mzg0OiAgICAgICAgIDE2Mzg0LCAg ICAgIDAsICAgICAgIDIsICAgICAgIDIsICAgICAgIDcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2 Mzg0OiAgICAgICAgIDE2Mzg0LCAgICAgIDAsICAgICAgMTAsICAgICAgIDAsICAgICAgMTAsICAg MCwgICAwLCAgIDAKbWFsbG9jLTE2Mzg0OiAgICAgICAgIDE2Mzg0LCAgICAgIDAsICAgICAgIDEs ICAgICAgIDAsICAgICAgIDEsICAgMCwgICAwLCAgIDAKbWFsbG9jLTE2Mzg0OiAgICAgICAgIDE2 Mzg0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDMsICAgICAgIDYsICAgMCwgICAwLCAgIDAKbWFs bG9jLTMyNzY4OiAgICAgICAgIDMyNzY4LCAgICAgIDAsICAgICAgIDQsICAgICAgIDAsICAgICAg IDQsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyNzY4OiAgICAgICAgIDMyNzY4LCAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyNzY4OiAgICAg ICAgIDMyNzY4LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKbWFsbG9jLTMyNzY4OiAgICAgICAgIDMyNzY4LCAgICAgIDAsICAgICAgIDEsICAgICAgIDUs ICAgICA4NzksICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyNzY4OiAgICAgICAgIDMyNzY4LCAgICAg IDAsICAgICAgIDMsICAgICAgIDEsICAgICAgIDYsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyNzY4 OiAgICAgICAgIDMyNzY4LCAgICAgIDAsICAgICAgIDUsICAgICAgIDEsICAgICAgIDYsICAgMCwg ICAwLCAgIDAKbWFsbG9jLTMyNzY4OiAgICAgICAgIDMyNzY4LCAgICAgIDAsICAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTMyNzY4OiAgICAgICAgIDMyNzY4 LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9j LTY1NTM2OiAgICAgICAgIDY1NTM2LCAgICAgIDAsICAgICAgIDMsICAgICAgIDAsICAgICAgIDMs ICAgMCwgICAwLCAgIDAKbWFsbG9jLTY1NTM2OiAgICAgICAgIDY1NTM2LCAgICAgIDAsICAgICAg IDIsICAgICAgIDAsICAgICAgIDIsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY1NTM2OiAgICAgICAg IDY1NTM2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAK bWFsbG9jLTY1NTM2OiAgICAgICAgIDY1NTM2LCAgICAgIDAsICAgICAgIDIsICAgICAgIDMsICAg ICA5MjcsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY1NTM2OiAgICAgICAgIDY1NTM2LCAgICAgIDAs ICAgICAgIDEsICAgICAgIDgsICAgICAgNTAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY1NTM2OiAg ICAgICAgIDY1NTM2LCAgICAgIDAsICAgICAgIDcsICAgICAgIDAsICAgICAgIDgsICAgMCwgICAw LCAgIDAKbWFsbG9jLTY1NTM2OiAgICAgICAgIDY1NTM2LCAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWFsbG9jLTY1NTM2OiAgICAgICAgIDY1NTM2LCAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKU0xFRVBRVUVV RTogICAgICAgICAgICAgIDg4LCAgICAgIDAsICAgICA5NTgsICAgICAxNjIsICAgICA5NTgsICAg MCwgICAwLCAgIDAKa2VudjogICAgICAgICAgICAgICAgICAgMjU4LCAgICAgIDAsICAgICAgMjAs ICAgICAxMTUsICAgMTQ3NjIsICAgMCwgICAwLCAgIDAKRmlsZXM6ICAgICAgICAgICAgICAgICAg IDgwLCAgICAgIDAsICAgICAgOTUsICAgICA0MDUsICAgODQxOTYsICAgMCwgICAwLCAgIDAKZmls ZWRlc2MwOiAgICAgICAgICAgICAxMDcyLCAgICAgIDAsICAgICAgNjMsICAgICAgNzcsICAgIDE3 NjgsICAgMCwgICAwLCAgIDAKUFdEOiAgICAgICAgICAgICAgICAgICAgIDMyLCAgICAgIDAsICAg ICAgMTUsICAgIDIyNTMsICAgNTk1MTksICAgMCwgICAwLCAgIDAKVFVSTlNUSUxFOiAgICAgICAg ICAgICAgMTM2LCAgICAgIDAsICAgICA5NTgsICAgICAxMTMsICAgICA5NTgsICAgMCwgICAwLCAg IDAKcmFuZ2VzZXQgcGN0cmllIG5vZGVzOiAgICAxNDQsICAgICAgMCwgICAgICAgMCwgICAgICAg MCwgICAgICAgMCwgICAwLCAgIDAsICAgMApybF9lbnRyeTogICAgICAgICAgICAgICAgNDAsICAg ICAgMCwgICAgICA1MywgICAgIDc1NSwgICAgICA1MywgICAwLCAgIDAsICAgMApsa3BpY3Vycjog ICAgICAgICAgICAgICAxNjAsICAgICAgMCwgICAgICAxNywgICAgIDEzMCwgICAgICAxOCwgICAw LCAgIDAsICAgMApsa3BpbW06ICAgICAgICAgICAgICAgICAxNjAsICAgICAgMCwgICAgICAgMywg ICAgICAxOSwgICAgICAgNCwgICAwLCAgIDAsICAgMAp1bXR4IHBpOiAgICAgICAgICAgICAgICAg OTYsICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMAp1bXR4 X3NobTogICAgICAgICAgICAgICAgODgsICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAgICAg MCwgICAwLCAgIDAsICAgMApzd3JidWY6ICAgICAgICAgICAgICAgIDI2MjQsICAgIDEyOCwgICAg ICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMApzd3didWY6ICAgICAgICAgICAg ICAgIDI2MjQsICAgICA2NCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAg MApuZnNwYnVmOiAgICAgICAgICAgICAgIDI2MjQsICAgIDEyOCwgICAgICAgMCwgICAgICAgMCwg ICAgICAgMCwgICAwLCAgIDAsICAgMAptZHBidWY6ICAgICAgICAgICAgICAgIDI2MjQsICAgICAy NSwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMApjbHBidWY6ICAgICAg ICAgICAgICAgIDI2MjQsICAgIDEyOCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAg IDAsICAgMAp2bnBidWY6ICAgICAgICAgICAgICAgIDI2MjQsICAgIDUxMiwgICAgICAgMCwgICAg ICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMApwYnVmOiAgICAgICAgICAgICAgICAgIDI2MjQs ICAgICAxNiwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMApGUFVfc2F2 ZV9hcmVhOiAgICAgICAgIDEwODgsICAgICAgMCwgICAgICAgMSwgICAgICAgNiwgICAgICAgMSwg ICAwLCAgIDAsICAgMApNQUMgbGFiZWxzOiAgICAgICAgICAgICAgNDAsICAgICAgMCwgICAgICAg MCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMApQUk9DOiAgICAgICAgICAgICAgICAg IDEzMjgsICAgICAgMCwgICAgICA2MiwgICAgICAzMSwgICAgMTc2NywgICAwLCAgIDAsICAgMApQ R1JQOiAgICAgICAgICAgICAgICAgICAgODgsICAgICAgMCwgICAgICAyNywgICAgIDI5NSwgICAg IDEwMywgICAwLCAgIDAsICAgMApUSFJFQUQ6ICAgICAgICAgICAgICAgIDE4MDgsICAgICAgMCwg ICAgIDkxNCwgICAgICA0MywgICAgIDk3MiwgICAwLCAgIDAsICAgMApjcHVzZXQ6ICAgICAgICAg ICAgICAgICAxMDQsICAgICAgMCwgICAgICAyNywgICAgIDIyMSwgICAgICAyNywgICAwLCAgIDAs ICAgMApkb21haW5zZXQ6ICAgICAgICAgICAgICAgNDAsICAgICAgMCwgICAgICAgMCwgICAgICAg MCwgICAgICAgMCwgICAwLCAgIDAsICAgMAphdWRpdF9yZWNvcmQ6ICAgICAgICAgIDEyODAsICAg ICAgMCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMAptYnVmX3BhY2tl dDogICAgICAgICAgICAyNTYsICAgICAgMCwgICAgICAgMCwgICAgIDc2NSwgICAgMTMyMCwgICAw LCAgIDAsICAgMAptYnVmOiAgICAgICAgICAgICAgICAgICAyNTYsIDYzNDc5MjAsICAgICA1MTMs ICAgIDEzMTcsICAgNzIzNzAsICAgMCwgICAwLCAgIDAKbWJ1Zl9jbHVzdGVyOiAgICAgICAgICAy MDQ4LCA5OTE4NjIsICAgICA3NjUsICAgICAgIDUsICAgICA3NjUsICAgMCwgICAwLCAgIDAKbWJ1 Zl9qdW1ib19wYWdlOiAgICAgICA0MDk2LCA0OTU5MzEsICAgICA1MTIsICAgICA1MzQsICAgNjQ2 ODIsICAgMCwgICAwLCAgIDAKbWJ1Zl9qdW1ib185azogICAgICAgICA5MjE2LCAxNDY5NDIsICAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKbWJ1Zl9qdW1ib18xNms6ICAg ICAgIDE2Mzg0LCAgODI2NTUsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKZXBvY2hfcmVjb3JkIHBjcHU6ICAgICAgMjU2LCAgICAgIDAsICAgICAgIDQsICAgICAgMTIs ICAgICAgIDQsICAgMCwgICAwLCAgIDAKa3Rsc19zZXNzaW9uOiAgICAgICAgICAgMTI4LCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKSU9NTVVfTUFQX0VO VFJZOiAgICAgICAgMTIwLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwg ICAwLCAgIDAKdHR5aW5xOiAgICAgICAgICAgICAgICAgMTYwLCAgICAgIDAsICAgICAxNjUsICAg ICAgODUsICAgICAzMDAsICAgMCwgICAwLCAgIDAKdHR5b3V0cTogICAgICAgICAgICAgICAgMjU2 LCAgICAgIDAsICAgICAgODgsICAgICAgNjIsICAgICAxNjAsICAgMCwgICAwLCAgIDAKREVWQ1RM OiAgICAgICAgICAgICAgICAxMDI0LCAgIDEwMDAsICAgICAgIDAsICAgICAgIDAsICAgICA2MjAs ICAgMCwgICAwLCAgIDAKZ19iaW86ICAgICAgICAgICAgICAgICAgMzg0LCAgICAgIDAsICAgICAg IDAsICAgICAzOTAsICAgNDE5ODEsICAgMCwgICAwLCAgIDAKbGludXhfZG1hX3BjdHJpZTogICAg ICAgMTQ0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAK bGludXhfZG1hX29iamVjdDogICAgICAgIDI0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg ICAgIDAsICAgMCwgICAwLCAgIDAKdnRuZXRfdHhfaGRyOiAgICAgICAgICAgIDI0LCAgICAgIDAs ICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKY3J5cHRvcDogICAgICAg ICAgICAgICAgMjgwLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAw LCAgIDAKdGFza3Ffem9uZTogICAgICAgICAgICAgMTkyLCAgICAgIDAsICAgICAgIDAsICAgICA1 MDQsICAgIDI2OTksICAgMCwgICAwLCAgIDAKVk5PREU6ICAgICAgICAgICAgICAgICAgNDQ4LCAg ICAgIDAsICAgIDkyMzQsICAgICAxODAsICAgMTAwNDQsICAgMCwgICAwLCAgIDAKQlVGIFRSSUU6 ICAgICAgICAgICAgICAgMTQ0LCAgICAgIDAsICAgICAgIDUsICAgICAxODEsICAgICAgIDUsICAg MCwgICAwLCAgIDAKTkFNRUk6ICAgICAgICAgICAgICAgICAxMDI0LCAgICAgIDAsICAgICAgIDAs ICAgICAgMzIsICAyMjk5MDksICAgMCwgICAwLCAgIDAKUyBWRlMgQ2FjaGU6ICAgICAgICAgICAg MTA0LCAgICAgIDAsICAgMTIyMjYsICAgICAzMzIsICAgMTI0MDksICAgMCwgICAwLCAgIDAKU1RT IFZGUyBDYWNoZTogICAgICAgICAgMTQ0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgMCwgICAwLCAgIDAKTCBWRlMgQ2FjaGU6ICAgICAgICAgICAgMzIwLCAgICAgIDAsICAg ICAgMTAsICAgICAgMjYsICAgICAgMTEsICAgMCwgICAwLCAgIDAKTFRTIFZGUyBDYWNoZTogICAg ICAgICAgMzYwLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKTkNMTk9ERTogICAgICAgICAgICAgICAgNTg0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAs ICAgICAgIDAsICAgMCwgICAwLCAgIDAKRElSSEFTSDogICAgICAgICAgICAgICAxMDI0LCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKVE1QRlMgbm9kZTog ICAgICAgICAgICAgMjI0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwg ICAwLCAgIDAKQUlPOiAgICAgICAgICAgICAgICAgICAgMjA4LCAgICAgIDAsICAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKQUlPUDogICAgICAgICAgICAgICAgICAgIDMy LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKQUlPQ0I6 ICAgICAgICAgICAgICAgICAgNTUyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAs ICAgMCwgICAwLCAgIDAKQUlPTElPOiAgICAgICAgICAgICAgICAgMjcyLCAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKcGlwZTogICAgICAgICAgICAgICAg ICAgNzQ0LCAgICAgIDAsICAgICAgIDUsICAgICAgNjAsICAgICA2NDQsICAgMCwgICAwLCAgIDAK TW91bnRwb2ludHM6ICAgICAgICAgICAyNzUyLCAgICAgIDAsICAgICAgMTQsICAgICAgMTQsICAg ICAgMTQsICAgMCwgICAwLCAgIDAKcmVmZXJlbmNlX2NhY2hlOiAgICAgICAgIDQwLCAgICAgIDAs ICAgICAgMjQsICAgIDE5OTYsICAgIDk1ODQsICAgMCwgICAwLCAgIDAKcmVmZXJlbmNlX2hpc3Rv cnlfY2FjaGU6ICAgICAgOCwgICAgICAwLCAgICAgIDI0LCAgICAxOTQ4LCAgICA5NTg0LCAgIDAs ICAgMCwgICAwCnpmc19idHJlZV9sZWFmX2NhY2hlOiAgIDQwOTYsICAgICAgMCwgICAgIDEwNCwg ICAgICAzOCwgICAgMTM5MywgICAwLCAgIDAsICAgMAptZXRhc2xhYl9hbGxvY190cmFjZV9jYWNo ZTogICAgIDcyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKZGR0X2NhY2hlOiAgICAgICAgICAgIDI0ODQwLCAgICAgIDAsICAgICAgMTMsICAgICAgIDAs ICAgICAgMTMsICAgMCwgICAwLCAgIDAKZGR0X2VudHJ5X2NhY2hlOiAgICAgICAgMzkyLCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2NhY2hlOiAg ICAgICAgICAgICAxMjMyLCAgICAgIDAsICAgICAgMTIsICAgIDE2MTQsICAyMTMxODYsICAgMCwg ICAwLCAgIDAKemlvX2xpbmtfY2FjaGU6ICAgICAgICAgIDQ4LCAgICAgIDAsICAgICAgIDAsICAg IDMxMDgsICAgOTYyNzQsICAgMCwgICAwLCAgIDAKemlvX2J1Zl81MTI6ICAgICAgICAgICAgNTEy LCAgICAgIDAsICAgICAzNTksICAgICAgNTcsICAgOTQ1NzYsICAgMCwgICAwLCAgIDAKemlvX2Rh dGFfYnVmXzUxMjogICAgICAgNTEyLCAgICAgIDAsICAgICAzNzUsICAgIDI4ODEsICAgIDg5OTYs ICAgMCwgICAwLCAgIDAKemlvX2J1Zl8xMDI0OiAgICAgICAgICAxMDI0LCAgICAgIDAsICAgICA0 MjEsICAgICAgMTksICAgICA0MzYsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzEwMjQ6ICAg ICAxMDI0LCAgICAgIDAsICAgICAgODAsICAgICAgMTIsICAgICAgODgsICAgMCwgICAwLCAgIDAK emlvX2J1Zl8xNTM2OiAgICAgICAgICAxNTM2LCAgICAgIDAsICAgICAxODksICAgICAgMjYsICAg ICAyNTcsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzE1MzY6ICAgICAxNTM2LCAgICAgIDAs ICAgICAgNTksICAgICAgMTEsICAgICAgNjksICAgMCwgICAwLCAgIDAKemlvX2J1Zl8yMDQ4OiAg ICAgICAgICAyMDQ4LCAgICAgIDAsICAgICAgODQsICAgICAgMTgsICAgICAxMzEsICAgMCwgICAw LCAgIDAKemlvX2RhdGFfYnVmXzIwNDg6ICAgICAyMDQ4LCAgICAgIDAsICAgICAgODMsICAgICAg IDksICAgICAgOTQsICAgMCwgICAwLCAgIDAKemlvX2J1Zl8yNTYwOiAgICAgICAgICAyNTYwLCAg ICAgIDAsICAgICAgNDksICAgICAgMTcsICAgICAxMDUsICAgMCwgICAwLCAgIDAKemlvX2RhdGFf YnVmXzI1NjA6ICAgICAyNTYwLCAgICAgIDAsICAgICAgNzgsICAgICAgIDksICAgICAgODUsICAg MCwgICAwLCAgIDAKemlvX2J1Zl8zMDcyOiAgICAgICAgICAzMDcyLCAgICAgIDAsICAgICAgMjcs ICAgICAgMTcsICAgICAgMzYsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzMwNzI6ICAgICAz MDcyLCAgICAgIDAsICAgICAgNTUsICAgICAgIDksICAgICAgNTcsICAgMCwgICAwLCAgIDAKemlv X2J1Zl8zNTg0OiAgICAgICAgICAzNTg0LCAgICAgIDAsICAgICAgMzAsICAgICAgIDQsICAgICAg MzIsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzM1ODQ6ICAgICAzNTg0LCAgICAgIDAsICAg ICAgNTgsICAgICAgIDQsICAgICAgNjAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl80MDk2OiAgICAg ICAgICA0MDk2LCAgICAgIDAsICAgIDIzMDEsICAgICAgMTIsICAgIDUwNzgsICAgMCwgICAwLCAg IDAKemlvX2RhdGFfYnVmXzQwOTY6ICAgICA0MDk2LCAgICAgIDAsICAgICA0NzgsICAgICAgMTMs ICAgIDE0NDksICAgMCwgICAwLCAgIDAKemlvX2J1Zl81MTIwOiAgICAgICAgICA1MTIwLCAgICAg IDAsICAgICAgIDAsICAgICAgMjksICAgICAgNTIsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVm XzUxMjA6ICAgICA1MTIwLCAgICAgIDAsICAgICAgIDAsICAgICAgNDMsICAgICAgNzIsICAgMCwg ICAwLCAgIDAKemlvX2J1Zl82MTQ0OiAgICAgICAgICA2MTQ0LCAgICAgIDAsICAgICAgIDAsICAg ICAgMjQsICAgICAgNDYsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzYxNDQ6ICAgICA2MTQ0 LCAgICAgIDAsICAgICAgIDEsICAgICAgMzYsICAgICAgNTEsICAgMCwgICAwLCAgIDAKemlvX2J1 Zl83MTY4OiAgICAgICAgICA3MTY4LCAgICAgIDAsICAgICAgIDAsICAgICAgMTMsICAgICAgMjIs ICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzcxNjg6ICAgICA3MTY4LCAgICAgIDAsICAgICAg IDAsICAgICAgMjksICAgICAgNTEsICAgMCwgICAwLCAgIDAKemlvX2J1Zl84MTkyOiAgICAgICAg ICA4MTkyLCAgICAgIDAsICAgICAgIDEsICAgICAgMjcsICAgIDMxODYsICAgMCwgICAwLCAgIDAK emlvX2RhdGFfYnVmXzgxOTI6ICAgICA4MTkyLCAgICAgIDAsICAgICAgIDAsICAgICAgMjQsICAg ICAgNDEsICAgMCwgICAwLCAgIDAKemlvX2J1Zl8xMDI0MDogICAgICAgIDEwMjQwLCAgICAgIDAs ICAgICAgIDAsICAgICAgMTMsICAgICAgMzAsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzEw MjQwOiAgIDEwMjQwLCAgICAgIDAsICAgICAgIDAsICAgICAgNDQsICAgICAgODQsICAgMCwgICAw LCAgIDAKemlvX2J1Zl8xMjI4ODogICAgICAgIDEyMjg4LCAgICAgIDAsICAgICAgIDAsICAgICAg MjIsICAgICA1MTQsICAgMCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzEyMjg4OiAgIDEyMjg4LCAg ICAgIDAsICAgICAgIDAsICAgICAgMjgsICAgICAgNzAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl8x NDMzNjogICAgICAgIDE0MzM2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDMsICAgICAgIDQsICAg MCwgICAwLCAgIDAKemlvX2RhdGFfYnVmXzE0MzM2OiAgIDE0MzM2LCAgICAgIDAsICAgICAgIDAs ICAgICAgNDAsICAgICAxMTcsICAgMCwgICAwLCAgIDAKemlvX2J1Zl8xNjM4NDogICAgICAgIDE2 Mzg0LCAgICAgIDAsICAgIDEyMzMsICAgICAgMzQsICAgIDM1NjksICAgMCwgICAwLCAgIDAKemlv X2RhdGFfYnVmXzE2Mzg0OiAgIDE2Mzg0LCAgICAgIDAsICAgICAgIDAsICAgICAgNDcsICAgICAx NDgsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzIwNDgwOiAgIDIwNDgwLCAgICAgIDAsICAg ICAgIDAsICAgICAxMjEsICAgICA2MTMsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzI0NTc2 OiAgIDI0NTc2LCAgICAgIDAsICAgICAgIDAsICAgICAyMTAsICAgICA4NjksICAgMCwgICAwLCAg IDAKemlvX2J1Zl9jb21iXzI4NjcyOiAgIDI4NjcyLCAgICAgIDAsICAgICAgIDAsICAgICAyNjQs ICAgICA3NjksICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzMyNzY4OiAgIDMyNzY4LCAgICAg IDAsICAgICAgIDEsICAgICAgMzksICAgICAyODUsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21i XzQwOTYwOiAgIDQwOTYwLCAgICAgIDAsICAgICAgIDEsICAgICAgMzIsICAgICA1MTQsICAgMCwg ICAwLCAgIDAKemlvX2J1Zl9jb21iXzQ5MTUyOiAgIDQ5MTUyLCAgICAgIDAsICAgICAgIDEsICAg ICAgNDEsICAgIDI3NDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzU3MzQ0OiAgIDU3MzQ0 LCAgICAgIDAsICAgICAgIDAsICAgICAgMjIsICAgICA1NDcsICAgMCwgICAwLCAgIDAKemlvX2J1 Zl9jb21iXzY1NTM2OiAgIDY1NTM2LCAgICAgIDAsICAgICAgIDAsICAgICAgMjMsICAgICA1NjIs ICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzgxOTIwOiAgIDgxOTIwLCAgICAgIDAsICAgICAg IDEsICAgICAgMzksICAgIDI3OTQsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzk4MzA0OiAg IDk4MzA0LCAgICAgIDAsICAgICAgIDAsICAgICAgMjksICAgIDIyNDcsICAgMCwgICAwLCAgIDAK emlvX2J1Zl9jb21iXzExNDY4ODogMTE0Njg4LCAgICAgIDAsICAgICAgIDAsICAgICAgMjksICAg ICAyNDMsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzEzMTA3MjogMTMxMDcyLCAgICAgIDAs ICAgICAyNjQsICAgIDE2NzEsICAgMTU5MjQsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzE2 Mzg0MDogMTYzODQwLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAw LCAgIDAKemlvX2J1Zl9jb21iXzE5NjYwODogMTk2NjA4LCAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzIyOTM3NjogMjI5Mzc2LCAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9j b21iXzI2MjE0NDogMjYyMTQ0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg MCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzMyNzY4MDogMzI3NjgwLCAgICAgIDAsICAgICAgIDAs ICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzM5MzIxNjogMzkz MjE2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlv X2J1Zl9jb21iXzQ1ODc1MjogNDU4NzUyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzUyNDI4ODogNTI0Mjg4LCAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzY1NTM2 MDogNjU1MzYwLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKemlvX2J1Zl9jb21iXzc4NjQzMjogNzg2NDMyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAs ICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzkxNzUwNDogOTE3NTA0LCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21i XzEwNDg1NzY6IDEwNDg1NzYsICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAw LCAgIDAsICAgMAp6aW9fYnVmX2NvbWJfMTMxMDcyMDogMTMxMDcyMCwgICAgICAwLCAgICAgICAw LCAgICAgICAwLCAgICAgICAwLCAgIDAsICAgMCwgICAwCnppb19idWZfY29tYl8xNTcyODY0OiAx NTcyODY0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAK emlvX2J1Zl9jb21iXzE4MzUwMDg6IDE4MzUwMDgsICAgICAgMCwgICAgICAgMCwgICAgICAgMCwg ICAgICAgMCwgICAwLCAgIDAsICAgMAp6aW9fYnVmX2NvbWJfMjA5NzE1MjogMjA5NzE1MiwgICAg ICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgIDAsICAgMCwgICAwCnppb19idWZfY29t Yl8yNjIxNDQwOiAyNjIxNDQwLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg MCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzMxNDU3Mjg6IDMxNDU3MjgsICAgICAgMCwgICAgICAg MCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMAp6aW9fYnVmX2NvbWJfMzY3MDAxNjog MzY3MDAxNiwgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgIDAsICAgMCwgICAw Cnppb19idWZfY29tYl80MTk0MzA0OiA0MTk0MzA0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAs ICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzUyNDI4ODA6IDUyNDI4ODAsICAg ICAgMCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMAp6aW9fYnVmX2Nv bWJfNjI5MTQ1NjogNjI5MTQ1NiwgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAg IDAsICAgMCwgICAwCnppb19idWZfY29tYl83MzQwMDMyOiA3MzQwMDMyLCAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzgzODg2MDg6 IDgzODg2MDgsICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAg MAp6aW9fYnVmX2NvbWJfMTA0ODU3NjA6IDEwNDg1NzYwLCAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemlvX2J1Zl9jb21iXzEyNTgyOTEyOiAxMjU4Mjkx MiwgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgIDAsICAgMCwgICAwCnppb19i dWZfY29tYl8xNDY4MDA2NDogMTQ2ODAwNjQsICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAg ICAgMCwgICAwLCAgIDAsICAgMAp6aW9fYnVmX2NvbWJfMTY3NzcyMTY6IDE2Nzc3MjE2LCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKYWJkX2NodW5rOiAg ICAgICAgICAgICA0MDk2LCAgICAgIDAsICAgOTUxMjYsICAgMTgyNzUsICAyNzQxNjgsICAgMCwg ICAwLCAgIDAKc2FfY2FjaGU6ICAgICAgICAgICAgICAgMjk2LCAgICAgIDAsICAgIDkxNTksICAg ICAgNTgsICAgIDkyNTgsICAgMCwgICAwLCAgIDAKZG5vZGVfdDogICAgICAgICAgICAgICAxMDQw LCAgICAgIDAsICAgIDk2NDcsICAgICAgMzEsICAgMTA0MjcsICAgMCwgICAwLCAgIDAKYXJjX2J1 Zl9oZHJfdF9mdWxsOiAgICAgMzYwLCAgICAgIDAsICAgMTE5MzIsICAgICAgMzYsICAgNjM5MTEs ICAgMCwgICAwLCAgIDAKYXJjX2J1Zl9oZHJfdF9mdWxsX2NyeXB0OiAgICA0MjQsICAgICAgMCwg ICAgICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMAphcmNfYnVmX2hkcl90X2wy b25seTogICAgIDk2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAw LCAgIDAKYXJjX2J1Zl90OiAgICAgICAgICAgICAgIDY0LCAgICAgIDAsICAgIDE1MjcsICAgIDMx OTgsICAgNzAzMTEsICAgMCwgICAwLCAgIDAKZG11X2J1Zl9pbXBsX3Q6ICAgICAgICAgNDA4LCAg ICAgIDAsICAgMTA5MzEsICAgIDE3NTksICAgNzg4MzAsICAgMCwgICAwLCAgIDAKemlsX2x3Yl9j YWNoZTogICAgICAgICAgMzYwLCAgICAgIDAsICAgICAgIDcsICAgICAgNDgsICAgICAgMjMsICAg MCwgICAwLCAgIDAKemlsX3pjd19jYWNoZTogICAgICAgICAgIDgwLCAgICAgIDAsICAgICAgIDAs ICAgICAyMDAsICAgICAgMTksICAgMCwgICAwLCAgIDAKc2lvX2NhY2hlXzA6ICAgICAgICAgICAg MTM2LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKc2lv X2NhY2hlXzE6ICAgICAgICAgICAgMTUyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgMCwgICAwLCAgIDAKc2lvX2NhY2hlXzI6ICAgICAgICAgICAgMTY4LCAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKemZzX3pub2RlX2NhY2hlOiAg ICAgICAgNDcyLCAgICAgIDAsICAgIDkxNTksICAgICAxMjEsICAgIDkyNTgsICAgMCwgICAwLCAg IDAKa3NpZ2luZm86ICAgICAgICAgICAgICAgMTEyLCAgICAgIDAsICAgICAgNjAsICAgICA5NDgs ICAgICAxMjUsICAgMCwgICAwLCAgIDAKaXRpbWVyOiAgICAgICAgICAgICAgICAgMzUyLCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKS05PVEU6ICAgICAg ICAgICAgICAgICAgMTYwLCAgICAgIDAsICAgICAgIDMsICAgICAgNDcsICAgICAgMTgsICAgMCwg ICAwLCAgIDAKc29ja2V0OiAgICAgICAgICAgICAgICAgOTQ0LCA1MTE1MzAsICAgICAgMjUsICAg ICAgMzUsICAgIDMzMjEsICAgMCwgICAwLCAgIDAKaXBxOiAgICAgICAgICAgICAgICAgICAgIDU2 LCAgMzA5OTUsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKdWRwX2lu cGNiOiAgICAgICAgICAgICAgNDg4LCA1MTE1MzAsICAgICAgIDIsICAgICAgNjIsICAgICAgODUs ICAgMCwgICAwLCAgIDAKdWRwY2I6ICAgICAgICAgICAgICAgICAgIDMyLCA1MTE1MzAsICAgICAg IDIsICAgIDEwMDYsICAgICAgODUsICAgMCwgICAwLCAgIDAKdGNwX2lucGNiOiAgICAgICAgICAg ICAgNDg4LCA1MTE1MzAsICAgICAgIDQsICAgICAgMjgsICAgICAgIDcsICAgMCwgICAwLCAgIDAK dGNwY2I6ICAgICAgICAgICAgICAgICAxMDY0LCA1MTE1MzAsICAgICAgIDQsICAgICAgMjQsICAg ICAgIDcsICAgMCwgICAwLCAgIDAKdGNwdHc6ICAgICAgICAgICAgICAgICAgIDg4LCAgMjc3Njcs ICAgICAgIDAsICAgICAgNDYsICAgICAgIDEsICAgMCwgICAwLCAgIDAKc3luY2FjaGU6ICAgICAg ICAgICAgICAgMTY4LCAgMTUzNjAsICAgICAgIDAsICAgICAgMjQsICAgICAgIDIsICAgMCwgICAw LCAgIDAKaG9zdGNhY2hlOiAgICAgICAgICAgICAgIDY0LCAgMTUzNjAsICAgICAgIDEsICAgICAg NjIsICAgICAgIDEsICAgMCwgICAwLCAgIDAKc2Fja2hvbGU6ICAgICAgICAgICAgICAgIDMyLCAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKdGZvOiAgICAg ICAgICAgICAgICAgICAgICA0LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg MCwgICAwLCAgIDAKdGZvX2NjYWNoZV9lbnRyaWVzOiAgICAgIDgwLCAgICAgIDAsICAgICAgIDAs ICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKdGNwcmVhc3M6ICAgICAgICAgICAgICAg IDQ4LCAgNjE5OTEsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKdGNw X2xvZzogICAgICAgICAgICAgICAgNDE2LCA1MDAwMDAwLCAgICAgICAwLCAgICAgICAwLCAgICAg ICAwLCAgIDAsICAgMCwgICAwCnRjcF9sb2dfYnVja2V0OiAgICAgICAgIDE3NiwgICAgICAwLCAg ICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgIDAsICAgMCwgICAwCnRjcF9sb2dfbm9kZTogICAg ICAgICAgIDEyMCwgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgIDAsICAgMCwg ICAwCnVkcGxpdGVfaW5wY2I6ICAgICAgICAgIDQ4OCwgNTExNTMwLCAgICAgICAwLCAgICAgICAw LCAgICAgICAwLCAgIDAsICAgMCwgICAwCnJpcGNiOiAgICAgICAgICAgICAgICAgIDQ4OCwgNTEx NTMwLCAgICAgICAxLCAgICAgIDE1LCAgICAgICA0LCAgIDAsICAgMCwgICAwCklQc2VjIFNBIGxm dF9jOiAgICAgICAgICAxNiwgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgICAgICAwLCAgIDAs ICAgMCwgICAwCnVucGNiOiAgICAgICAgICAgICAgICAgIDI1NiwgNTExNTMwLCAgICAgIDE3LCAg ICAgIDg4LCAgICAzMjEyLCAgIDAsICAgMCwgICAwCnJvdXRpbmcgbmhvcHM6ICAgICAgICAgIDI1 NiwgICAgICAwLCAgICAgIDExLCAgICAgIDc5LCAgICAgIDE5LCAgIDAsICAgMCwgICAwCnJ0ZW50 cnk6ICAgICAgICAgICAgICAgIDE3NiwgICAgICAwLCAgICAgIDE2LCAgICAgMTIyLCAgICAgIDE5 LCAgIDAsICAgMCwgICAwCnN3cGN0cmllOiAgICAgICAgICAgICAgIDE0NCwgMTk4Mzc3MiwgICAg ICAgMCwgICAgICAgMCwgICAgICAgMCwgICAwLCAgIDAsICAgMApzd2JsazogICAgICAgICAgICAg ICAgICAxMzYsIDE5ODM3NDUsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAg IDAKYWRhX2NjYjogICAgICAgICAgICAgICAgMjcyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAs ICAgICAgIDAsICAgMCwgICAwLCAgIDAKZGFfY2NiOiAgICAgICAgICAgICAgICAgNTQ0LCAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKTmV0R3JhcGggaXRl bXM6ICAgICAgICAgIDcyLCAgIDQwOTYsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwg ICAwLCAgIDAKTmV0R3JhcGggZGF0YSBpdGVtczogICAgIDcyLCAgIDQwOTYsICAgICAgIDAsICAg ICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKZHJtX3NjaGVkX2ZlbmNlOiAgICAgICAgMTg0 LCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKYWN0aXZl X25vZGU6ICAgICAgICAgICAgIDcyLCAgICAgIDAsICAgICAgIDAsICAgICAgMzIsICAgICAgIDUs ICAgMCwgICAwLCAgIDAKaTkxNV9idWRkeV9ibG9jazogICAgICAgIDcyLCAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKaW50ZWxfY29udGV4dDogICAgICAg ICAgNDE2LCAgICAgIDAsICAgICAgIDgsICAgICAgMTAsICAgICAgMTYsICAgMCwgICAwLCAgIDAK aTkxNV9sdXRfaGFuZGxlOiAgICAgICAgIDMyLCAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAg ICAgIDAsICAgMCwgICAwLCAgIDAKZHJtX2k5MTVfZ2VtX29iamVjdDogICAgODAwLCAgICAgIDAs ICAgICAgMjAsICAgICAgMjUsICAgICAgMjksICAgMCwgICAwLCAgIDAKaTkxNV9yZXF1ZXN0OiAg ICAgICAgICAgNjU2LCAgICAgIDAsICAgICAgIDAsICAgICAgMjIsICAgICAgMTIsICAgMCwgICAw LCAgIDAKZXhlY3V0ZV9jYjogICAgICAgICAgICAgMTA0LCAgICAgIDAsICAgICAgIDAsICAgICAg IDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKaTkxNV9kZXBlbmRlbmN5OiAgICAgICAgIDk2LCAg ICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgICAgIDAsICAgMCwgICAwLCAgIDAKaTkxNV9wcmlv bGlzdDogICAgICAgICAgMTA0LCAgICAgIDAsICAgICAgIDAsICAgICAgNjIsICAgICAgIDgsICAg MCwgICAwLCAgIDAKaTkxNV92bWE6ICAgICAgICAgICAgICAgNjgwLCAgICAgIDAsICAgICAgMTks ICAgICAgMjUsICAgICAgMjYsICAgMCwgICAwLCAgIDAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp2bXN0YXQg LWkKCmludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgdG90YWwgICAgICAgcmF0ZQpp cnExOiBhdGtiZDAgICAgICAgICAgICAgICAgICAgICAgICAgIDc4ICAgICAgICAgIDIKaXJxOTog YWNwaTAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwNyAgICAgICAgIDE5CmlycTE2OiBpZzRp aWMwICAgICAgICAgICAgICAgICAgICAgICA5ODEgICAgICAgICAzMQppcnExNzogaWc0aWljMSAg ICAgICAgICAgICAgICAgICAgICAxMDAxICAgICAgICAgMzIKY3B1MDp0aW1lciAgICAgICAgICAg ICAgICAgICAgICAgICAyMDk4NSAgICAgICAgNjYzCmNwdTE6dGltZXIgICAgICAgICAgICAgICAg ICAgICAgICAgIDc1MDAgICAgICAgIDIzNwpjcHUyOnRpbWVyICAgICAgICAgICAgICAgICAgICAg ICAgICA4ODg0ICAgICAgICAyODEKY3B1Mzp0aW1lciAgICAgICAgICAgICAgICAgICAgICAgICAg ODIwNSAgICAgICAgMjU5CmNwdTQ6dGltZXIgICAgICAgICAgICAgICAgICAgICAgICAgMTI5NTgg ICAgICAgIDQxMApjcHU1OnRpbWVyICAgICAgICAgICAgICAgICAgICAgICAgICA2NjgwICAgICAg ICAyMTEKY3B1Njp0aW1lciAgICAgICAgICAgICAgICAgICAgICAgICAgNzYyMSAgICAgICAgMjQx CmNwdTc6dGltZXIgICAgICAgICAgICAgICAgICAgICAgICAgIDg5MTkgICAgICAgIDI4MgppcnEx Mjg6IHhoY2kwICAgICAgICAgICAgICAgICAgICAgICAgMTAyICAgICAgICAgIDMKaXJxMTM1OiBu dm1lMDphZG1pbiAgICAgICAgICAgICAgICAgICAxNCAgICAgICAgICAwCmlycTEzNjogbnZtZTA6 aW8wICAgICAgICAgICAgICAgICAgIDM4NjcgICAgICAgIDEyMgppcnExMzc6IG52bWUwOmlvMSAg ICAgICAgICAgICAgICAgICA0MDk2ICAgICAgICAxMzAKaXJxMTM4OiBudm1lMDppbzIgICAgICAg ICAgICAgICAgICAgMzQ5NSAgICAgICAgMTEwCmlycTEzOTogbnZtZTA6aW8zICAgICAgICAgICAg ICAgICAgIDI0MDEgICAgICAgICA3NgppcnExNDA6IG52bWUxOmFkbWluICAgICAgICAgICAgICAg ICAgIDE0ICAgICAgICAgIDAKaXJxMTQxOiBudm1lMTppbzAgICAgICAgICAgICAgICAgICAgICAy MSAgICAgICAgICAxCmlycTE0MjogbnZtZTE6aW8xICAgICAgICAgICAgICAgICAgICAgIDcgICAg ICAgICAgMAppcnExNDQ6IG52bWUxOmlvMyAgICAgICAgICAgICAgICAgICAgICAxICAgICAgICAg IDAKaXJxMTQ1OiBoZGFjMCAgICAgICAgICAgICAgICAgICAgICAgICAyNSAgICAgICAgICAxCmly cTE0NjogaXdtMCAgICAgICAgICAgICAgICAgICAgICAxMjk2NjQgICAgICAgNDEwMAppcnExNDc6 IHZnYXBjaTAgICAgICAgICAgICAgICAgICAgICAgIDg3ICAgICAgICAgIDMKVG90YWwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDIyODIxMyAgICAgICA3MjE1CgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K cHN0YXQgLVQKCiA5NS81MTE1MzAgZmlsZXMKME0vME0gc3dhcCBzcGFjZQoKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCnBzdGF0IC1zCgpEZXZpY2UgICAgICAgICAgMUstYmxvY2tzICAgICBVc2VkICAgIEF2YWls IENhcGFjaXR5CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaW9zdGF0CgogICAgICAgdHR5ICAgICAgICAgICAg bnZkMCAgICAgICAgICAgICBudmQxICAgICAgICAgICAgIGNwdQogdGluICB0b3V0IEtCL3QgIHRw cyAgTUIvcyAgS0IvdCAgdHBzICBNQi9zICB1cyBuaSBzeSBpbiBpZAogICAyICAgMTA3IDMwLjUg ICAxOCAgIDAuNSAgMTguMCAgICAwICAgMC4wICAgMCAgMCAgMCAgMCAxMDAKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQppcGNzIC1hCgpNZXNzYWdlIFF1ZXVlczoKVCAgICAgICAgICAgSUQgICAgICAgICAgS0VZ IE1PREUgICAgICAgIE9XTkVSICAgIEdST1VQICAgIENSRUFUT1IgIENHUk9VUCAgICAgICAgICAg ICAgICAgQ0JZVEVTICAgICAgICAgICAgICAgICBRTlVNICAgICAgICAgICAgICAgUUJZVEVTICAg ICAgICBMU1BJRCAgICAgICAgTFJQSUQgU1RJTUUgICAgUlRJTUUgICAgQ1RJTUUgICAKClNoYXJl ZCBNZW1vcnk6ClQgICAgICAgICAgIElEICAgICAgICAgIEtFWSBNT0RFICAgICAgICBPV05FUiAg ICBHUk9VUCAgICBDUkVBVE9SICBDR1JPVVAgICAgICAgICBOQVRUQ0ggICAgICAgIFNFR1NaICAg ICAgICAgQ1BJRCAgICAgICAgIExQSUQgQVRJTUUgICAgRFRJTUUgICAgQ1RJTUUgICAKClNlbWFw aG9yZXM6ClQgICAgICAgICAgIElEICAgICAgICAgIEtFWSBNT0RFICAgICAgICBPV05FUiAgICBH Uk9VUCAgICBDUkVBVE9SICBDR1JPVVAgICAgICAgICAgTlNFTVMgT1RJTUUgICAgQ1RJTUUgICAK CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KaXBjcyAtVAoKbXNnaW5mbzoKCW1zZ21heDogICAgICAgIDE2Mzg0 CShtYXggY2hhcmFjdGVycyBpbiBhIG1lc3NhZ2UpCgltc2dtbmk6ICAgICAgICAgICA0MAkoIyBv ZiBtZXNzYWdlIHF1ZXVlcykKCW1zZ21uYjogICAgICAgICAyMDQ4CShtYXggY2hhcmFjdGVycyBp biBhIG1lc3NhZ2UgcXVldWUpCgltc2d0cWw6ICAgICAgICAgICA0MAkobWF4ICMgb2YgbWVzc2Fn ZXMgaW4gc3lzdGVtKQoJbXNnc3N6OiAgICAgICAgICAgIDgJKHNpemUgb2YgYSBtZXNzYWdlIHNl Z21lbnQpCgltc2dzZWc6ICAgICAgICAgMjA0OAkoIyBvZiBtZXNzYWdlIHNlZ21lbnRzIGluIHN5 c3RlbSkKCnNobWluZm86CglzaG1tYXg6ICAgIDUzNjg3MDkxMgkobWF4IHNoYXJlZCBtZW1vcnkg c2VnbWVudCBzaXplKQoJc2htbWluOiAgICAgICAgICAgIDEJKG1pbiBzaGFyZWQgbWVtb3J5IHNl Z21lbnQgc2l6ZSkKCXNobW1uaTogICAgICAgICAgMTkyCShtYXggbnVtYmVyIG9mIHNoYXJlZCBt ZW1vcnkgaWRlbnRpZmllcnMpCglzaG1zZWc6ICAgICAgICAgIDEyOAkobWF4IHNoYXJlZCBtZW1v cnkgc2VnbWVudHMgcGVyIHByb2Nlc3MpCglzaG1hbGw6ICAgICAgIDEzMTA3MgkobWF4IGFtb3Vu dCBvZiBzaGFyZWQgbWVtb3J5IGluIHBhZ2VzKQoKc2VtaW5mbzoKCXNlbW1uaTogICAgICAgICAg IDUwCSgjIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycykKCXNlbW1uczogICAgICAgICAgMzQwCSgj IG9mIHNlbWFwaG9yZXMgaW4gc3lzdGVtKQoJc2VtbW51OiAgICAgICAgICAxNTAJKCMgb2YgdW5k byBzdHJ1Y3R1cmVzIGluIHN5c3RlbSkKCXNlbW1zbDogICAgICAgICAgMzQwCShtYXggIyBvZiBz ZW1hcGhvcmVzIHBlciBpZCkKCXNlbW9wbTogICAgICAgICAgMTAwCShtYXggIyBvZiBvcGVyYXRp b25zIHBlciBzZW1vcCBjYWxsKQoJc2VtdW1lOiAgICAgICAgICAgNTAJKG1heCAjIG9mIHVuZG8g ZW50cmllcyBwZXIgcHJvY2VzcykKCXNlbXVzejogICAgICAgICAgNjMyCShzaXplIGluIGJ5dGVz IG9mIHVuZG8gc3RydWN0dXJlKQoJc2Vtdm14OiAgICAgICAgMzI3NjcJKHNlbWFwaG9yZSBtYXhp bXVtIHZhbHVlKQoJc2VtYWVtOiAgICAgICAgMTYzODQJKGFkanVzdCBvbiBleGl0IG1heCB2YWx1 ZSkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KbmV0c3RhdCAtcwoKdGNwOgoJNzc5IHBhY2tldHMgc2VudAoJ CTcyNyBkYXRhIHBhY2tldHMgKDEwODY5NyBieXRlcykKCQkwIGRhdGEgcGFja2V0cyAoMCBieXRl cykgcmV0cmFuc21pdHRlZAoJCTAgZGF0YSBwYWNrZXRzIHVubmVjZXNzYXJpbHkgcmV0cmFuc21p dHRlZAoJCTAgcmVzZW5kcyBpbml0aWF0ZWQgYnkgTVRVIGRpc2NvdmVyeQoJCTQ5IGFjay1vbmx5 IHBhY2tldHMgKDIyIGRlbGF5ZWQpCgkJMCBVUkcgb25seSBwYWNrZXRzCgkJMCB3aW5kb3cgcHJv YmUgcGFja2V0cwoJCTAgd2luZG93IHVwZGF0ZSBwYWNrZXRzCgkJMyBjb250cm9sIHBhY2tldHMK CTEwNDYgcGFja2V0cyByZWNlaXZlZAoJCTU4MiBhY2tzIChmb3IgMTA4Njc0IGJ5dGVzKQoJCTEg ZHVwbGljYXRlIGFjawoJCTAgVURQIHR1bm5lbGVkIHBrdHMKCQkwIFVEUCB0dW5uZWxlZCBwa3Qg Y250IHdpdGggZXJyb3JzCgkJMCBhY2tzIGZvciB1bnNlbnQgZGF0YQoJCTU0NCBwYWNrZXRzICgz NTg0OSBieXRlcykgcmVjZWl2ZWQgaW4tc2VxdWVuY2UKCQkwIGNvbXBsZXRlbHkgZHVwbGljYXRl IHBhY2tldHMgKDAgYnl0ZXMpCgkJMCBvbGQgZHVwbGljYXRlIHBhY2tldHMKCQkwIHBhY2tldHMg d2l0aCBzb21lIGR1cC4gZGF0YSAoMCBieXRlcyBkdXBlZCkKCQkwIG91dC1vZi1vcmRlciBwYWNr ZXRzICgwIGJ5dGVzKQoJCTAgcGFja2V0cyAoMCBieXRlcykgb2YgZGF0YSBhZnRlciB3aW5kb3cK CQkwIHdpbmRvdyBwcm9iZXMKCQkwIHdpbmRvdyB1cGRhdGUgcGFja2V0cwoJCTAgcGFja2V0cyBy ZWNlaXZlZCBhZnRlciBjbG9zZQoJCTAgZGlzY2FyZGVkIGZvciBiYWQgY2hlY2tzdW1zCgkJMCBk aXNjYXJkZWQgZm9yIGJhZCBoZWFkZXIgb2Zmc2V0IGZpZWxkcwoJCTAgZGlzY2FyZGVkIGJlY2F1 c2UgcGFja2V0IHRvbyBzaG9ydAoJCTAgZGlzY2FyZGVkIGR1ZSB0byBmdWxsIHJlYXNzZW1ibHkg cXVldWUKCTIgY29ubmVjdGlvbiByZXF1ZXN0cwoJMiBjb25uZWN0aW9uIGFjY2VwdHMKCTAgYmFk IGNvbm5lY3Rpb24gYXR0ZW1wdHMKCTAgbGlzdGVuIHF1ZXVlIG92ZXJmbG93cwoJMCBpZ25vcmVk IFJTVHMgaW4gdGhlIHdpbmRvd3MKCTQgY29ubmVjdGlvbnMgZXN0YWJsaXNoZWQgKGluY2x1ZGlu ZyBhY2NlcHRzKQoJCTEgdGltZSB1c2VkIFJUVCBmcm9tIGhvc3RjYWNoZQoJCTEgdGltZSB1c2Vk IFJUVCB2YXJpYW5jZSBmcm9tIGhvc3RjYWNoZQoJCTAgdGltZXMgdXNlZCBzbG93LXN0YXJ0IHRo cmVzaG9sZCBmcm9tIGhvc3RjYWNoZQoJMyBjb25uZWN0aW9ucyBjbG9zZWQgKGluY2x1ZGluZyAx IGRyb3ApCgkJMiBjb25uZWN0aW9ucyB1cGRhdGVkIGNhY2hlZCBSVFQgb24gY2xvc2UKCQkyIGNv bm5lY3Rpb25zIHVwZGF0ZWQgY2FjaGVkIFJUVCB2YXJpYW5jZSBvbiBjbG9zZQoJCTAgY29ubmVj dGlvbnMgdXBkYXRlZCBjYWNoZWQgc3N0aHJlc2ggb24gY2xvc2UKCTAgZW1icnlvbmljIGNvbm5l Y3Rpb25zIGRyb3BwZWQKCTU4MiBzZWdtZW50cyB1cGRhdGVkIHJ0dCAob2YgNTUxIGF0dGVtcHRz KQoJMCByZXRyYW5zbWl0IHRpbWVvdXRzCgkJMCBjb25uZWN0aW9ucyBkcm9wcGVkIGJ5IHJleG1p dCB0aW1lb3V0CgkwIHBlcnNpc3QgdGltZW91dHMKCQkwIGNvbm5lY3Rpb25zIGRyb3BwZWQgYnkg cGVyc2lzdCB0aW1lb3V0CgkwIENvbm5lY3Rpb25zIChmaW5fd2FpdF8yKSBkcm9wcGVkIGJlY2F1 c2Ugb2YgdGltZW91dAoJMSBrZWVwYWxpdmUgdGltZW91dAoJCTEga2VlcGFsaXZlIHByb2JlIHNl bnQKCQkwIGNvbm5lY3Rpb25zIGRyb3BwZWQgYnkga2VlcGFsaXZlCgkzMzkgY29ycmVjdCBBQ0sg aGVhZGVyIHByZWRpY3Rpb25zCgkzNzcgY29ycmVjdCBkYXRhIHBhY2tldCBoZWFkZXIgcHJlZGlj dGlvbnMKCTIgc3luY2FjaGUgZW50cmllcyBhZGRlZAoJCTAgcmV0cmFuc21pdHRlZAoJCTAgZHVw c3luCgkJMCBkcm9wcGVkCgkJMiBjb21wbGV0ZWQKCQkwIGJ1Y2tldCBvdmVyZmxvdwoJCTAgY2Fj aGUgb3ZlcmZsb3cKCQkwIHJlc2V0CgkJMCBzdGFsZQoJCTAgYWJvcnRlZAoJCTAgYmFkYWNrCgkJ MCB1bnJlYWNoCgkJMCB6b25lIGZhaWx1cmVzCgkyIGNvb2tpZXMgc2VudAoJMiBjb29raWVzIHJl Y2VpdmVkCgkxIGhvc3RjYWNoZSBlbnRyeSBhZGRlZAoJCTAgYnVja2V0IG92ZXJmbG93CgkwIFNB Q0sgcmVjb3ZlcnkgZXBpc29kZXMKCTAgc2VnbWVudCByZXhtaXRzIGluIFNBQ0sgcmVjb3Zlcnkg ZXBpc29kZXMKCTAgYnl0ZSByZXhtaXRzIGluIFNBQ0sgcmVjb3ZlcnkgZXBpc29kZXMKCTAgU0FD SyBvcHRpb25zIChTQUNLIGJsb2NrcykgcmVjZWl2ZWQKCTAgU0FDSyBvcHRpb25zIChTQUNLIGJs b2Nrcykgc2VudAoJMCBTQUNLIHJldHJhbnNtaXNzaW9ucyBsb3N0CgkwIFNBQ0sgc2NvcmVib2Fy ZCBvdmVyZmxvdwoJMCBwYWNrZXRzIHdpdGggRUNOIENFIGJpdCBzZXQKCTAgcGFja2V0cyB3aXRo IEVDTiBFQ1QoMCkgYml0IHNldAoJMCBwYWNrZXRzIHdpdGggRUNOIEVDVCgxKSBiaXQgc2V0Cgkw IHN1Y2Nlc3NmdWwgRUNOIGhhbmRzaGFrZXMKCTAgdGltZXMgRUNOIHJlZHVjZWQgdGhlIGNvbmdl c3Rpb24gd2luZG93CgkwIHBhY2tldHMgd2l0aCBtYXRjaGluZyBzaWduYXR1cmUgcmVjZWl2ZWQK CTAgcGFja2V0cyB3aXRoIGJhZCBzaWduYXR1cmUgcmVjZWl2ZWQKCTAgdGltZXMgZmFpbGVkIHRv IG1ha2Ugc2lnbmF0dXJlIGR1ZSB0byBubyBTQQoJMCB0aW1lcyB1bmV4cGVjdGVkIHNpZ25hdHVy ZSByZWNlaXZlZAoJMCB0aW1lcyBubyBzaWduYXR1cmUgcHJvdmlkZWQgYnkgc2VnbWVudAoJMCBQ YXRoIE1UVSBkaXNjb3ZlcnkgYmxhY2sgaG9sZSBkZXRlY3Rpb24gYWN0aXZhdGlvbnMKCTAgUGF0 aCBNVFUgZGlzY292ZXJ5IGJsYWNrIGhvbGUgZGV0ZWN0aW9uIG1pbiBNU1MgYWN0aXZhdGlvbnMK CTAgUGF0aCBNVFUgZGlzY292ZXJ5IGJsYWNrIGhvbGUgZGV0ZWN0aW9uIGZhaWx1cmVzClRDUCBj b25uZWN0aW9uIGNvdW50IGJ5IHN0YXRlOgoJMCBjb25uZWN0aW9ucyBpbiBDTE9TRUQgc3RhdGUK CTIgY29ubmVjdGlvbnMgaW4gTElTVEVOIHN0YXRlCgkwIGNvbm5lY3Rpb25zIGluIFNZTl9TRU5U IHN0YXRlCgkwIGNvbm5lY3Rpb25zIGluIFNZTl9SQ1ZEIHN0YXRlCgkyIGNvbm5lY3Rpb25zIGlu IEVTVEFCTElTSEVEIHN0YXRlCgkwIGNvbm5lY3Rpb25zIGluIENMT1NFX1dBSVQgc3RhdGUKCTAg Y29ubmVjdGlvbnMgaW4gRklOX1dBSVRfMSBzdGF0ZQoJMCBjb25uZWN0aW9ucyBpbiBDTE9TSU5H IHN0YXRlCgkwIGNvbm5lY3Rpb25zIGluIExBU1RfQUNLIHN0YXRlCgkwIGNvbm5lY3Rpb25zIGlu IEZJTl9XQUlUXzIgc3RhdGUKCTAgY29ubmVjdGlvbnMgaW4gVElNRV9XQUlUIHN0YXRlCnVkcDoK CTY1NjY3IGRhdGFncmFtcyByZWNlaXZlZAoJMCB3aXRoIGluY29tcGxldGUgaGVhZGVyCgkwIHdp dGggYmFkIGRhdGEgbGVuZ3RoIGZpZWxkCgkwIHdpdGggYmFkIGNoZWNrc3VtCgkwIHdpdGggbm8g Y2hlY2tzdW0KCTY1NjU3IGRyb3BwZWQgZHVlIHRvIG5vIHNvY2tldAoJMCBicm9hZGNhc3QvbXVs dGljYXN0IGRhdGFncmFtcyB1bmRlbGl2ZXJlZAoJMCBkcm9wcGVkIGR1ZSB0byBmdWxsIHNvY2tl dCBidWZmZXJzCgkwIG5vdCBmb3IgaGFzaGVkIHBjYgoJMTAgZGVsaXZlcmVkCgkxNCBkYXRhZ3Jh bXMgb3V0cHV0CgkwIHRpbWVzIG11bHRpY2FzdCBzb3VyY2UgZmlsdGVyIG1hdGNoZWQKaXA6Cgkx MDU5IHRvdGFsIHBhY2tldHMgcmVjZWl2ZWQKCTAgYmFkIGhlYWRlciBjaGVja3N1bXMKCTAgd2l0 aCBzaXplIHNtYWxsZXIgdGhhbiBtaW5pbXVtCgkwIHdpdGggZGF0YSBzaXplIDwgZGF0YSBsZW5n dGgKCTAgd2l0aCBpcCBsZW5ndGggPiBtYXggaXAgcGFja2V0IHNpemUKCTAgd2l0aCBoZWFkZXIg bGVuZ3RoIDwgZGF0YSBzaXplCgkwIHdpdGggZGF0YSBsZW5ndGggPCBoZWFkZXIgbGVuZ3RoCgkw IHdpdGggYmFkIG9wdGlvbnMKCTAgd2l0aCBpbmNvcnJlY3QgdmVyc2lvbiBudW1iZXIKCTAgZnJh Z21lbnRzIHJlY2VpdmVkCgkwIGZyYWdtZW50cyBkcm9wcGVkIChkdXAgb3Igb3V0IG9mIHNwYWNl KQoJMCBmcmFnbWVudHMgZHJvcHBlZCBhZnRlciB0aW1lb3V0CgkwIHBhY2tldHMgcmVhc3NlbWJs ZWQgb2sKCTEwNTggcGFja2V0cyBmb3IgdGhpcyBob3N0CgkwIHBhY2tldHMgZm9yIHVua25vd24v dW5zdXBwb3J0ZWQgcHJvdG9jb2wKCTAgcGFja2V0cyBmb3J3YXJkZWQgKDAgcGFja2V0cyBmYXN0 IGZvcndhcmRlZCkKCTEgcGFja2V0IG5vdCBmb3J3YXJkYWJsZQoJMCBwYWNrZXRzIHJlY2VpdmVk IGZvciB1bmtub3duIG11bHRpY2FzdCBncm91cAoJMCByZWRpcmVjdHMgc2VudAoJNzk2IHBhY2tl dHMgc2VudCBmcm9tIHRoaXMgaG9zdAoJMCBwYWNrZXRzIHNlbnQgd2l0aCBmYWJyaWNhdGVkIGlw IGhlYWRlcgoJMCBvdXRwdXQgcGFja2V0cyBkcm9wcGVkIGR1ZSB0byBubyBidWZzLCBldGMuCgkw IG91dHB1dCBwYWNrZXRzIGRpc2NhcmRlZCBkdWUgdG8gbm8gcm91dGUKCTAgb3V0cHV0IGRhdGFn cmFtcyBmcmFnbWVudGVkCgkwIGZyYWdtZW50cyBjcmVhdGVkCgkwIGRhdGFncmFtcyB0aGF0IGNh bid0IGJlIGZyYWdtZW50ZWQKCTAgdHVubmVsaW5nIHBhY2tldHMgdGhhdCBjYW4ndCBmaW5kIGdp ZgoJMCBkYXRhZ3JhbXMgd2l0aCBiYWQgYWRkcmVzcyBpbiBoZWFkZXIKaWNtcDoKCTIgY2FsbHMg dG8gaWNtcF9lcnJvcgoJMCBlcnJvcnMgbm90IGdlbmVyYXRlZCBpbiByZXNwb25zZSB0byBhbiBp Y21wIG1lc3NhZ2UKCU91dHB1dCBoaXN0b2dyYW06CgkJZGVzdGluYXRpb24gdW5yZWFjaGFibGU6 IDIKCTAgbWVzc2FnZXMgd2l0aCBiYWQgY29kZSBmaWVsZHMKCTAgbWVzc2FnZXMgbGVzcyB0aGFu IHRoZSBtaW5pbXVtIGxlbmd0aAoJMCBtZXNzYWdlcyB3aXRoIGJhZCBjaGVja3N1bQoJMCBtZXNz YWdlcyB3aXRoIGJhZCBsZW5ndGgKCTAgbXVsdGljYXN0IGVjaG8gcmVxdWVzdHMgaWdub3JlZAoJ MCBtdWx0aWNhc3QgdGltZXN0YW1wIHJlcXVlc3RzIGlnbm9yZWQKCTAgbWVzc2FnZSByZXNwb25z ZXMgZ2VuZXJhdGVkCgkwIGludmFsaWQgcmV0dXJuIGFkZHJlc3NlcwoJMCBubyByZXR1cm4gcm91 dGVzCmFycDoKCTMgQVJQIHJlcXVlc3RzIHNlbnQKCTAgQVJQIHJlcXVlc3RzIGZhaWxlZCB0byBz ZW50CgkzIEFSUCByZXBsaWVzIHNlbnQKCTE4IEFSUCByZXF1ZXN0cyByZWNlaXZlZAoJMiBBUlAg cmVwbGllcyByZWNlaXZlZAoJMjAgQVJQIHBhY2tldHMgcmVjZWl2ZWQKCTAgdG90YWwgcGFja2V0 cyBkcm9wcGVkIGR1ZSB0byBubyBBUlAgZW50cnkKCTAgQVJQIGVudHJ5cyB0aW1lZCBvdXQKCTAg RHVwbGljYXRlIElQcyBzZWVuCmlwNjoKCTY1NjgyIHRvdGFsIHBhY2tldHMgcmVjZWl2ZWQKCTAg d2l0aCBzaXplIHNtYWxsZXIgdGhhbiBtaW5pbXVtCgkwIHdpdGggZGF0YSBzaXplIDwgZGF0YSBs ZW5ndGgKCTAgd2l0aCBiYWQgb3B0aW9ucwoJMCB3aXRoIGluY29ycmVjdCB2ZXJzaW9uIG51bWJl cgoJMCBmcmFnbWVudHMgcmVjZWl2ZWQKCTAgZnJhZ21lbnRzIGRyb3BwZWQgKGR1cCBvciBvdXQg b2Ygc3BhY2UpCgkwIGZyYWdtZW50cyBkcm9wcGVkIGFmdGVyIHRpbWVvdXQKCTAgZnJhZ21lbnRz IHRoYXQgZXhjZWVkZWQgbGltaXQKCTAgYXRvbWljIGZyYWdtZW50cwoJMCBwYWNrZXRzIHJlYXNz ZW1ibGVkIG9rCgk2NTY3MyBwYWNrZXRzIGZvciB0aGlzIGhvc3QKCTAgcGFja2V0cyBmb3J3YXJk ZWQKCTAgcGFja2V0cyBub3QgZm9yd2FyZGFibGUKCTAgcmVkaXJlY3RzIHNlbnQKCTE4IHBhY2tl dHMgc2VudCBmcm9tIHRoaXMgaG9zdAoJMCBwYWNrZXRzIHNlbnQgd2l0aCBmYWJyaWNhdGVkIGlw IGhlYWRlcgoJMCBvdXRwdXQgcGFja2V0cyBkcm9wcGVkIGR1ZSB0byBubyBidWZzLCBldGMuCgkw IG91dHB1dCBwYWNrZXRzIGRpc2NhcmRlZCBkdWUgdG8gbm8gcm91dGUKCTAgb3V0cHV0IGRhdGFn cmFtcyBmcmFnbWVudGVkCgkwIGZyYWdtZW50cyBjcmVhdGVkCgkwIGRhdGFncmFtcyB0aGF0IGNh bid0IGJlIGZyYWdtZW50ZWQKCTAgcGFja2V0cyB0aGF0IHZpb2xhdGVkIHNjb3BlIHJ1bGVzCgkx NSBtdWx0aWNhc3QgcGFja2V0cyB3aGljaCB3ZSBkb24ndCBqb2luCglJbnB1dCBoaXN0b2dyYW06 CgkJVURQOiA2NTY1NQoJCUlDTVA2OiAyNwoJTWJ1ZiBzdGF0aXN0aWNzOgoJCTEgb25lIG1idWYK CQk2NTY4MSBvbmUgZXh0IG1idWYKCQkwIHR3byBvciBtb3JlIGV4dCBtYnVmCgkwIHBhY2tldHMg d2hvc2UgaGVhZGVycyBhcmUgbm90IGNvbnRpZ3VvdXMKCTAgdHVubmVsaW5nIHBhY2tldHMgdGhh dCBjYW4ndCBmaW5kIGdpZgoJMCBwYWNrZXRzIGRpc2NhcmRlZCBiZWNhdXNlIG9mIHRvbyBtYW55 IGhlYWRlcnMKCTAgZmFpbHVyZXMgb2Ygc291cmNlIGFkZHJlc3Mgc2VsZWN0aW9uCglzb3VyY2Ug YWRkcmVzc2VzIG9uIGFuIG91dGdvaW5nIEkvRgoJCTUgbGluay1sb2NhbHMKCQk0IGdsb2JhbHMK CXNvdXJjZSBhZGRyZXNzZXMgb2Ygc2FtZSBzY29wZQoJCTMgbGluay1sb2NhbHMKCQk0IGdsb2Jh bHMKCXNvdXJjZSBhZGRyZXNzZXMgb2YgYSBkaWZmZXJlbnQgc2NvcGUKCQkyIGxpbmstbG9jYWxz CglTb3VyY2UgYWRkcmVzc2VzIHNlbGVjdGlvbiBydWxlIGFwcGxpZWQ6CgkJOSBmaXJzdCBjYW5k aWRhdGUKCQk0IGFwcHJvcHJpYXRlIHNjb3BlCmljbXA2OgoJMiBjYWxscyB0byBpY21wNl9lcnJv cgoJMCBlcnJvcnMgbm90IGdlbmVyYXRlZCBpbiByZXNwb25zZSB0byBhbiBpY21wNiBtZXNzYWdl CgkwIGVycm9ycyBub3QgZ2VuZXJhdGVkIGJlY2F1c2Ugb2YgcmF0ZSBsaW1pdGF0aW9uCglPdXRw dXQgaGlzdG9ncmFtOgoJCXVucmVhY2g6IDIKCQlyb3V0ZXIgc29saWNpdGF0aW9uOiAxCgkJbmVp Z2hib3Igc29saWNpdGF0aW9uOiA2CgkJbmVpZ2hib3IgYWR2ZXJ0aXNlbWVudDogNAoJCU1MRHYy IGxpc3RlbmVyIHJlcG9ydDogMQoJMCBtZXNzYWdlcyB3aXRoIGJhZCBjb2RlIGZpZWxkcwoJMCBt ZXNzYWdlcyA8IG1pbmltdW0gbGVuZ3RoCgkwIGJhZCBjaGVja3N1bXMKCTAgbWVzc2FnZXMgd2l0 aCBiYWQgbGVuZ3RoCglJbnB1dCBoaXN0b2dyYW06CgkJcm91dGVyIGFkdmVydGlzZW1lbnQ6IDMK CQluZWlnaGJvciBzb2xpY2l0YXRpb246IDUKCQluZWlnaGJvciBhZHZlcnRpc2VtZW50OiA0CglI aXN0b2dyYW0gb2YgZXJyb3IgbWVzc2FnZXMgdG8gYmUgZ2VuZXJhdGVkOgoJCTAgbm8gcm91dGUK CQkwIGFkbWluaXN0cmF0aXZlbHkgcHJvaGliaXRlZAoJCTAgYmV5b25kIHNjb3BlCgkJMCBhZGRy ZXNzIHVucmVhY2hhYmxlCgkJMiBwb3J0IHVucmVhY2hhYmxlCgkJMCBwYWNrZXQgdG9vIGJpZwoJ CTAgdGltZSBleGNlZWQgdHJhbnNpdAoJCTAgdGltZSBleGNlZWQgcmVhc3NlbWJseQoJCTAgZXJy b25lb3VzIGhlYWRlciBmaWVsZAoJCTAgdW5yZWNvZ25pemVkIG5leHQgaGVhZGVyCgkJMCB1bnJl Y29nbml6ZWQgb3B0aW9uCgkJMCByZWRpcmVjdAoJCTAgdW5rbm93bgoJMCBtZXNzYWdlIHJlc3Bv bnNlcyBnZW5lcmF0ZWQKCTAgbWVzc2FnZXMgd2l0aCB0b28gbWFueSBORCBvcHRpb25zCgkwIG1l c3NhZ2VzIHdpdGggYmFkIE5EIG9wdGlvbnMKCTAgYmFkIG5laWdoYm9yIHNvbGljaXRhdGlvbiBt ZXNzYWdlcwoJMCBiYWQgbmVpZ2hib3IgYWR2ZXJ0aXNlbWVudCBtZXNzYWdlcwoJMCBiYWQgcm91 dGVyIHNvbGljaXRhdGlvbiBtZXNzYWdlcwoJMCBiYWQgcm91dGVyIGFkdmVydGlzZW1lbnQgbWVz c2FnZXMKCTAgYmFkIHJlZGlyZWN0IG1lc3NhZ2VzCgkwIGRlZmF1bHQgcm91dGVycyBvdmVyZmxv d3MKCTAgcHJlZml4IG92ZXJmbG93cwoJMCBuZWlnaGJvdXIgZW50cmllcyBvdmVyZmxvd3MKCTAg cmVkaXJlY3Qgb3ZlcmZsb3dzCgkwIG1lc3NhZ2VzIHdpdGggaW52YWxpZCBob3AgbGltaXQKCTAg cGF0aCBNVFUgY2hhbmdlcwpyaXA2OgoJMCBtZXNzYWdlcyByZWNlaXZlZAoJMCBjaGVja3N1bSBj YWxjdWxhdGlvbnMgb24gaW5ib3VuZAoJMCBtZXNzYWdlcyB3aXRoIGJhZCBjaGVja3N1bQoJMCBt ZXNzYWdlcyBkcm9wcGVkIGR1ZSB0byBubyBzb2NrZXQKCTAgbXVsdGljYXN0IG1lc3NhZ2VzIGRy b3BwZWQgZHVlIHRvIG5vIHNvY2tldAoJMCBtZXNzYWdlcyBkcm9wcGVkIGR1ZSB0byBmdWxsIHNv Y2tldCBidWZmZXJzCgkwIGRlbGl2ZXJlZAoJMCBkYXRhZ3JhbXMgb3V0cHV0CnBma2V5OgoJMCBy ZXF1ZXN0cyBzZW50IGZyb20gdXNlcmxhbmQKCTAgYnl0ZXMgc2VudCBmcm9tIHVzZXJsYW5kCgkw IG1lc3NhZ2VzIHdpdGggaW52YWxpZCBsZW5ndGggZmllbGQKCTAgbWVzc2FnZXMgd2l0aCBpbnZh bGlkIHZlcnNpb24gZmllbGQKCTAgbWVzc2FnZXMgd2l0aCBpbnZhbGlkIG1lc3NhZ2UgdHlwZSBm aWVsZAoJMCBtZXNzYWdlcyB0b28gc2hvcnQKCTAgbWVzc2FnZXMgd2l0aCBtZW1vcnkgYWxsb2Nh dGlvbiBmYWlsdXJlCgkwIG1lc3NhZ2VzIHdpdGggZHVwbGljYXRlIGV4dGVuc2lvbgoJMCBtZXNz YWdlcyB3aXRoIGludmFsaWQgZXh0ZW5zaW9uIHR5cGUKCTAgbWVzc2FnZXMgd2l0aCBpbnZhbGlk IHNhIHR5cGUKCTAgbWVzc2FnZXMgd2l0aCBpbnZhbGlkIGFkZHJlc3MgZXh0ZW5zaW9uCgkwIHJl cXVlc3RzIHNlbnQgdG8gdXNlcmxhbmQKCTAgYnl0ZXMgc2VudCB0byB1c2VybGFuZAoJMCBtZXNz YWdlcyB0b3dhcmQgc2luZ2xlIHNvY2tldAoJMCBtZXNzYWdlcyB0b3dhcmQgYWxsIHNvY2tldHMK CTAgbWVzc2FnZXMgdG93YXJkIHJlZ2lzdGVyZWQgc29ja2V0cwoJMCBtZXNzYWdlcyB3aXRoIG1l bW9yeSBhbGxvY2F0aW9uIGZhaWx1cmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpuZXRzdGF0IC1tCgo1MTMv MjA4Mi8yNTk1IG1idWZzIGluIHVzZSAoY3VycmVudC9jYWNoZS90b3RhbCkKMC83NzAvNzcwLzk5 MTg2MiBtYnVmIGNsdXN0ZXJzIGluIHVzZSAoY3VycmVudC9jYWNoZS90b3RhbC9tYXgpCjAvNzY1 IG1idWYrY2x1c3RlcnMgb3V0IG9mIHBhY2tldCBzZWNvbmRhcnkgem9uZSBpbiB1c2UgKGN1cnJl bnQvY2FjaGUpCjUxMi81MzQvMTA0Ni80OTU5MzEgNGsgKHBhZ2Ugc2l6ZSkganVtYm8gY2x1c3Rl cnMgaW4gdXNlIChjdXJyZW50L2NhY2hlL3RvdGFsL21heCkKMC8wLzAvMTQ2OTQyIDlrIGp1bWJv IGNsdXN0ZXJzIGluIHVzZSAoY3VycmVudC9jYWNoZS90b3RhbC9tYXgpCjAvMC8wLzgyNjU1IDE2 ayBqdW1ibyBjbHVzdGVycyBpbiB1c2UgKGN1cnJlbnQvY2FjaGUvdG90YWwvbWF4KQoyMTc2Sy80 MTk2Sy82MzcySyBieXRlcyBhbGxvY2F0ZWQgdG8gbmV0d29yayAoY3VycmVudC9jYWNoZS90b3Rh bCkKMC8wLzAgcmVxdWVzdHMgZm9yIG1idWZzIGRlbmllZCAobWJ1ZnMvY2x1c3RlcnMvbWJ1Zitj bHVzdGVycykKMC8wLzAgcmVxdWVzdHMgZm9yIG1idWZzIGRlbGF5ZWQgKG1idWZzL2NsdXN0ZXJz L21idWYrY2x1c3RlcnMpCjAvMC8wIHJlcXVlc3RzIGZvciBqdW1ibyBjbHVzdGVycyBkZWxheWVk ICg0ay85ay8xNmspCjAvMC8wIHJlcXVlc3RzIGZvciBqdW1ibyBjbHVzdGVycyBkZW5pZWQgKDRr LzlrLzE2aykKMCBzZW5kZmlsZSBzeXNjYWxscwowIHNlbmRmaWxlIHN5c2NhbGxzIGNvbXBsZXRl ZCB3aXRob3V0IEkvTyByZXF1ZXN0CjAgcmVxdWVzdHMgZm9yIEkvTyBpbml0aWF0ZWQgYnkgc2Vu ZGZpbGUKMCBwYWdlcyByZWFkIGJ5IHNlbmRmaWxlIGFzIHBhcnQgb2YgYSByZXF1ZXN0CjAgcGFn ZXMgd2VyZSB2YWxpZCBhdCB0aW1lIG9mIGEgc2VuZGZpbGUgcmVxdWVzdAowIHBhZ2VzIHdlcmUg dmFsaWQgYW5kIHN1YnN0aXR1dGVkIHRvIGJvZ3VzIHBhZ2UKMCBwYWdlcyB3ZXJlIHJlcXVlc3Rl ZCBmb3IgcmVhZCBhaGVhZCBieSBhcHBsaWNhdGlvbnMKMCBwYWdlcyB3ZXJlIHJlYWQgYWhlYWQg Ynkgc2VuZGZpbGUKMCB0aW1lcyBzZW5kZmlsZSBlbmNvdW50ZXJlZCBhbiBhbHJlYWR5IGJ1c3kg cGFnZQowIHJlcXVlc3RzIGZvciBzZmJ1ZnMgZGVuaWVkCjAgcmVxdWVzdHMgZm9yIHNmYnVmcyBk ZWxheWVkCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbmV0c3RhdCAtYW5BCgpBY3RpdmUgSW50ZXJuZXQgY29u bmVjdGlvbnMgKGluY2x1ZGluZyBzZXJ2ZXJzKQpUY3BjYiAgICAgICAgICAgIFByb3RvIFJlY3Yt USBTZW5kLVEgTG9jYWwgQWRkcmVzcyAgICAgIEZvcmVpZ24gQWRkcmVzcyAgICAoc3RhdGUpICAg IApmZmZmZjgwMDJlZTE4OTg4IHVkcDQgICAgICAgMCAgICAgIDAgKi41MTQgICAgICAgICAgICAg ICouKiAgICAgICAgICAgICAgICAKZmZmZmY4MDAyZWUxOGI3MCB1ZHA2ICAgICAgIDAgICAgICAw ICouNTE0ICAgICAgICAgICAgICAqLiogICAgICAgICAgICAgICAgCgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K bmV0c3RhdCAtYUwKCkN1cnJlbnQgbGlzdGVuIHF1ZXVlIHNpemVzIChxbGVuL2luY3FsZW4vbWF4 cWxlbikKUHJvdG8gTGlzdGVuICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYWwgQWRkcmVz cyAgICAgICAgIAp1bml4ICAwLzAvMTI4ICAgICAgICAgICAgICAgICAgICAgICAgICAvdG1wLy5Y MTEtdW5peC9YMAp1bml4ICAwLzAvNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvdmFyL3J1 bi9kZXZkLnBpcGUKdW5peCAgMC8wLzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3Zhci9y dW4vZGV2ZC5zZXFwYWNrZXQucGlwZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmZzdGF0CgpVU0VSICAgICBD TUQgICAgICAgICAgUElEICAgRkQgTU9VTlQgICAgICBJTlVNIE1PREUgICAgICAgICBTWnxEViBS L1cKcm9vdCAgICAgWG9yZyAgICAgICAgMTc2NyByb290IC8gICAgICAgICAgICAzNCBkcnd4ci14 ci14ICAgICAgMjcgIHIKcm9vdCAgICAgWG9yZyAgICAgICAgMTc2NyAgIHdkIC8gICAgICAgICAg IDEzMCBkcnd4ci14LS0tICAgICAgNTEgIHIKcm9vdCAgICAgWG9yZyAgICAgICAgMTc2NyB0ZXh0 IC8gICAgICAgICA1OTUxNCAtcnd4ci14ci14ICAyMzQ0NDQ4ICByCnJvb3QgICAgIFhvcmcgICAg ICAgIDE3NjcgY3R0eSAvZGV2ICAgICAgICAgODcgY3J3LS0tLS0tLSAgIHR0eXYwIHJ3CnJvb3Qg ICAgIFhvcmcgICAgICAgIDE3NjcgICAgMCAvZGV2ICAgICAgICAgODcgY3J3LS0tLS0tLSAgIHR0 eXYwIHJ3CnJvb3QgICAgIFhvcmcgICAgICAgIDE3NjcgICAgMSAvZGV2ICAgICAgICAgODcgY3J3 LS0tLS0tLSAgIHR0eXYwIHJ3CnJvb3QgICAgIFhvcmcgICAgICAgIDE3NjcgICAgMiAvZGV2ICAg ICAgICAgODcgY3J3LS0tLS0tLSAgIHR0eXYwIHJ3CnJvb3QgICAgIFhvcmcgICAgICAgIDE3Njcg ICAgMyAvdmFyL2xvZyAgICAgMTAgLXJ3LXItLXItLSAgICA1NDE4ICB3CnJvb3QgICAgIFhvcmcg ICAgICAgIDE3NjcgICAgNCogbG9jYWwgc3RyZWFtIGZmZmZmODAwM2IwZGM5MDAKcm9vdCAgICAg WG9yZyAgICAgICAgMTc2NyAgICA1IC8gICAgICAgICA1OTY5NyAtcnctci0tci0tICAgMjU2OTkg IHIKcm9vdCAgICAgWG9yZyAgICAgICAgMTc2NyAgICA2KiBwaXBlIGZmZmZmODAwMjRjMWQwMDAg PC0+IGZmZmZmODAwMjRjMWQxNjAgICAgICAwIHJ3CnJvb3QgICAgIFhvcmcgICAgICAgIDE3Njcg ICAgNyogcGlwZSBmZmZmZjgwMDI0YzFkMTYwIDwtPiBmZmZmZjgwMDI0YzFkMDAwICAgICAgMCBy dwpyb290ICAgICBYb3JnICAgICAgICAxNzY3ICAgIDkqIGxvY2FsIHN0cmVhbSBmZmZmZjgwMDI0 ODE5ZTAwIDwtPiBmZmZmZjgwMDNiMWQ4ZTAwCnJvb3QgICAgIFhvcmcgICAgICAgIDE3NjcgICAx MCAvZGV2ICAgICAgICAgMjkgY3J3LXItLXItLSAgICAgcGNpIHJ3CnJvb3QgICAgIFhvcmcgICAg ICAgIDE3NjcgICAxMSAvZGV2ICAgICAgICAgMjAgY3J3LXItLS0tLSAgICAgbWVtIHJ3CnJvb3Qg ICAgIFhvcmcgICAgICAgIDE3NjcgICAxMiAvZGV2ICAgICAgICAgOTUgY3J3LS0tLS0tLSAgIHR0 eXY4IHJ3CnJvb3QgICAgIFhvcmcgICAgICAgIDE3NjcgICAxMyAvZGV2ICAgICAgICAgMzAgY3J3 LS0tLS0tLSAgICAgIGlvIHJ3CnJvb3QgICAgIFhvcmcgICAgICAgIDE3NjcgICAxNApyb290ICAg ICBYb3JnICAgICAgICAxNzY3ICAgMTUKcm9vdCAgICAgWG9yZyAgICAgICAgMTc2NyAgIDE2CnJv b3QgICAgIFhvcmcgICAgICAgIDE3NjcgICAxNwpyb290ICAgICB4aW5pdCAgICAgICAxNzY2IHJv b3QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICB4aW5pdCAg ICAgICAxNzY2ICAgd2QgLyAgICAgICAgICAgMTMwIGRyd3hyLXgtLS0gICAgICA1MSAgcgpyb290 ICAgICB4aW5pdCAgICAgICAxNzY2IHRleHQgLyAgICAgICAgIDY0NjkxIC1yLXhyLXhyLXggICAx NjI5NiAgcgpyb290ICAgICB4aW5pdCAgICAgICAxNzY2IGN0dHkgL2RldiAgICAgICAgIDg3IGNy dy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICB4aW5pdCAgICAgICAxNzY2ICAgIDAgL2RldiAg ICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICB4aW5pdCAgICAgICAxNzY2 ICAgIDEgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICB4aW5p dCAgICAgICAxNzY2ICAgIDIgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpy b290ICAgICBzaCAgICAgICAgICAxNzUzIHJvb3QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXgg ICAgICAyNyAgcgpyb290ICAgICBzaCAgICAgICAgICAxNzUzICAgd2QgLyAgICAgICAgICAgMTMw IGRyd3hyLXgtLS0gICAgICA1MSAgcgpyb290ICAgICBzaCAgICAgICAgICAxNzUzIHRleHQgLyAg ICAgICAgIDE0NzQzIC1yLXhyLXhyLXggIDE3MjMyMCAgcgpyb290ICAgICBzaCAgICAgICAgICAx NzUzIGN0dHkgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBz aCAgICAgICAgICAxNzUzICAgIDAgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBy dwpyb290ICAgICBzaCAgICAgICAgICAxNzUzICAgIDEgL2RldiAgICAgICAgIDg3IGNydy0tLS0t LS0gICB0dHl2MCBydwpyb290ICAgICBzaCAgICAgICAgICAxNzUzICAgIDIgL2RldiAgICAgICAg IDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBzaCAgICAgICAgICAxNzUzICAgMTAg LyAgICAgICAgIDY0NjkwIC1yLXhyLXhyLXggICAgNTEzMCAgcgpyb290ICAgICBzaCAgICAgICAg ICAxNzUyIHJvb3QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAg ICBzaCAgICAgICAgICAxNzUyICAgd2QgLyAgICAgICAgICAgMTMwIGRyd3hyLXgtLS0gICAgICA1 MSAgcgpyb290ICAgICBzaCAgICAgICAgICAxNzUyIHRleHQgLyAgICAgICAgIDE0NzQzIC1yLXhy LXhyLXggIDE3MjMyMCAgcgpyb290ICAgICBzaCAgICAgICAgICAxNzUyIGN0dHkgL2RldiAgICAg ICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBzaCAgICAgICAgICAxNzUyICAg IDAgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBzaCAgICAg ICAgICAxNzUyICAgIDEgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290 ICAgICBzaCAgICAgICAgICAxNzUyICAgIDIgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0 dHl2MCBydwpyb290ICAgICBzaCAgICAgICAgICAxNzUyICAgMTAgLyAgICAgICAgMjYyNTQyIC1y d3hyLXhyLXggICAgICAxNyAgcgpyb290ICAgICBjc2ggICAgICAgICAxNzQ4IHJvb3QgLyAgICAg ICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICBjc2ggICAgICAgICAxNzQ4 ICAgd2QgLyAgICAgICAgICAgMTMwIGRyd3hyLXgtLS0gICAgICA1MSAgcgpyb290ICAgICBjc2gg ICAgICAgICAxNzQ4IHRleHQgLyAgICAgICAgIDE0NzM1IC1yLXhyLXhyLXggIDQ1ODIxNiAgcgpy b290ICAgICBjc2ggICAgICAgICAxNzQ4IGN0dHkgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0g ICB0dHl2MCBydwpyb290ICAgICBjc2ggICAgICAgICAxNzQ4ICAgMTUgL2RldiAgICAgICAgIDg3 IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBjc2ggICAgICAgICAxNzQ4ICAgMTYgL2Rl diAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBjc2ggICAgICAgICAx NzQ4ICAgMTcgL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBydwpyb290ICAgICBj c2ggICAgICAgICAxNzQ4ICAgMTggL2RldiAgICAgICAgIDg3IGNydy0tLS0tLS0gICB0dHl2MCBy dwpyb290ICAgICBjc2ggICAgICAgICAxNzQ4ICAgMTkgL2RldiAgICAgICAgIDg3IGNydy0tLS0t LS0gICB0dHl2MCBydwpyb290ICAgICBjc2ggICAgICAgICAxNTg2IHJvb3QgLyAgICAgICAgICAg IDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICBjc2ggICAgICAgICAxNTg2ICAgd2Qg LyAgICAgICAgMTMxNDYyIGRyd3hyLXhyLXggICAgICAyMSAgcgpyb290ICAgICBjc2ggICAgICAg ICAxNTg2IHRleHQgLyAgICAgICAgIDE0NzM1IC1yLXhyLXhyLXggIDQ1ODIxNiAgcgpyb290ICAg ICBjc2ggICAgICAgICAxNTg2IGN0dHkgL2RldiAgICAgICAgMTMxIGNydy0tdy0tLS0gICBwdHMv MSBydwpyb290ICAgICBjc2ggICAgICAgICAxNTg2ICAgMTUgL2RldiAgICAgICAgMTMxIGNydy0t dy0tLS0gICBwdHMvMSBydwpyb290ICAgICBjc2ggICAgICAgICAxNTg2ICAgMTYgL2RldiAgICAg ICAgMTMxIGNydy0tdy0tLS0gICBwdHMvMSBydwpyb290ICAgICBjc2ggICAgICAgICAxNTg2ICAg MTcgL2RldiAgICAgICAgMTMxIGNydy0tdy0tLS0gICBwdHMvMSBydwpyb290ICAgICBjc2ggICAg ICAgICAxNTg2ICAgMTggL2RldiAgICAgICAgMTMxIGNydy0tdy0tLS0gICBwdHMvMSBydwpyb290 ICAgICBjc2ggICAgICAgICAxNTg2ICAgMTkgL2RldiAgICAgICAgMTMxIGNydy0tdy0tLS0gICBw dHMvMSBydwpyb290ICAgICBzdSAgICAgICAgICAxNTg1IHJvb3QgLyAgICAgICAgICAgIDM0IGRy d3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICBzdSAgICAgICAgICAxNTg1ICAgd2QgL3Vzci9o b21lICAgICAgMiBkcnd4ci14ci14ICAgICAgMTIgIHIKcm9vdCAgICAgc3UgICAgICAgICAgMTU4 NSB0ZXh0IC8gICAgICAgICAgNTU4MCAtci1zci14ci14ICAgMTc4OTYgIHIKcm9vdCAgICAgc3Ug ICAgICAgICAgMTU4NSBjdHR5IC9kZXYgICAgICAgIDEzMSBjcnctLXctLS0tICAgcHRzLzEgcncK cm9vdCAgICAgc3UgICAgICAgICAgMTU4NSAgICAwIC9kZXYgICAgICAgIDEzMSBjcnctLXctLS0t ICAgcHRzLzEgcncKcm9vdCAgICAgc3UgICAgICAgICAgMTU4NSAgICAxIC9kZXYgICAgICAgIDEz MSBjcnctLXctLS0tICAgcHRzLzEgcncKcm9vdCAgICAgc3UgICAgICAgICAgMTU4NSAgICAyIC9k ZXYgICAgICAgIDEzMSBjcnctLXctLS0tICAgcHRzLzEgcncKbmVlbCAgICAgY3NoICAgICAgICAg MTU4MSByb290IC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIKbmVlbCAgICAg Y3NoICAgICAgICAgMTU4MSAgIHdkIC91c3IvaG9tZSAgICAgIDIgZHJ3eHIteHIteCAgICAgIDEy ICByCm5lZWwgICAgIGNzaCAgICAgICAgIDE1ODEgdGV4dCAvICAgICAgICAgMTQ3MzUgLXIteHIt eHIteCAgNDU4MjE2ICByCm5lZWwgICAgIGNzaCAgICAgICAgIDE1ODEgY3R0eSAvZGV2ICAgICAg ICAxMzEgY3J3LS13LS0tLSAgIHB0cy8xIHJ3Cm5lZWwgICAgIGNzaCAgICAgICAgIDE1ODEgICAx NSAvZGV2ICAgICAgICAxMzEgY3J3LS13LS0tLSAgIHB0cy8xIHJ3Cm5lZWwgICAgIGNzaCAgICAg ICAgIDE1ODEgICAxNiAvZGV2ICAgICAgICAxMzEgY3J3LS13LS0tLSAgIHB0cy8xIHJ3Cm5lZWwg ICAgIGNzaCAgICAgICAgIDE1ODEgICAxNyAvZGV2ICAgICAgICAxMzEgY3J3LS13LS0tLSAgIHB0 cy8xIHJ3Cm5lZWwgICAgIGNzaCAgICAgICAgIDE1ODEgICAxOCAvZGV2ICAgICAgICAxMzEgY3J3 LS13LS0tLSAgIHB0cy8xIHJ3Cm5lZWwgICAgIGNzaCAgICAgICAgIDE1ODEgICAxOSAvZGV2ICAg ICAgICAxMzEgY3J3LS13LS0tLSAgIHB0cy8xIHJ3Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAg cm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCm5lZWwgICAgIHNzaGQg ICAgICAgIDE1ODAgICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCm5l ZWwgICAgIHNzaGQgICAgICAgIDE1ODAgdGV4dCAvICAgICAgICAgIDE3NDYgLXIteHIteHIteCAg MzI2MzIwICByCm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAgMCAvZGV2ICAgICAgICAgMjcg Y3J3LXJ3LXJ3LSAgICBudWxsIHJ3Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAgMSAvZGV2 ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1 ODAgICAgMiAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3Cm5lZWwgICAgIHNz aGQgICAgICAgIDE1ODAgICAgMyAvZGV2ICAgICAgICAgNjUgY3J3LXJ3LXJ3LSAgY3J5cHRvIHJ3 Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAgNCogbG9jYWwgc3RyZWFtIGZmZmZmODAwM2Iw ZGNiMDAgPC0+IGZmZmZmODAwM2IwMDRiMDAKbmVlbCAgICAgc3NoZCAgICAgICAgMTU4MCAgICA1 KiBpbnRlcm5ldCBzdHJlYW0gdGNwIGZmZmZmZTAxMTczNTM0YzgKbmVlbCAgICAgc3NoZCAgICAg ICAgMTU4MCAgICA2IC9kZXYgICAgICAgICA2NSBjcnctcnctcnctICBjcnlwdG8gcncKbmVlbCAg ICAgc3NoZCAgICAgICAgMTU4MCAgICA3KiBwaXBlIGZmZmZmODAwMjRjYzMwMDAgPC0+IGZmZmZm ODAwMjRjYzMxNjAgICAgICAwIHJ3Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAgOCogbG9j YWwgc3RyZWFtIGZmZmZmODAwMjQ4MTljMDAKbmVlbCAgICAgc3NoZCAgICAgICAgMTU4MCAgICA5 KiBwaXBlIGZmZmZmODAwMjRjYzMxNjAgPC0+IGZmZmZmODAwMjRjYzMwMDAgICAgICAwIHJ3Cm5l ZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAxMCogcHNldWRvLXRlcm1pbmFsIG1hc3RlciAgICAg IHB0cy8xIHJ3Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAxMiogcHNldWRvLXRlcm1pbmFs IG1hc3RlciAgICAgIHB0cy8xIHJ3Cm5lZWwgICAgIHNzaGQgICAgICAgIDE1ODAgICAxMyogcHNl dWRvLXRlcm1pbmFsIG1hc3RlciAgICAgIHB0cy8xIHJ3CnJvb3QgICAgIHNzaGQgICAgICAgIDE1 NzUgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIHNz aGQgICAgICAgIDE1NzUgICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICBy CnJvb3QgICAgIHNzaGQgICAgICAgIDE1NzUgdGV4dCAvICAgICAgICAgIDE3NDYgLXIteHIteHIt eCAgMzI2MzIwICByCnJvb3QgICAgIHNzaGQgICAgICAgIDE1NzUgICAgMCAvZGV2ICAgICAgICAg MjcgY3J3LXJ3LXJ3LSAgICBudWxsICByCnJvb3QgICAgIHNzaGQgICAgICAgIDE1NzUgICAgMSAv ZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJvb3QgICAgIHNzaGQgICAgICAg IDE1NzUgICAgMiAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJvb3QgICAg IHNzaGQgICAgICAgIDE1NzUgICAgMyAvZGV2ICAgICAgICAgNjUgY3J3LXJ3LXJ3LSAgY3J5cHRv IHJ3CnJvb3QgICAgIHNzaGQgICAgICAgIDE1NzUgICAgNCogcHNldWRvLXRlcm1pbmFsIG1hc3Rl ciAgICAgIHB0cy8xIHJ3CnJvb3QgICAgIHNzaGQgICAgICAgIDE1NzUgICAgNSogaW50ZXJuZXQg c3RyZWFtIHRjcCBmZmZmZmUwMTE3MzUzNGM4CnJvb3QgICAgIHNzaGQgICAgICAgIDE1NzUgICAg NiAvZGV2ICAgICAgICAgNjUgY3J3LXJ3LXJ3LSAgY3J5cHRvIHJ3CnJvb3QgICAgIHNzaGQgICAg ICAgIDE1NzUgICAgNyogbG9jYWwgc3RyZWFtIGZmZmZmODAwM2IwMDRiMDAgPC0+IGZmZmZmODAw M2IwZGNiMDAKcm9vdCAgICAgc3NoZCAgICAgICAgMTU3NSAgICA4KiBsb2NhbCBzdHJlYW0gZmZm ZmY4MDAyNDgxOWMwMApyb290ICAgICBjc2ggICAgICAgICAxNTcwIHJvb3QgLyAgICAgICAgICAg IDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICBjc2ggICAgICAgICAxNTcwICAgd2Qg L3Zhci9jcmFzaCAgICAgMzQgZHJ3eHIteC0tLSAgICAgIDMyICByCnJvb3QgICAgIGNzaCAgICAg ICAgIDE1NzAgdGV4dCAvICAgICAgICAgMTQ3MzUgLXIteHIteHIteCAgNDU4MjE2ICByCnJvb3Qg ICAgIGNzaCAgICAgICAgIDE1NzAgY3R0eSAvZGV2ICAgICAgICAxMjkgY3J3LS13LS0tLSAgIHB0 cy8wIHJ3CnJvb3QgICAgIGNzaCAgICAgICAgIDE1NzAgICAxNSAvZGV2ICAgICAgICAxMjkgY3J3 LS13LS0tLSAgIHB0cy8wIHJ3CnJvb3QgICAgIGNzaCAgICAgICAgIDE1NzAgICAxNiAvZGV2ICAg ICAgICAxMjkgY3J3LS13LS0tLSAgIHB0cy8wIHJ3CnJvb3QgICAgIGNzaCAgICAgICAgIDE1NzAg ICAxNyAvZGV2ICAgICAgICAxMjkgY3J3LS13LS0tLSAgIHB0cy8wIHJ3CnJvb3QgICAgIGNzaCAg ICAgICAgIDE1NzAgICAxOCAvZGV2ICAgICAgICAxMjkgY3J3LS13LS0tLSAgIHB0cy8wIHJ3CnJv b3QgICAgIGNzaCAgICAgICAgIDE1NzAgICAxOSAvZGV2ICAgICAgICAxMjkgY3J3LS13LS0tLSAg IHB0cy8wIHJ3CnJvb3QgICAgIHN1ICAgICAgICAgIDE1Njkgcm9vdCAvICAgICAgICAgICAgMzQg ZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIHN1ICAgICAgICAgIDE1NjkgICB3ZCAvdXNy L2hvbWUgICAgICAyIGRyd3hyLXhyLXggICAgICAxMiAgcgpyb290ICAgICBzdSAgICAgICAgICAx NTY5IHRleHQgLyAgICAgICAgICA1NTgwIC1yLXNyLXhyLXggICAxNzg5NiAgcgpyb290ICAgICBz dSAgICAgICAgICAxNTY5IGN0dHkgL2RldiAgICAgICAgMTI5IGNydy0tdy0tLS0gICBwdHMvMCBy dwpyb290ICAgICBzdSAgICAgICAgICAxNTY5ICAgIDAgL2RldiAgICAgICAgMTI5IGNydy0tdy0t LS0gICBwdHMvMCBydwpyb290ICAgICBzdSAgICAgICAgICAxNTY5ICAgIDEgL2RldiAgICAgICAg MTI5IGNydy0tdy0tLS0gICBwdHMvMCBydwpyb290ICAgICBzdSAgICAgICAgICAxNTY5ICAgIDIg L2RldiAgICAgICAgMTI5IGNydy0tdy0tLS0gICBwdHMvMCBydwpuZWVsICAgICBjc2ggICAgICAg ICAxNTY1IHJvb3QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpuZWVsICAg ICBjc2ggICAgICAgICAxNTY1ICAgd2QgL3Vzci9ob21lICAgICAgMiBkcnd4ci14ci14ICAgICAg MTIgIHIKbmVlbCAgICAgY3NoICAgICAgICAgMTU2NSB0ZXh0IC8gICAgICAgICAxNDczNSAtci14 ci14ci14ICA0NTgyMTYgIHIKbmVlbCAgICAgY3NoICAgICAgICAgMTU2NSBjdHR5IC9kZXYgICAg ICAgIDEyOSBjcnctLXctLS0tICAgcHRzLzAgcncKbmVlbCAgICAgY3NoICAgICAgICAgMTU2NSAg IDE1IC9kZXYgICAgICAgIDEyOSBjcnctLXctLS0tICAgcHRzLzAgcncKbmVlbCAgICAgY3NoICAg ICAgICAgMTU2NSAgIDE2IC9kZXYgICAgICAgIDEyOSBjcnctLXctLS0tICAgcHRzLzAgcncKbmVl bCAgICAgY3NoICAgICAgICAgMTU2NSAgIDE3IC9kZXYgICAgICAgIDEyOSBjcnctLXctLS0tICAg cHRzLzAgcncKbmVlbCAgICAgY3NoICAgICAgICAgMTU2NSAgIDE4IC9kZXYgICAgICAgIDEyOSBj cnctLXctLS0tICAgcHRzLzAgcncKbmVlbCAgICAgY3NoICAgICAgICAgMTU2NSAgIDE5IC9kZXYg ICAgICAgIDEyOSBjcnctLXctLS0tICAgcHRzLzAgcncKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2 NCByb290IC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIKbmVlbCAgICAgc3No ZCAgICAgICAgMTU2NCAgIHdkIC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIK bmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCB0ZXh0IC8gICAgICAgICAgMTc0NiAtci14ci14ci14 ICAzMjYzMjAgIHIKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgICAwIC9kZXYgICAgICAgICAy NyBjcnctcnctcnctICAgIG51bGwgcncKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgICAxIC9k ZXYgICAgICAgICAyNyBjcnctcnctcnctICAgIG51bGwgcncKbmVlbCAgICAgc3NoZCAgICAgICAg MTU2NCAgICAyIC9kZXYgICAgICAgICAyNyBjcnctcnctcnctICAgIG51bGwgcncKbmVlbCAgICAg c3NoZCAgICAgICAgMTU2NCAgICAzIC9kZXYgICAgICAgICA2NSBjcnctcnctcnctICBjcnlwdG8g cncKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgICA0KiBsb2NhbCBzdHJlYW0gZmZmZmY4MDAz YjE5NGQwMCA8LT4gZmZmZmY4MDAzYjAwNDkwMApuZWVsICAgICBzc2hkICAgICAgICAxNTY0ICAg IDUqIGludGVybmV0IHN0cmVhbSB0Y3AgZmZmZmZlMDExNzM1MzhmMApuZWVsICAgICBzc2hkICAg ICAgICAxNTY0ICAgIDYgL2RldiAgICAgICAgIDY1IGNydy1ydy1ydy0gIGNyeXB0byBydwpuZWVs ICAgICBzc2hkICAgICAgICAxNTY0ICAgIDcqIHBpcGUgZmZmZmY4MDAzMmRlNzJlOCA8LT4gZmZm ZmY4MDAzMmRlNzQ0OCAgICAgIDAgcncKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgICA4KiBs b2NhbCBzdHJlYW0gZmZmZmY4MDAzYjBkY2MwMApuZWVsICAgICBzc2hkICAgICAgICAxNTY0ICAg IDkqIHBpcGUgZmZmZmY4MDAzMmRlNzQ0OCA8LT4gZmZmZmY4MDAzMmRlNzJlOCAgICAgIDAgcncK bmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgIDEwKiBwc2V1ZG8tdGVybWluYWwgbWFzdGVyICAg ICAgcHRzLzAgcncKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgIDEyKiBwc2V1ZG8tdGVybWlu YWwgbWFzdGVyICAgICAgcHRzLzAgcncKbmVlbCAgICAgc3NoZCAgICAgICAgMTU2NCAgIDEzKiBw c2V1ZG8tdGVybWluYWwgbWFzdGVyICAgICAgcHRzLzAgcncKcm9vdCAgICAgc3NoZCAgICAgICAg MTU2MSByb290IC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIKcm9vdCAgICAg c3NoZCAgICAgICAgMTU2MSAgIHdkIC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcg IHIKcm9vdCAgICAgc3NoZCAgICAgICAgMTU2MSB0ZXh0IC8gICAgICAgICAgMTc0NiAtci14ci14 ci14ICAzMjYzMjAgIHIKcm9vdCAgICAgc3NoZCAgICAgICAgMTU2MSAgICAwIC9kZXYgICAgICAg ICAyNyBjcnctcnctcnctICAgIG51bGwgIHIKcm9vdCAgICAgc3NoZCAgICAgICAgMTU2MSAgICAx IC9kZXYgICAgICAgICAyNyBjcnctcnctcnctICAgIG51bGwgcncKcm9vdCAgICAgc3NoZCAgICAg ICAgMTU2MSAgICAyIC9kZXYgICAgICAgICAyNyBjcnctcnctcnctICAgIG51bGwgcncKcm9vdCAg ICAgc3NoZCAgICAgICAgMTU2MSAgICAzIC9kZXYgICAgICAgICA2NSBjcnctcnctcnctICBjcnlw dG8gcncKcm9vdCAgICAgc3NoZCAgICAgICAgMTU2MSAgICA0KiBwc2V1ZG8tdGVybWluYWwgbWFz dGVyICAgICAgcHRzLzAgcncKcm9vdCAgICAgc3NoZCAgICAgICAgMTU2MSAgICA1KiBpbnRlcm5l dCBzdHJlYW0gdGNwIGZmZmZmZTAxMTczNTM4ZjAKcm9vdCAgICAgc3NoZCAgICAgICAgMTU2MSAg ICA2IC9kZXYgICAgICAgICA2NSBjcnctcnctcnctICBjcnlwdG8gcncKcm9vdCAgICAgc3NoZCAg ICAgICAgMTU2MSAgICA3KiBsb2NhbCBzdHJlYW0gZmZmZmY4MDAzYjAwNDkwMCA8LT4gZmZmZmY4 MDAzYjE5NGQwMApyb290ICAgICBzc2hkICAgICAgICAxNTYxICAgIDgqIGxvY2FsIHN0cmVhbSBm ZmZmZjgwMDNiMGRjYzAwCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTkgcm9vdCAvICAgICAgICAg ICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTkgICB3 ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAg ICAgIDE1NTkgdGV4dCAvICAgICAgICAgIDU2MzQgLXIteHIteHIteCAgIDM1NTY4ICByCnJvb3Qg ICAgIGdldHR5ICAgICAgIDE1NTkgY3R0eSAvZGV2ICAgICAgICAgOTQgY3J3LS0tLS0tLSAgIHR0 eXY3IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTkgICAgMCAvZGV2ICAgICAgICAgOTQgY3J3 LS0tLS0tLSAgIHR0eXY3IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTkgICAgMSAvZGV2ICAg ICAgICAgOTQgY3J3LS0tLS0tLSAgIHR0eXY3IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTkg ICAgMiAvZGV2ICAgICAgICAgOTQgY3J3LS0tLS0tLSAgIHR0eXY3IHJ3CnJvb3QgICAgIGdldHR5 ICAgICAgIDE1NTggcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJv b3QgICAgIGdldHR5ICAgICAgIDE1NTggICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAg ICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTggdGV4dCAvICAgICAgICAgIDU2MzQg LXIteHIteHIteCAgIDM1NTY4ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTggY3R0eSAvZGV2 ICAgICAgICAgOTMgY3J3LS0tLS0tLSAgIHR0eXY2IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1 NTggICAgMCAvZGV2ICAgICAgICAgOTMgY3J3LS0tLS0tLSAgIHR0eXY2IHJ3CnJvb3QgICAgIGdl dHR5ICAgICAgIDE1NTggICAgMSAvZGV2ICAgICAgICAgOTMgY3J3LS0tLS0tLSAgIHR0eXY2IHJ3 CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTggICAgMiAvZGV2ICAgICAgICAgOTMgY3J3LS0tLS0t LSAgIHR0eXY2IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTcgcm9vdCAvICAgICAgICAgICAg MzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTcgICB3ZCAv ICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAg IDE1NTcgdGV4dCAvICAgICAgICAgIDU2MzQgLXIteHIteHIteCAgIDM1NTY4ICByCnJvb3QgICAg IGdldHR5ICAgICAgIDE1NTcgY3R0eSAvZGV2ICAgICAgICAgOTIgY3J3LS0tLS0tLSAgIHR0eXY1 IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTcgICAgMCAvZGV2ICAgICAgICAgOTIgY3J3LS0t LS0tLSAgIHR0eXY1IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTcgICAgMSAvZGV2ICAgICAg ICAgOTIgY3J3LS0tLS0tLSAgIHR0eXY1IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTcgICAg MiAvZGV2ICAgICAgICAgOTIgY3J3LS0tLS0tLSAgIHR0eXY1IHJ3CnJvb3QgICAgIGdldHR5ICAg ICAgIDE1NTYgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3Qg ICAgIGdldHR5ICAgICAgIDE1NTYgICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAg IDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTYgdGV4dCAvICAgICAgICAgIDU2MzQgLXIt eHIteHIteCAgIDM1NTY4ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTYgY3R0eSAvZGV2ICAg ICAgICAgOTEgY3J3LS0tLS0tLSAgIHR0eXY0IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTYg ICAgMCAvZGV2ICAgICAgICAgOTEgY3J3LS0tLS0tLSAgIHR0eXY0IHJ3CnJvb3QgICAgIGdldHR5 ICAgICAgIDE1NTYgICAgMSAvZGV2ICAgICAgICAgOTEgY3J3LS0tLS0tLSAgIHR0eXY0IHJ3CnJv b3QgICAgIGdldHR5ICAgICAgIDE1NTYgICAgMiAvZGV2ICAgICAgICAgOTEgY3J3LS0tLS0tLSAg IHR0eXY0IHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTUgcm9vdCAvICAgICAgICAgICAgMzQg ZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTUgICB3ZCAvICAg ICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1 NTUgdGV4dCAvICAgICAgICAgIDU2MzQgLXIteHIteHIteCAgIDM1NTY4ICByCnJvb3QgICAgIGdl dHR5ICAgICAgIDE1NTUgY3R0eSAvZGV2ICAgICAgICAgOTAgY3J3LS0tLS0tLSAgIHR0eXYzIHJ3 CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTUgICAgMCAvZGV2ICAgICAgICAgOTAgY3J3LS0tLS0t LSAgIHR0eXYzIHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTUgICAgMSAvZGV2ICAgICAgICAg OTAgY3J3LS0tLS0tLSAgIHR0eXYzIHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTUgICAgMiAv ZGV2ICAgICAgICAgOTAgY3J3LS0tLS0tLSAgIHR0eXYzIHJ3CnJvb3QgICAgIGdldHR5ICAgICAg IDE1NTQgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAg IGdldHR5ICAgICAgIDE1NTQgICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3 ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTQgdGV4dCAvICAgICAgICAgIDU2MzQgLXIteHIt eHIteCAgIDM1NTY4ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTQgY3R0eSAvZGV2ICAgICAg ICAgODkgY3J3LS0tLS0tLSAgIHR0eXYyIHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTQgICAg MCAvZGV2ICAgICAgICAgODkgY3J3LS0tLS0tLSAgIHR0eXYyIHJ3CnJvb3QgICAgIGdldHR5ICAg ICAgIDE1NTQgICAgMSAvZGV2ICAgICAgICAgODkgY3J3LS0tLS0tLSAgIHR0eXYyIHJ3CnJvb3Qg ICAgIGdldHR5ICAgICAgIDE1NTQgICAgMiAvZGV2ICAgICAgICAgODkgY3J3LS0tLS0tLSAgIHR0 eXYyIHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTMgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3 eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTMgICB3ZCAvICAgICAg ICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTMg dGV4dCAvICAgICAgICAgIDU2MzQgLXIteHIteHIteCAgIDM1NTY4ICByCnJvb3QgICAgIGdldHR5 ICAgICAgIDE1NTMgY3R0eSAvZGV2ICAgICAgICAgODggY3J3LS0tLS0tLSAgIHR0eXYxIHJ3CnJv b3QgICAgIGdldHR5ICAgICAgIDE1NTMgICAgMCAvZGV2ICAgICAgICAgODggY3J3LS0tLS0tLSAg IHR0eXYxIHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTMgICAgMSAvZGV2ICAgICAgICAgODgg Y3J3LS0tLS0tLSAgIHR0eXYxIHJ3CnJvb3QgICAgIGdldHR5ICAgICAgIDE1NTMgICAgMiAvZGV2 ICAgICAgICAgODggY3J3LS0tLS0tLSAgIHR0eXYxIHJ3CnJvb3QgICAgIGxvZ2luICAgICAgIDE1 NTIgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGxv Z2luICAgICAgIDE1NTIgICB3ZCAvICAgICAgICAgICAxMzAgZHJ3eHIteC0tLSAgICAgIDUxICBy CnJvb3QgICAgIGxvZ2luICAgICAgIDE1NTIgdGV4dCAvICAgICAgICAgICA2MDEgLXItc3IteHIt eCAgIDI2NDg4ICByCnJvb3QgICAgIGxvZ2luICAgICAgIDE1NTIgY3R0eSAvZGV2ICAgICAgICAg ODcgY3J3LS0tLS0tLSAgIHR0eXYwIHJ3CnJvb3QgICAgIGxvZ2luICAgICAgIDE1NTIgICAgMCAv ZGV2ICAgICAgICAgODcgY3J3LS0tLS0tLSAgIHR0eXYwIHJ3CnJvb3QgICAgIGxvZ2luICAgICAg IDE1NTIgICAgMSAvZGV2ICAgICAgICAgODcgY3J3LS0tLS0tLSAgIHR0eXYwIHJ3CnJvb3QgICAg IGxvZ2luICAgICAgIDE1NTIgICAgMiAvZGV2ICAgICAgICAgODcgY3J3LS0tLS0tLSAgIHR0eXYw IHJ3CnJvb3QgICAgIGxvZ2luICAgICAgIDE1NTIgICAgMyogbG9jYWwgZGdyYW0gZmZmZmY4MDAz YjAwNDgwMCA8LT4gZmZmZmY4MDAzYjE5NGUwMApyb290ICAgICBzc2hkICAgICAgICAxNTMwIHJv b3QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICBzc2hkICAg ICAgICAxNTMwICAgd2QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290 ICAgICBzc2hkICAgICAgICAxNTMwIHRleHQgLyAgICAgICAgICAxNzQ2IC1yLXhyLXhyLXggIDMy NjMyMCAgcgpyb290ICAgICBzc2hkICAgICAgICAxNTMwICAgIDAgL2RldiAgICAgICAgIDI3IGNy dy1ydy1ydy0gICAgbnVsbCBydwpyb290ICAgICBzc2hkICAgICAgICAxNTMwICAgIDEgL2RldiAg ICAgICAgIDI3IGNydy1ydy1ydy0gICAgbnVsbCBydwpyb290ICAgICBzc2hkICAgICAgICAxNTMw ICAgIDIgL2RldiAgICAgICAgIDI3IGNydy1ydy1ydy0gICAgbnVsbCBydwpyb290ICAgICBzc2hk ICAgICAgICAxNTMwICAgIDMgL2RldiAgICAgICAgIDY1IGNydy1ydy1ydy0gIGNyeXB0byBydwpy b290ICAgICBzc2hkICAgICAgICAxNTMwICAgIDQqIGludGVybmV0NiBzdHJlYW0gdGNwIGZmZmZm ZTAxMTczMzQ4ZjAKcm9vdCAgICAgc3NoZCAgICAgICAgMTUzMCAgICA1KiBpbnRlcm5ldCBzdHJl YW0gdGNwIGZmZmZmZTAxMTczMzQ0YzgKcm9vdCAgICAgY3JvbiAgICAgICAgMTUxMSByb290IC8g ICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIKcm9vdCAgICAgY3JvbiAgICAgICAg MTUxMSAgIHdkIC8gICAgICAgICAxNTYzOCBkcnd4ci14LS0tICAgICAgIDMgIHIKcm9vdCAgICAg Y3JvbiAgICAgICAgMTUxMSB0ZXh0IC8gICAgICAgICAgMTgyMyAtci14ci14ci14ICAgNDg0MjQg IHIKcm9vdCAgICAgY3JvbiAgICAgICAgMTUxMSAgICAwIC9kZXYgICAgICAgICAyNyBjcnctcnct cnctICAgIG51bGwgcncKcm9vdCAgICAgY3JvbiAgICAgICAgMTUxMSAgICAxIC9kZXYgICAgICAg ICAyNyBjcnctcnctcnctICAgIG51bGwgcncKcm9vdCAgICAgY3JvbiAgICAgICAgMTUxMSAgICAy IC9kZXYgICAgICAgICAyNyBjcnctcnctcnctICAgIG51bGwgcncKcm9vdCAgICAgY3JvbiAgICAg ICAgMTUxMSAgICAzIC8gICAgICAgICAxNTYzNyBkcnd4ci14ci14ICAgICAgMjcgIHIKcm9vdCAg ICAgY3JvbiAgICAgICAgMTUxMSAgICA0IC8gICAgICAgIDI2MjkxNyAtcnctLS0tLS0tICAgICAg IDQgIHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyByb290IC8gICAgICAgICAgICAzNCBkcnd4 ci14ci14ICAgICAgMjcgIHIKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIHdkIC8gICAgICAg ICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyB0 ZXh0IC8gICAgICAgICAgMTgwMCAtci14ci14ci14ICAgNTc2NjQgIHIKcm9vdCAgICAgc3lzbG9n ZCAgICAgMTQyMyAgICAwIC9kZXYgICAgICAgICAyNyBjcnctcnctcnctICAgIG51bGwgcncKcm9v dCAgICAgc3lzbG9nZCAgICAgMTQyMyAgICAxIC9kZXYgICAgICAgICAyNyBjcnctcnctcnctICAg IG51bGwgcncKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgICAyIC9kZXYgICAgICAgICAyNyBj cnctcnctcnctICAgIG51bGwgcncKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgICAzKiBwaXBl IGZmZmZmODAwMjRjYzNiYTAgPC0+IGZmZmZmODAwMjRjYzNkMDAgICAgICAwIHJ3CnJvb3QgICAg IHN5c2xvZ2QgICAgIDE0MjMgICAgNCogcGlwZSBmZmZmZjgwMDI0Y2MzZDAwIDwtPiBmZmZmZjgw MDI0Y2MzYmEwICAgICAgMCBydwpyb290ICAgICBzeXNsb2dkICAgICAxNDIzICAgIDUgL2RldiAg ICAgICAgIDEyIGNydy0tLS0tLS0gICAga2xvZyAgcgpyb290ICAgICBzeXNsb2dkICAgICAxNDIz ICAgIDYqIGludGVybmV0NiBkZ3JhbSB1ZHAgZmZmZmY4MDAzYjE5YWI3MApyb290ICAgICBzeXNs b2dkICAgICAxNDIzICAgIDcqIGludGVybmV0IGRncmFtIHVkcCBmZmZmZjgwMDNiMTlhZDU4CnJv b3QgICAgIHN5c2xvZ2QgICAgIDE0MjMgICAgOCogbG9jYWwgZGdyYW0gZmZmZmY4MDAzYjAwNGUw MApyb290ICAgICBzeXNsb2dkICAgICAxNDIzICAgIDkqIGxvY2FsIGRncmFtIGZmZmZmODAwM2Ix OTRlMDAKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDEwIC8gICAgICAgICAxNTYzNyBkcnd4 ci14ci14ICAgICAgMjcgIHIKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDExIC8gICAgICAg IDI2MzA0NCAtcnctLS0tLS0tICAgICAgIDQgIHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAg IDEzIC0gICAgICAgICAtICAgICAgICAgYmFkICAgIC0Kcm9vdCAgICAgc3lzbG9nZCAgICAgMTQy MyAgIDE0IC92YXIvbG9nICAgICAgNyAtcnctci0tci0tICAyNzQzMjcgIHcKcm9vdCAgICAgc3lz bG9nZCAgICAgMTQyMyAgIDE1IC92YXIvbG9nICAgIDI2MiAtcnctLS0tLS0tICAgICAgNjMgIHcK cm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDE2IC92YXIvbG9nICAgIDI1NiAtcnctLS0tLS0t ICAgNjEyNzggIHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDE3IC92YXIvbG9nICAgIDI1 OSAtcnctci0tLS0tICAgMzQ5NjcgIHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDE4IC92 YXIvbG9nICAgIDI1NyAtcnctLS0tLS0tICAgNDI3ODMgIHcKcm9vdCAgICAgc3lzbG9nZCAgICAg MTQyMyAgIDE5IC92YXIvbG9nICAgIDI1OCAtcnctLS0tLS0tICAgIDIyMTEgIHcKcm9vdCAgICAg c3lzbG9nZCAgICAgMTQyMyAgIDIwIC92YXIvbG9nICAgIDI2MyAtcnctci0tci0tICAgNDUwMTQg IHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDIyIC92YXIvbG9nICAgIDI2NCAtcnctLS0t LS0tICAgICAgNjMgIHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDIzIC92YXIvbG9nICAg IDI2NSAtcnctci0tci0tICAgICAgNjMgIHcKcm9vdCAgICAgc3lzbG9nZCAgICAgMTQyMyAgIDI0 IC92YXIvbG9nICAgIDI2NiAtcnctci0tLS0tICAgICAgNjMgIHcKcm9vdCAgICAgZGV2ZCAgICAg ICAgMTIyOSByb290IC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAgMjcgIHIKcm9vdCAg ICAgZGV2ZCAgICAgICAgMTIyOSAgIHdkIC8gICAgICAgICAgICAzNCBkcnd4ci14ci14ICAgICAg MjcgIHIKcm9vdCAgICAgZGV2ZCAgICAgICAgMTIyOSB0ZXh0IC8gICAgICAgICAxNTQ1NCAtci14 ci14ci14ICAxMDkwMzUyICByCnJvb3QgICAgIGRldmQgICAgICAgIDEyMjkgICAgMCAvZGV2ICAg ICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJvb3QgICAgIGRldmQgICAgICAgIDEyMjkg ICAgMSAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJvb3QgICAgIGRldmQg ICAgICAgIDEyMjkgICAgMiAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJv b3QgICAgIGRldmQgICAgICAgIDEyMjkgICAgMyAvZGV2ICAgICAgICAgIDggY3J3LS0tLS0tLSAg ZGV2Y3RsICByCnJvb3QgICAgIGRldmQgICAgICAgIDEyMjkgICAgNCogbG9jYWwgc3RyZWFtIGZm ZmZmODAwM2IxZDhiMDAKcm9vdCAgICAgZGV2ZCAgICAgICAgMTIyOSAgICA1KiBsb2NhbCBzZXFw YWsgZmZmZmY4MDAyNDgxOWQwMApyb290ICAgICBkZXZkICAgICAgICAxMjI5ICAgIDYgLyAgICAg ICAgIDE1NjM3IGRyd3hyLXhyLXggICAgICAyNyAgcgpyb290ICAgICBkZXZkICAgICAgICAxMjI5 ICAgIDcgLyAgICAgICAgMjYyNzg1IC1ydy0tLS0tLS0gICAgICAgNCAgdwpyb290ICAgICBkZXZk ICAgICAgICAxMjI5ICAgIDgqIGxvY2FsIGRncmFtIGZmZmZmODAwM2IxNDViMDAgPC0+IGZmZmZm ODAwM2IxOTRlMDAKcm9vdCAgICAgZGV2ZCAgICAgICAgMTIyOSAgICA5KiBsb2NhbCBzdHJlYW0g ZmZmZmY4MDAzYjFkOGUwMCAtPiBmZmZmZjgwMDI0ODE5ZTAwCl9kaGNwICAgIGRoY2xpZW50ICAg IDEwNzggcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCl9kaGNwICAg IGRoY2xpZW50ICAgIDEwNzggICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3 ICByCl9kaGNwICAgIGRoY2xpZW50ICAgIDEwNzggdGV4dCAvICAgICAgICAgMTU1MDAgLXIteHIt eHIteCAgMTE5NDcyICByCl9kaGNwICAgIGRoY2xpZW50ICAgIDEwNzggICAgMCAvZGV2ICAgICAg ICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3Cl9kaGNwICAgIGRoY2xpZW50ICAgIDEwNzggICAg MSAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3Cl9kaGNwICAgIGRoY2xpZW50 ICAgIDEwNzggICAgMiAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3Cl9kaGNw ICAgIGRoY2xpZW50ICAgIDEwNzggICAgMyAvICAgICAgICAgMTU2NjAgZHJ3eHIteHIteCAgICAg ICAzICByCl9kaGNwICAgIGRoY2xpZW50ICAgIDEwNzggICAgNCogbG9jYWwgc3RyZWFtIGZmZmZm ODAwM2IxZDg4MDAgPC0+IGZmZmZmODAwM2IxNDVkMDAKX2RoY3AgICAgZGhjbGllbnQgICAgMTA3 OCAgICA1IC8gICAgICAgIDI2MjY1OSAtcnctci0tci0tICAgICAgIDQgIHcKX2RoY3AgICAgZGhj bGllbnQgICAgMTA3OCAgICA3IC9kZXYgICAgICAgICAzMSBjcnctLS0tLS0tICAgICBicGYgIHIK X2RoY3AgICAgZGhjbGllbnQgICAgMTA3OCAgICA4KiByb3V0ZSByYXcgMCBmZmZmZjgwMDNiMmZi YjEwCl9kaGNwICAgIGRoY2xpZW50ICAgIDEwNzggICAgOSAvICAgICAgICAgMzI5MDMgLS0tLS0t LS0tLSAgICAxMTY4ICB3Cl9kaGNwICAgIGRoY2xpZW50ICAgIDEwNzggICAxMSogcGlwZSBmZmZm ZjgwMDMyZmViMTYwIDwtPiBmZmZmZjgwMDMyZmViMDAwICAgICAgMCBydwpyb290ICAgICBkaGNs aWVudCAgICAxMDAwIHJvb3QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgpy b290ICAgICBkaGNsaWVudCAgICAxMDAwICAgd2QgLyAgICAgICAgICAgIDM0IGRyd3hyLXhyLXgg ICAgICAyNyAgcgpyb290ICAgICBkaGNsaWVudCAgICAxMDAwIHRleHQgLyAgICAgICAgIDE1NTAw IC1yLXhyLXhyLXggIDExOTQ3MiAgcgpyb290ICAgICBkaGNsaWVudCAgICAxMDAwICAgIDAgL2Rl diAgICAgICAgIDI3IGNydy1ydy1ydy0gICAgbnVsbCBydwpyb290ICAgICBkaGNsaWVudCAgICAx MDAwICAgIDEgL2RldiAgICAgICAgIDI3IGNydy1ydy1ydy0gICAgbnVsbCBydwpyb290ICAgICBk aGNsaWVudCAgICAxMDAwICAgIDIgL2RldiAgICAgICAgIDI3IGNydy1ydy1ydy0gICAgbnVsbCBy dwpyb290ICAgICBkaGNsaWVudCAgICAxMDAwICAgIDMgLyAgICAgICAgIDE1NjYwIGRyd3hyLXhy LXggICAgICAgMyAgcgpyb290ICAgICBkaGNsaWVudCAgICAxMDAwICAgIDQqIGxvY2FsIHN0cmVh bSBmZmZmZjgwMDNiMWQ4ODAwIDwtPiBmZmZmZjgwMDNiMTQ1ZDAwCnJvb3QgICAgIGRoY2xpZW50 ICAgIDEwMDAgICAgNSAvICAgICAgICAyNjI2NTkgLXJ3LXItLXItLSAgICAgICA0ICB3CnJvb3Qg ICAgIGRoY2xpZW50ICAgIDEwMDAgICAgOCAvZGV2ICAgICAgICAgMzEgY3J3LS0tLS0tLSAgICAg YnBmICB3CnJvb3QgICAgIGRoY2xpZW50ICAgIDEwMDAgICAgOSogaW50ZXJuZXQgcmF3IGlwIGZm ZmZmODAwMzJlNjBiNzAKcm9vdCAgICAgZGhjbGllbnQgICAgMTAwMCAgIDEwKiBwaXBlIGZmZmZm ODAwMzJmZWIwMDAgPC0+IGZmZmZmODAwMzJmZWIxNjAgICAgICAwIHJ3CnJvb3QgICAgIGRoY2xp ZW50ICAgICA5OTcgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJv b3QgICAgIGRoY2xpZW50ICAgICA5OTcgICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAg ICAgIDI3ICByCnJvb3QgICAgIGRoY2xpZW50ICAgICA5OTcgdGV4dCAvICAgICAgICAgMTU1MDAg LXIteHIteHIteCAgMTE5NDcyICByCnJvb3QgICAgIGRoY2xpZW50ICAgICA5OTcgICAgMCAvZGV2 ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJvb3QgICAgIGRoY2xpZW50ICAgICA5 OTcgICAgMSAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3CnJvb3QgICAgIGRo Y2xpZW50ICAgICA5OTcgICAgMiAvZGV2ICAgICAgICAgMjcgY3J3LXJ3LXJ3LSAgICBudWxsIHJ3 CnJvb3QgICAgIGRoY2xpZW50ICAgICA5OTcgICAgMwpyb290ICAgICBkaGNsaWVudCAgICAgOTk3 ICAgIDYqIGxvY2FsIHN0cmVhbSBmZmZmZjgwMDNiMTQ1ZDAwIDwtPiBmZmZmZjgwMDNiMWQ4ODAw CnJvb3QgICAgIG5nX3F1ZXVlICAgICA5NDEgcm9vdCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIt eCAgICAgIDI3ICByCnJvb3QgICAgIG5nX3F1ZXVlICAgICA5NDEgICB3ZCAvICAgICAgICAgICAg MzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGluaXQgICAgICAgICAgIDEgcm9vdCAv ICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAgIGluaXQgICAgICAg ICAgIDEgICB3ZCAvICAgICAgICAgICAgMzQgZHJ3eHIteHIteCAgICAgIDI3ICByCnJvb3QgICAg IGluaXQgICAgICAgICAgIDEgdGV4dCAvICAgICAgICAgMTU1MTkgLXIteHIteHIteCAgMTM0ODQz MiAgcgpyb290ICAgICBrZXJuZWwgICAgICAgICAwIHJvb3QgLyAgICAgICAgICAgIDM0IGRyd3hy LXhyLXggICAgICAyNyAgcgpyb290ICAgICBrZXJuZWwgICAgICAgICAwICAgd2QgLyAgICAgICAg ICAgIDM0IGRyd3hyLXhyLXggICAgICAyNyAgcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRtZXNnCgotLS08 PEJPT1Q+Pi0tLQpDb3B5cmlnaHQgKGMpIDE5OTItMjAyMSBUaGUgRnJlZUJTRCBQcm9qZWN0LgpD b3B5cmlnaHQgKGMpIDE5NzksIDE5ODAsIDE5ODMsIDE5ODYsIDE5ODgsIDE5ODksIDE5OTEsIDE5 OTIsIDE5OTMsIDE5OTQKCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3Ju aWEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkZyZWVCU0QgaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFy ayBvZiBUaGUgRnJlZUJTRCBGb3VuZGF0aW9uLgpGcmVlQlNEIDE0LjAtQ1VSUkVOVCAjMSBtYWlu LW4yNDcyNzQtNGFiNWM4OGRhMjg3LWRpcnR5OiBXZWQgSnVuICA5IDIyOjMzOjQwIFBEVCAyMDIx CiAgICByb290QHNwZWN0cmUubG9jYWw6L3Vzci9vYmovdXNyL3NyYy9hbWQ2NC5hbWQ2NC9zeXMv R0VORVJJQyBhbWQ2NApGcmVlQlNEIGNsYW5nIHZlcnNpb24gMTEuMC4xIChnaXRAZ2l0aHViLmNv bTpsbHZtL2xsdm0tcHJvamVjdC5naXQgbGx2bW9yZy0xMS4wLjEtMC1nNDNmZjc1ZjJjM2ZlKQpX QVJOSU5HOiBXSVRORVNTIG9wdGlvbiBlbmFibGVkLCBleHBlY3QgcmVkdWNlZCBwZXJmb3JtYW5j ZS4KVlQoZWZpZmIpOiByZXNvbHV0aW9uIDEwMjR4NzY4CkNQVTogSW50ZWwoUikgQ29yZShUTSkg aTctODU2NVUgQ1BVIEAgMS44MEdIeiAoMjAwMC4wMC1NSHogSzgtY2xhc3MgQ1BVKQogIE9yaWdp bj0iR2VudWluZUludGVsIiAgSWQ9MHg4MDZlYiAgRmFtaWx5PTB4NiAgTW9kZWw9MHg4ZSAgU3Rl cHBpbmc9MTEKICBGZWF0dXJlcz0weGJmZWJmYmZmPEZQVSxWTUUsREUsUFNFLFRTQyxNU1IsUEFF LE1DRSxDWDgsQVBJQyxTRVAsTVRSUixQR0UsTUNBLENNT1YsUEFULFBTRTM2LENMRkxVU0gsRFRT LEFDUEksTU1YLEZYU1IsU1NFLFNTRTIsU1MsSFRULFRNLFBCRT4KICBGZWF0dXJlczI9MHg3ZmZh ZmJiZjxTU0UzLFBDTE1VTFFEUSxEVEVTNjQsTU9OLERTX0NQTCxWTVgsRVNULFRNMixTU1NFMyxT REJHLEZNQSxDWDE2LHhUUFIsUERDTSxQQ0lELFNTRTQuMSxTU0U0LjIseDJBUElDLE1PVkJFLFBP UENOVCxUU0NETFQsQUVTTkksWFNBVkUsT1NYU0FWRSxBVlgsRjE2QyxSRFJBTkQ+CiAgQU1EIEZl YXR1cmVzPTB4MmMxMDA4MDA8U1lTQ0FMTCxOWCxQYWdlMUdCLFJEVFNDUCxMTT4KICBBTUQgRmVh dHVyZXMyPTB4MTIxPExBSEYsQUJNLFByZWZldGNoPgogIFN0cnVjdHVyZWQgRXh0ZW5kZWQgRmVh dHVyZXM9MHgyOWM2N2FmPEZTR1NCQVNFLFRTQ0FESixTR1gsQk1JMSxBVlgyLFNNRVAsQk1JMixF Uk1TLElOVlBDSUQsTkZQVVNHLE1QWCxSRFNFRUQsQURYLFNNQVAsQ0xGTFVTSE9QVCxQUk9DVFJB Q0U+CiAgU3RydWN0dXJlZCBFeHRlbmRlZCBGZWF0dXJlczM9MHhiYzAwMjQwMDxNRF9DTEVBUixU U1hGQSxJQlBCLFNUSUJQLEwxREZMLEFSQ0hfQ0FQLFNTQkQ+CiAgWFNBVkUgRmVhdHVyZXM9MHhm PFhTQVZFT1BULFhTQVZFQyxYSU5VU0UsWFNBVkVTPgogIElBMzJfQVJDSF9DQVBTPTB4OTxSRENM X05PLFNLSVBfTDFERkxfVk1FPgogIFZULXg6IFBBVCxITFQsTVRGLFBBVVNFLEVQVCxVRyxWUElE CiAgVFNDOiBQLXN0YXRlIGludmFyaWFudCwgcGVyZm9ybWFuY2Ugc3RhdGlzdGljcwpyZWFsIG1l bW9yeSAgPSAxNzE3OTg2OTE4NCAoMTYzODQgTUIpCmF2YWlsIG1lbW9yeSA9IDE2MTcwMDQ5NTM2 ICgxNTQyMCBNQikKRXZlbnQgdGltZXIgIkxBUElDIiBxdWFsaXR5IDYwMApBQ1BJIEFQSUMgVGFi bGU6IDxIUFFPRU0gODUxNCAgICA+CkZyZWVCU0QvU01QOiBNdWx0aXByb2Nlc3NvciBTeXN0ZW0g RGV0ZWN0ZWQ6IDggQ1BVcwpGcmVlQlNEL1NNUDogMSBwYWNrYWdlKHMpIHggNCBjb3JlKHMpIHgg MiBoYXJkd2FyZSB0aHJlYWRzCnJhbmRvbTogcmVnaXN0ZXJpbmcgZmFzdCBzb3VyY2UgSW50ZWwg U2VjdXJlIEtleSBSTkcKcmFuZG9tOiBmYXN0IHByb3ZpZGVyOiAiSW50ZWwgU2VjdXJlIEtleSBS TkciCnJhbmRvbTogdW5ibG9ja2luZyBkZXZpY2UuCmlvYXBpYzAgPFZlcnNpb24gMi4wPiBpcnFz IDAtMTE5CkxhdW5jaGluZyBBUHM6IDEgNyAyIDQgNiAzIDUKVGltZWNvdW50ZXIgIlRTQyIgZnJl cXVlbmN5IDIwMDAwMDAwMDAgSHogcXVhbGl0eSAxMDAwCnJhbmRvbTogZW50cm9weSBkZXZpY2Ug ZXh0ZXJuYWwgaW50ZXJmYWNlCmtiZDEgYXQga2JkbXV4MAptbHg1ZW46IE1lbGxhbm94IEV0aGVy bmV0IGRyaXZlciAzLjYuMCAoRGVjZW1iZXIgMjAyMCkKZWZpcnRjMDogPEVGSSBSZWFsdGltZSBD bG9jaz4KZWZpcnRjMDogcmVnaXN0ZXJlZCBhcyBhIHRpbWUtb2YtZGF5IGNsb2NrLCByZXNvbHV0 aW9uIDEuMDAwMDAwcwpzbWJpb3MwOiA8U3lzdGVtIE1hbmFnZW1lbnQgQklPUz4gYXQgaW9tZW0g MHg0ZmE4OTAwMC0weDRmYTg5MDFlCnNtYmlvczA6IFZlcnNpb246IDMuMiwgQkNEIFJldmlzaW9u OiAzLjIKYWVzbmkwOiA8QUVTLUNCQyxBRVMtQ0NNLEFFUy1HQ00sQUVTLUlDTSxBRVMtWFRTPgph Y3BpMDogPEhQUU9FTSBTTElDLU1QQz4KRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBDb3VsZCBub3Qg cmVzb2x2ZSBzeW1ib2wgW1wxMzRfU0IuUENJMC5YRENJXSwgQUVfTk9UX0ZPVU5EICgyMDIxMDYw NC9kc3dsb2FkMi0zMTUpCkFDUEkgRXJyb3I6IEFFX05PVF9GT1VORCwgRHVyaW5nIG5hbWUgbG9v a3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkp OiBDb3VsZCBub3QgcmVzb2x2ZSBzeW1ib2wgW1wxMzRfU0IuUENJMC5JMkMxLlRQTDFdLCBBRV9O T1RfRk9VTkQgKDIwMjEwNjA0L2Rzd2xvYWQyLTMxNSkKQUNQSSBFcnJvcjogQUVfTk9UX0ZPVU5E LCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJt d2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NC LlBDSTAuWEhDLlJIVUIuR1BMRF0sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2Fk Mi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAv Y2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZh aWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuVFBMRF0s IEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFF X0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNv YmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQg b2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuR1VQQ10sIEFFX0FMUkVBRFlfRVhJU1RTICgy MDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJp bmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBF cnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAu WEhDLlJIVUIuVFVQQ10sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODAp CkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxv ZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUg Y3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuSFMwMS5fVVBDXSwg QUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVf QUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29i amVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBv YmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5IUzAxLl9QTERdLCBBRV9BTFJFQURZX0VYSVNU UyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywg RHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdh cmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5Q Q0kwLlhIQy5SSFVCLkhTMDIuX1VQQ10sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3ds b2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29r dXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6 IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuSFMw Mi5fUExEXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBF cnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIx MDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGlu ZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5IUzAzLl9VUENdLCBBRV9BTFJF QURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZ X0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3 MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBb XDEzNF9TQi5QQ0kwLlhIQy5SSFVCLkhTMDMuX1BMRF0sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIx MDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcg bmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJv ciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhD LlJIVUIuSFMwNC5fVVBDXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4 MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRh bG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVy ZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5IUzA0Ll9QTERd LCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBB RV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bz b2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVk IG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLkhTMDUuX1VQQ10sIEFFX0FMUkVBRFlfRVhJ U1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RT LCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJt d2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NC LlBDSTAuWEhDLlJIVUIuSFMwNS5fUExEXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rz d2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxv b2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJ KTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5I UzA2Ll9VUENdLCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJ IEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIw MjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0 aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLkhTMDYuX1BMRF0sIEFFX0FM UkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVB RFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3Qt MzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0 IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuSFMwNy5fVVBDXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIw MjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmlu ZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVy cm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5Y SEMuUkhVQi5IUzA3Ll9QTERdLCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDIt NDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2Nh dGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWls dXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLkhTMDguX1VQ Q10sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6 IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQv cHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFt ZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuSFMwOC5fUExEXSwgQUVfQUxSRUFEWV9F WElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElT VFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZp cm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRf U0IuUENJMC5YSEMuUkhVQi5IUzA5Ll9VUENdLCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQv ZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUg bG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFD UEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVC LkhTMDkuX1BMRF0sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFD UEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAo MjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3Jl YXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuSFMxMC5fVVBDXSwgQUVf QUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxS RUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVj dC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmpl Y3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5IUzEwLl9QTERdLCBBRV9BTFJFQURZX0VYSVNUUyAo MjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVy aW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUg RXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kw LlhIQy5SSFVCLlVTUjEuX1VQQ10sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2Fk Mi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAv Y2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZh aWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuVVNSMS5f UExEXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJv cjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYw NC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBu YW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5VU1IyLl9VUENdLCBBRV9BTFJFQURZ X0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VY SVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikK RmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEz NF9TQi5QQ0kwLlhIQy5SSFVCLlVTUjIuX1BMRF0sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYw NC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFt ZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAo QUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJI VUIuU1MwMS5fVVBDXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkK QUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9n ICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBj cmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5TUzAxLl9QTERdLCBB RV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9B TFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2Jq ZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9i amVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLlNTMDIuX1VQQ10sIEFFX0FMUkVBRFlfRVhJU1RT ICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBE dXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2Fy ZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtcMTM0X1NCLlBD STAuWEhDLlJIVUIuU1MwMi5fUExEXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEwNjA0L2Rzd2xv YWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBuYW1lIGxvb2t1 cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9yIChBQ1BJKTog RmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMuUkhVQi5TUzAz Ll9VUENdLCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgwKQpBQ1BJIEVy cm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFsb2cgKDIwMjEw NjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJlIGNyZWF0aW5n IG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLlNTMDMuX1BMRF0sIEFFX0FMUkVB RFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFFX0FMUkVBRFlf RVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcy KQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQgb2JqZWN0IFtc MTM0X1NCLlBDSTAuWEhDLlJIVUIuU1MwNC5fVVBDXSwgQUVfQUxSRUFEWV9FWElTVFMgKDIwMjEw NjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMsIER1cmluZyBu YW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13YXJlIEVycm9y IChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0IuUENJMC5YSEMu UkhVQi5TUzA0Ll9QTERdLCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3bG9hZDItNDgw KQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9va3VwL2NhdGFs b2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkpOiBGYWlsdXJl IGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLlNTMDUuX1VQQ10s IEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkgRXJyb3I6IEFF X0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAyMTA2MDQvcHNv YmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IEZhaWx1cmUgY3JlYXRpbmcgbmFtZWQg b2JqZWN0IFtcMTM0X1NCLlBDSTAuWEhDLlJIVUIuU1MwNS5fUExEXSwgQUVfQUxSRUFEWV9FWElT VFMgKDIwMjEwNjA0L2Rzd2xvYWQyLTQ4MCkKQUNQSSBFcnJvcjogQUVfQUxSRUFEWV9FWElTVFMs IER1cmluZyBuYW1lIGxvb2t1cC9jYXRhbG9nICgyMDIxMDYwNC9wc29iamVjdC0zNzIpCkZpcm13 YXJlIEVycm9yIChBQ1BJKTogRmFpbHVyZSBjcmVhdGluZyBuYW1lZCBvYmplY3QgW1wxMzRfU0Iu UENJMC5YSEMuUkhVQi5TUzA2Ll9VUENdLCBBRV9BTFJFQURZX0VYSVNUUyAoMjAyMTA2MDQvZHN3 bG9hZDItNDgwKQpBQ1BJIEVycm9yOiBBRV9BTFJFQURZX0VYSVNUUywgRHVyaW5nIG5hbWUgbG9v a3VwL2NhdGFsb2cgKDIwMjEwNjA0L3Bzb2JqZWN0LTM3MikKRmlybXdhcmUgRXJyb3IgKEFDUEkp OiBGYWlsdXJlIGNyZWF0aW5nIG5hbWVkIG9iamVjdCBbXDEzNF9TQi5QQ0kwLlhIQy5SSFVCLlNT MDYuX1BMRF0sIEFFX0FMUkVBRFlfRVhJU1RTICgyMDIxMDYwNC9kc3dsb2FkMi00ODApCkFDUEkg RXJyb3I6IEFFX0FMUkVBRFlfRVhJU1RTLCBEdXJpbmcgbmFtZSBsb29rdXAvY2F0YWxvZyAoMjAy MTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IENvdWxkIG5vdCByZXNv bHZlIHN5bWJvbCBbXDEzNF9TQi5QQ0kwLlhEQ0ldLCBBRV9OT1RfRk9VTkQgKDIwMjEwNjA0L2Rz d2xvYWQyLTMxNSkKQUNQSSBFcnJvcjogQUVfTk9UX0ZPVU5ELCBEdXJpbmcgbmFtZSBsb29rdXAv Y2F0YWxvZyAoMjAyMTA2MDQvcHNvYmplY3QtMzcyKQpGaXJtd2FyZSBFcnJvciAoQUNQSSk6IENv dWxkIG5vdCByZXNvbHZlIHN5bWJvbCBbXDEzNF9TQi5QQ0kwLkkyQzEuVFBMMS5URFhdLCBBRV9O T1RfRk9VTkQgKDIwMjEwNjA0L3BzYXJncy01MDMpCkFDUEkgRXJyb3I6IEFib3J0aW5nIG1ldGhv ZCBcMTM0X1NCLlBDSTAuSTJDMS5JTkMxIGR1ZSB0byBwcmV2aW91cyBlcnJvciAoQUVfTk9UX0ZP VU5EKSAoMjAyMTA2MDQvcHNwYXJzZS02ODkpCkFDUEkgRXJyb3I6IEFib3J0aW5nIG1ldGhvZCBc MTM0X1NCLlBDSTAuSTJDMS5fSU5JIGR1ZSB0byBwcmV2aW91cyBlcnJvciAoQUVfTk9UX0ZPVU5E KSAoMjAyMTA2MDQvcHNwYXJzZS02ODkpCnVua25vd246IG1lbW9yeSByYW5nZSBub3Qgc3VwcG9y dGVkCmNwdTA6IDxBQ1BJIENQVT4gb24gYWNwaTAKaHBldDA6IDxIaWdoIFByZWNpc2lvbiBFdmVu dCBUaW1lcj4gaW9tZW0gMHhmZWQwMDAwMC0weGZlZDAwM2ZmIG9uIGFjcGkwClRpbWVjb3VudGVy ICJIUEVUIiBmcmVxdWVuY3kgMjQwMDAwMDAgSHogcXVhbGl0eSA5NTAKRXZlbnQgdGltZXIgIkhQ RVQiIGZyZXF1ZW5jeSAyNDAwMDAwMCBIeiBxdWFsaXR5IDU1MAphdHJ0YzA6IDxBVCByZWFsdGlt ZSBjbG9jaz4gcG9ydCAweDcwLTB4NzcgaXJxIDggb24gYWNwaTAKYXRydGMwOiBXYXJuaW5nOiBD b3VsZG4ndCBtYXAgSS9PLgphdHJ0YzA6IHJlZ2lzdGVyZWQgYXMgYSB0aW1lLW9mLWRheSBjbG9j aywgcmVzb2x1dGlvbiAxLjAwMDAwMHMKRXZlbnQgdGltZXIgIlJUQyIgZnJlcXVlbmN5IDMyNzY4 IEh6IHF1YWxpdHkgMAphdHRpbWVyMDogPEFUIHRpbWVyPiBwb3J0IDB4NDAtMHg0MywweDUwLTB4 NTMgaXJxIDAgb24gYWNwaTAKVGltZWNvdW50ZXIgImk4MjU0IiBmcmVxdWVuY3kgMTE5MzE4MiBI eiBxdWFsaXR5IDAKRXZlbnQgdGltZXIgImk4MjU0IiBmcmVxdWVuY3kgMTE5MzE4MiBIeiBxdWFs aXR5IDEwMApUaW1lY291bnRlciAiQUNQSS1mYXN0IiBmcmVxdWVuY3kgMzU3OTU0NSBIeiBxdWFs aXR5IDkwMAphY3BpX3RpbWVyMDogPDI0LWJpdCB0aW1lciBhdCAzLjU3OTU0NU1Iej4gcG9ydCAw eDE4MDgtMHgxODBiIG9uIGFjcGkwCmFjcGlfZWMwOiA8RW1iZWRkZWQgQ29udHJvbGxlcjogR1BF IDB4MTc+IHBvcnQgMHg2MiwweDY2IG9uIGFjcGkwCnBjaWIwOiA8QUNQSSBIb3N0LVBDSSBicmlk Z2U+IHBvcnQgMHhjZjgtMHhjZmYgb24gYWNwaTAKcGNpMDogPEFDUEkgUENJIGJ1cz4gb24gcGNp YjAKdmdhcGNpMDogPFZHQS1jb21wYXRpYmxlIGRpc3BsYXk+IHBvcnQgMHgzMDAwLTB4MzAzZiBt ZW0gMHg2MDRhMDAwMDAwLTB4NjA0YWZmZmZmZiwweDQwMDAwMDAwMDAtMHg0MDBmZmZmZmZmIGF0 IGRldmljZSAyLjAgb24gcGNpMAp2Z2FwY2kwOiBCb290IHZpZGVvIGRldmljZQpwY2kwOiA8c2lt cGxlIGNvbW1zLCBVQVJUPiBhdCBkZXZpY2UgMTkuMCAobm8gZHJpdmVyIGF0dGFjaGVkKQp4aGNp MDogPFhIQ0kgKGdlbmVyaWMpIFVTQiAzLjAgY29udHJvbGxlcj4gbWVtIDB4NjA0YjEwMDAwMC0w eDYwNGIxMGZmZmYgYXQgZGV2aWNlIDIwLjAgb24gcGNpMAp4aGNpMDogMzIgYnl0ZXMgY29udGV4 dCBzaXplLCA2NC1iaXQgRE1BCnVzYnVzMCBvbiB4aGNpMAp1c2J1czA6IDUuMEdicHMgU3VwZXIg U3BlZWQgVVNCIHYzLjAKcGNpMDogPG1lbW9yeSwgUkFNPiBhdCBkZXZpY2UgMjAuMiAobm8gZHJp dmVyIGF0dGFjaGVkKQpwY2kwOiA8bmV0d29yaz4gYXQgZGV2aWNlIDIwLjMgKG5vIGRyaXZlciBh dHRhY2hlZCkKcGNpMDogPHNlcmlhbCBidXM+IGF0IGRldmljZSAyMS4wIChubyBkcml2ZXIgYXR0 YWNoZWQpCnBjaTA6IDxzZXJpYWwgYnVzPiBhdCBkZXZpY2UgMjEuMSAobm8gZHJpdmVyIGF0dGFj aGVkKQpwY2kwOiA8c2ltcGxlIGNvbW1zPiBhdCBkZXZpY2UgMjIuMCAobm8gZHJpdmVyIGF0dGFj aGVkKQphaGNpMDogPEludGVsIElDSDhNKyAoUkFJRCkgQUhDSSBTQVRBIGNvbnRyb2xsZXI+IHBv cnQgMHgzMDkwLTB4MzA5NywweDMwODAtMHgzMDgzLDB4MzA2MC0weDMwN2YgbWVtIDB4OGU0MDAw MDAtMHg4ZTQwMWZmZiwweDhlNDAzMDAwLTB4OGU0MDMwZmYsMHg4ZTQwMjAwMC0weDhlNDAyN2Zm IGF0IGRldmljZSAyMy4wIG9uIHBjaTAKYWhjaTA6IEFIQ0kgdjEuMzEgd2l0aCAxNiAzR2JwcyBw b3J0cywgUG9ydCBNdWx0aXBsaWVyIG5vdCBzdXBwb3J0ZWQKcGNpYjE6IDxBQ1BJIFBDSS1QQ0kg YnJpZGdlPiBhdCBkZXZpY2UgMjguMCBvbiBwY2kwCnBjaTE6IDxBQ1BJIFBDSSBidXM+IG9uIHBj aWIxCnJ0c3gwOiA8Mi4wYyBSZWFsdGVrIFJUUzUyNUEgUENJIE1NQy9TRCBDYXJkIFJlYWRlcj4g bWVtIDB4OGUzMDAwMDAtMHg4ZTMwMGZmZiBhdCBkZXZpY2UgMC4wIG9uIHBjaTEKcnRzeDA6IHBj aV9yZWFkX2NvbmZpZygpIGVycm9yIC0gcmVnOiAweGVlZmZmZmFhCnJ0c3gwOiBDYXJkIGFic2Vu dApwY2liMjogPEFDUEkgUENJLVBDSSBicmlkZ2U+IGF0IGRldmljZSAyOC40IG9uIHBjaTAKcGNp MjogPEFDUEkgUENJIGJ1cz4gb24gcGNpYjIKcGNpYjM6IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBh dCBkZXZpY2UgMC4wIG9uIHBjaTIKcGNpMzogPEFDUEkgUENJIGJ1cz4gb24gcGNpYjMKcGNpYjQ6 IDxBQ1BJIFBDSS1QQ0kgYnJpZGdlPiBhdCBkZXZpY2UgMC4wIG9uIHBjaTMKcGNpNDogPEFDUEkg UENJIGJ1cz4gb24gcGNpYjQKcGNpYjU6IDxQQ0ktUENJIGJyaWRnZT4gYXQgZGV2aWNlIDEuMCBv biBwY2kzCnBjaWI2OiA8QUNQSSBQQ0ktUENJIGJyaWRnZT4gYXQgZGV2aWNlIDIuMCBvbiBwY2kz CnBjaTU6IDxBQ1BJIFBDSSBidXM+IG9uIHBjaWI2CnhoY2kxOiA8WEhDSSAoZ2VuZXJpYykgVVNC IDMuMCBjb250cm9sbGVyPiBtZW0gMHg3N2YwMDAwMC0weDc3ZjBmZmZmIGF0IGRldmljZSAwLjAg b24gcGNpNQp4aGNpMTogMzIgYnl0ZXMgY29udGV4dCBzaXplLCA2NC1iaXQgRE1BCnVzYnVzMSBv biB4aGNpMQp1c2J1czE6IDUuMEdicHMgU3VwZXIgU3BlZWQgVVNCIHYzLjAKcGNpYjc6IDxQQ0kt UENJIGJyaWRnZT4gYXQgZGV2aWNlIDQuMCBvbiBwY2kzCnBjaWI4OiA8QUNQSSBQQ0ktUENJIGJy aWRnZT4gYXQgZGV2aWNlIDI5LjAgb24gcGNpMApwY2k2OiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2li OApudm1lMDogPEdlbmVyaWMgTlZNZSBEZXZpY2U+IG1lbSAweDhlMjAwMDAwLTB4OGUyMDNmZmYg YXQgZGV2aWNlIDAuMCBvbiBwY2k2CnBjaWI5OiA8QUNQSSBQQ0ktUENJIGJyaWRnZT4gYXQgZGV2 aWNlIDI5LjYgb24gcGNpMApwY2k3OiA8QUNQSSBQQ0kgYnVzPiBvbiBwY2liOQpudm1lMTogPEdl bmVyaWMgTlZNZSBEZXZpY2U+IG1lbSAweDhlMTEwMDAwLTB4OGUxMTNmZmYsMHg4ZTEwMDAwMC0w eDhlMTBmZmZmIGF0IGRldmljZSAwLjAgb24gcGNpNwppc2FiMDogPFBDSS1JU0EgYnJpZGdlPiBh dCBkZXZpY2UgMzEuMCBvbiBwY2kwCmlzYTA6IDxJU0EgYnVzPiBvbiBpc2FiMApoZGFjMDogPElu dGVsIENhbm5vbiBMYWtlIEhEQSBDb250cm9sbGVyPiBtZW0gMHg2MDRiMTE4MDAwLTB4NjA0YjEx YmZmZiwweDYwNGIwMDAwMDAtMHg2MDRiMGZmZmZmIGF0IGRldmljZSAzMS4zIG9uIHBjaTAKcGNp MDogPHNlcmlhbCBidXM+IGF0IGRldmljZSAzMS41IChubyBkcml2ZXIgYXR0YWNoZWQpCmJhdHRl cnkwOiA8QUNQSSBDb250cm9sIE1ldGhvZCBCYXR0ZXJ5PiBvbiBhY3BpMAphY3BpX2FjYWQwOiA8 QUMgQWRhcHRlcj4gb24gYWNwaTAKYWNwaV9saWQwOiA8Q29udHJvbCBNZXRob2QgTGlkIFN3aXRj aD4gb24gYWNwaTAKYWNwaV9idXR0b24wOiA8UG93ZXIgQnV0dG9uPiBvbiBhY3BpMAphY3BpX3R6 MDogPFRoZXJtYWwgWm9uZT4gb24gYWNwaTAKYXRrYmRjMDogPEtleWJvYXJkIGNvbnRyb2xsZXIg KGk4MDQyKT4gcG9ydCAweDYwLDB4NjQgaXJxIDEgb24gYWNwaTAKYXRrYmQwOiA8QVQgS2V5Ym9h cmQ+IGlycSAxIG9uIGF0a2JkYzAKa2JkMCBhdCBhdGtiZDAKYXRrYmQwOiBbR0lBTlQtTE9DS0VE XQphY3BpX3N5c2NvbnRhaW5lcjA6IDxTeXN0ZW0gQ29udGFpbmVyPiBvbiBhY3BpMApod3BzdGF0 ZV9pbnRlbDA6IDxJbnRlbCBTcGVlZCBTaGlmdD4gb24gY3B1MApod3BzdGF0ZV9pbnRlbDE6IDxJ bnRlbCBTcGVlZCBTaGlmdD4gb24gY3B1MQpod3BzdGF0ZV9pbnRlbDI6IDxJbnRlbCBTcGVlZCBT aGlmdD4gb24gY3B1Mgpod3BzdGF0ZV9pbnRlbDM6IDxJbnRlbCBTcGVlZCBTaGlmdD4gb24gY3B1 Mwpod3BzdGF0ZV9pbnRlbDQ6IDxJbnRlbCBTcGVlZCBTaGlmdD4gb24gY3B1NApod3BzdGF0ZV9p bnRlbDU6IDxJbnRlbCBTcGVlZCBTaGlmdD4gb24gY3B1NQpod3BzdGF0ZV9pbnRlbDY6IDxJbnRl bCBTcGVlZCBTaGlmdD4gb24gY3B1Ngpod3BzdGF0ZV9pbnRlbDc6IDxJbnRlbCBTcGVlZCBTaGlm dD4gb24gY3B1NwpUaW1lY291bnRlcnMgdGljayBldmVyeSAxLjAwMCBtc2VjClpGUyBmaWxlc3lz dGVtIHZlcnNpb246IDUKWkZTIHN0b3JhZ2UgcG9vbCB2ZXJzaW9uOiBmZWF0dXJlcyBzdXBwb3J0 ICg1MDAwKQp1Z2VuMS4xOiA8MHg4MDg2IFhIQ0kgcm9vdCBIVUI+IGF0IHVzYnVzMQp1Z2VuMC4x OiA8MHg4MDg2IFhIQ0kgcm9vdCBIVUI+IGF0IHVzYnVzMAp1aHViMCBvbiB1c2J1czEKdWh1YjA6 IDwweDgwODYgWEhDSSByb290IEhVQiwgY2xhc3MgOS8wLCByZXYgMy4wMC8xLjAwLCBhZGRyIDE+ IG9uIHVzYnVzMQp1aHViMSBvbiB1c2J1czAKdWh1YjE6IDwweDgwODYgWEhDSSByb290IEhVQiwg Y2xhc3MgOS8wLCByZXYgMy4wMC8xLjAwLCBhZGRyIDE+IG9uIHVzYnVzMApudmQwOiA8SU5URUwg SEJSUEVLTlgwMjAyQUg+IE5WTWUgbmFtZXNwYWNlCm52ZDA6IDQ4ODM4Nk1CICgxMDAwMjE1MjE2 IDUxMiBieXRlIHNlY3RvcnMpCnVodWIwOiA0IHBvcnRzIHdpdGggNCByZW1vdmFibGUsIHNlbGYg cG93ZXJlZApudmQxOiA8SU5URUwgSEJSUEVLTlgwMjAyQUhPPiBOVk1lIG5hbWVzcGFjZQpudmQx OiAyNzkwNU1CICg1NzE0OTQ0MCA1MTIgYnl0ZSBzZWN0b3JzKQpoZGFjYzA6IDxSZWFsdGVrIEFM QzI4NSBIREEgQ09ERUM+IGF0IGNhZCAwIG9uIGhkYWMwCmhkYWEwOiA8UmVhbHRlayBBTEMyODUg QXVkaW8gRnVuY3Rpb24gR3JvdXA+IGF0IG5pZCAxIG9uIGhkYWNjMApwY20wOiA8UmVhbHRlayBB TEMyODUgKEFuYWxvZyk+IGF0IG5pZCAyMyBhbmQgMjUgb24gaGRhYTAKcGNtMTogPFJlYWx0ZWsg QUxDMjg1IChSaWdodCBBbmFsb2cgSGVhZHBob25lcyk+IGF0IG5pZCAzMyBvbiBoZGFhMApoZGFj YzE6IDxJbnRlbCBLYWJ5IExha2UgSERBIENPREVDPiBhdCBjYWQgMiBvbiBoZGFjMApoZGFhMTog PEludGVsIEthYnkgTGFrZSBBdWRpbyBGdW5jdGlvbiBHcm91cD4gYXQgbmlkIDEgb24gaGRhY2Mx CnBjbTI6IDxJbnRlbCBLYWJ5IExha2UgKEhETUkvRFAgOGNoKT4gYXQgbmlkIDMgb24gaGRhYTEK VHJ5aW5nIHRvIG1vdW50IHJvb3QgZnJvbSB6ZnM6enJvb3QvUk9PVC9kZWZhdWx0IFtdLi4uClJv b3QgbW91bnQgd2FpdGluZyBmb3I6IHVzYnVzMCBDQU0KV0FSTklORzogV0lUTkVTUyBvcHRpb24g ZW5hYmxlZCwgZXhwZWN0IHJlZHVjZWQgcGVyZm9ybWFuY2UuCnVodWIxOiAxOCBwb3J0cyB3aXRo IDE4IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCnVnZW4wLjI6IDxTdW5wbHVzSVQgSW5jIEhQIFdp ZGUgVmlzaW9uIEZIRCBDYW1lcmE+IGF0IHVzYnVzMApSb290IG1vdW50IHdhaXRpbmcgZm9yOiB1 c2J1czAKdWdlbjAuMzogPHZlbmRvciAweDA2Y2IgcHJvZHVjdCAweDAwYmI+IGF0IHVzYnVzMAp1 Z2VuMC40OiA8dmVuZG9yIDB4ODA4NyBwcm9kdWN0IDB4MGFhYT4gYXQgdXNidXMwClNldHRpbmcg aG9zdHV1aWQ6IDM5NDQ0MzM1LTMyMzItNTgzOS0zMjMxLTMxNTgzMjMyNDQzNS4KU2V0dGluZyBo b3N0aWQ6IDB4YWVlNDBlODguCm5vIHBvb2xzIGF2YWlsYWJsZSB0byBpbXBvcnQKU3RhcnRpbmcg ZmlsZSBzeXN0ZW0gY2hlY2tzOgovZGV2L252ZDBwMTogRklMRVNZU1RFTSBDTEVBTjsgU0tJUFBJ TkcgQ0hFQ0tTCk1vdW50aW5nIGxvY2FsIGZpbGVzeXN0ZW1zOi4KQXV0b2xvYWRpbmcgbW9kdWxl OiBhY3BpX3dtaS5rbwpBdXRvbG9hZGluZyBtb2R1bGU6IGlmX2l3bS5rbwpBdXRvbG9hZGluZyBt b2R1bGU6IGlnNC5rbwpBdXRvbG9hZGluZyBtb2R1bGU6IHBjaHRoZXJtLmtvCnBjaHRoZXJtMDog PENhbm5vbkxha2UtTFAgVGhlcm1hbCBTdWJzeXN0ZW0+IG1lbSAweDYwNGIxMjkwMDAtMHg2MDRi MTI5ZmZmIGF0IGRldmljZSAxOC4wIG9uIHBjaTAKaXdtMDogPEludGVsKFIpIER1YWwgQmFuZCBX aXJlbGVzcyBBQyA5NTYwPiBtZW0gMHg2MDRiMTFjMDAwLTB4NjA0YjExZmZmZiBhdCBkZXZpY2Ug MjAuMyBvbiBwY2kwCml3bTA6IGh3IHJldiAweDMxMCwgZncgdmVyIDM0LjMxMjU4MTE5ODUuMCwg YWRkcmVzcyAzODowMDoyNTo1MDo3Yjo4OQppZzRpaWMwOiA8SW50ZWwgQ2Fubm9uIExha2UtTFAg STJDIENvbnRyb2xsZXItMj4gYXQgZGV2aWNlIDIxLjAgb24gcGNpMAppZzRpaWMwOiBVc2luZyBN U0kKaWljYnVzMDogPFBoaWxpcHMgSTJDIGJ1cyAoQUNQSS1oaW50ZWQpPiBvbiBpZzRpaWMwCmlp Y2J1czA6IDx1bmtub3duIGNhcmQ+IGF0IGFkZHIgMHgxMAppZzRpaWMxOiA8SW50ZWwgQ2Fubm9u IExha2UtTFAgSTJDIENvbnRyb2xsZXItMz4gYXQgZGV2aWNlIDIxLjEgb24gcGNpMAppZzRpaWMx OiBVc2luZyBNU0kKaWljYnVzMTogPFBoaWxpcHMgSTJDIGJ1cyAoQUNQSS1oaW50ZWQpPiBvbiBp ZzRpaWMxCmlpY2J1czE6IDx1bmtub3duIGNhcmQ+IGF0IGFkZHIgMHgyYwphY3BpX3dtaTA6IDxB Q1BJLVdNSSBtYXBwaW5nPiBvbiBhY3BpMAphY3BpX3dtaTE6IDxBQ1BJLVdNSSBtYXBwaW5nPiBv biBhY3BpMAphY3BpX3dtaTE6IEVtYmVkZGVkIE1PRiBmb3VuZApBQ1BJOiBcMTM0X1NCLldGREUu V1FDQzogMSBhcmd1bWVudHMgd2VyZSBwYXNzZWQgdG8gYSBub24tbWV0aG9kIEFDUEkgb2JqZWN0 IChCdWZmZXIpICgyMDIxMDYwNC9uc2FyZ3VtZW50cy0zNjEpCmFjcGlfd21pMjogPEFDUEktV01J IG1hcHBpbmc+IG9uIGFjcGkwCmFjcGlfd21pMjogRW1iZWRkZWQgTU9GIGZvdW5kCkFDUEk6IFwx MzRfU0IuV0ZURS5XUUNDOiAxIGFyZ3VtZW50cyB3ZXJlIHBhc3NlZCB0byBhIG5vbi1tZXRob2Qg QUNQSSBvYmplY3QgKEJ1ZmZlcikgKDIwMjEwNjA0L25zYXJndW1lbnRzLTM2MSkKYWNwaV93bWkz OiA8QUNQSS1XTUkgbWFwcGluZz4gb24gYWNwaTAKYWNwaV93bWkzOiBFbWJlZGRlZCBNT0YgZm91 bmQKQUNQSTogXDEzNF9TQi5XTUlELldRQUI6IDEgYXJndW1lbnRzIHdlcmUgcGFzc2VkIHRvIGEg bm9uLW1ldGhvZCBBQ1BJIG9iamVjdCAoQnVmZmVyKSAoMjAyMTA2MDQvbnNhcmd1bWVudHMtMzYx KQpTZXR0aW5nIHVwIGhhcnZlc3Rpbmc6IFBVUkVfUkRSQU5ELFtVTUFdLFtGU19BVElNRV0sU1dJ LElOVEVSUlVQVCxORVRfTkcsW05FVF9FVEhFUl0sTkVUX1RVTixNT1VTRSxLRVlCT0FSRCxBVFRB Q0gsQ0FDSEVECkZlZWRpbmcgZW50cm9weTogLgpTZXR0aW5nIGhvc3RuYW1lOiBzcGVjdHJlLmxv Y2FsLgpFTEYgbGRjb25maWcgcGF0aDogL2xpYiAvdXNyL2xpYiAvdXNyL2xpYi9jb21wYXQgL3Vz ci9sb2NhbC9saWIgL3Vzci9sb2NhbC9saWIvY29tcGF0L3BrZyAvdXNyL2xvY2FsL2xpYi9jb21w YXQvcGtnIC91c3IvbG9jYWwvbGliL3Blcmw1LzUuMzIvbWFjaC9DT1JFIC91c3IvbG9jYWwvbGx2 bTEwL2xpYiAvdXNyL2xvY2FsL3NoYXJlL2Nocm9taXVtCjMyLWJpdCBjb21wYXRpYmlsaXR5IGxk Y29uZmlnIHBhdGg6IC91c3IvbGliMzIgL3Vzci9sb2NhbC9saWIzMiAvdXNyL2xvY2FsL2xpYjMy L3dpbmUKd2xhbjA6IEV0aGVybmV0IGFkZHJlc3M6IDM4OjAwOjI1OjUwOjdiOjg5CkNyZWF0ZWQg d2xhbig0KSBpbnRlcmZhY2VzOiB3bGFuMC4KbG8wOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAK U3RhcnRpbmcgd3BhX3N1cHBsaWNhbnQuCndsYW4wOiBsaW5rIHN0YXRlIGNoYW5nZWQgdG8gVVAK cGlkIDI5OSAod3BhX3N1cHBsaWNhbnQpLCBqaWQgMCwgdWlkIDA6IGV4aXRlZCBvbiBzaWduYWwg MTAgKGNvcmUgZHVtcGVkKQpTdGFydGluZyBOZXR3b3JrOiBsbzAgd2xhbjAuCmxvMDogZmxhZ3M9 ODA0OTxVUCxMT09QQkFDSyxSVU5OSU5HLE1VTFRJQ0FTVD4gbWV0cmljIDAgbXR1IDE2Mzg0Cglv cHRpb25zPTY4MDAwMzxSWENTVU0sVFhDU1VNLExJTktTVEFURSxSWENTVU1fSVBWNixUWENTVU1f SVBWNj4KCWluZXQ2IDo6MSBwcmVmaXhsZW4gMTI4CglpbmV0NiBmZTgwOjoxJWxvMCBwcmVmaXhs ZW4gNjQgc2NvcGVpZCAweDEKCWluZXQgMTI3LjAuMC4xIG5ldG1hc2sgMHhmZjAwMDAwMAoJZ3Jv dXBzOiBsbwoJbmQ2IG9wdGlvbnM9MjE8UEVSRk9STU5VRCxBVVRPX0xJTktMT0NBTD4Kd2xhbjA6 IGZsYWdzPTg4NDM8VVAsQlJPQURDQVNULFJVTk5JTkcsU0lNUExFWCxNVUxUSUNBU1Q+IG1ldHJp YyAwIG10dSAxNTAwCglldGhlciAzODowMDoyNTo1MDo3Yjo4OQoJaW5ldDYgZmU4MDo6M2EwMDoy NWZmOmZlNTA6N2I4OSV3bGFuMCBwcmVmaXhsZW4gNjQgc2NvcGVpZCAweDIKCWluZXQ2IDI2MDQ6 NTUwMDo3MDI1OmY4MDA6M2EwMDoyNWZmOmZlNTA6N2I4OSBwcmVmaXhsZW4gNjQgYXV0b2NvbmYK CWdyb3Vwczogd2xhbgoJc3NpZCBOZWVsV2lmaSBjaGFubmVsIDE0OSAoNTc0NSBNSHogMTFhKSBi c3NpZCAwYzo4Mzo5YTo3ZjphNTo3NAoJcmVnZG9tYWluIEZDQyBjb3VudHJ5IFVTIGF1dGhtb2Rl IFdQQTIvODAyLjExaSBwcml2YWN5IE9OCglkZWZ0eGtleSBVTkRFRiBBRVMtQ0NNIDI6MTI4LWJp dCB0eHBvd2VyIDIzIGJtaXNzIDEwIG1jYXN0cmF0ZSA2CgltZ210cmF0ZSA2IHNjYW52YWxpZCA2 MCB3bWUgcm9hbWluZyBNQU5VQUwKCXBhcmVudCBpbnRlcmZhY2U6IGl3bTAKCW1lZGlhOiBJRUVF IDgwMi4xMSBXaXJlbGVzcyBFdGhlcm5ldCBPRkRNLzM2TWJwcyBtb2RlIDExYQoJc3RhdHVzOiBh c3NvY2lhdGVkCgluZDYgb3B0aW9ucz0yMzxQRVJGT1JNTlVELEFDQ0VQVF9SVEFEVixBVVRPX0xJ TktMT0NBTD4KU3RhcnRpbmcgZGV2ZC4KQXV0b2xvYWRpbmcgbW9kdWxlOiBwY2h0aGVybS5rbwpB dXRvbG9hZGluZyBtb2R1bGU6IGlmX2l3bS5rbwpBdXRvbG9hZGluZyBtb2R1bGU6IGlnNC5rbwpB dXRvbG9hZGluZyBtb2R1bGU6IGlnNC5rbwpBdXRvbG9hZGluZyBtb2R1bGU6IGFjcGlfd21pLmtv CkF1dG9sb2FkaW5nIG1vZHVsZTogYWNwaV93bWkua28KQXV0b2xvYWRpbmcgbW9kdWxlOiBhY3Bp X3dtaS5rbwpBdXRvbG9hZGluZyBtb2R1bGU6IGFjcGlfd21pLmtvCml3bWJ0Znc6IGl3bWJ0X2Z3 X3JlYWQ6IG9wZW46IC91c3IvbG9jYWwvc2hhcmUvaXdtYnQtZmlybXdhcmUvaWJ0LTE3LTE2LTEu c2ZpOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cml3bWJ0Znc6IG1haW46IEZpcm13YXJlIGRv d25sb2FkIGZhaWxlZCEKQXV0b2xvYWRpbmcgbW9kdWxlOiBuZ191YnQua28KQXV0b2xvYWRpbmcg bW9kdWxlOiBuZ191YnQua28KQXV0b2xvYWRpbmcgbW9kdWxlOiBpaWNoaWQua28KaWljaGlkMDog PEVMQU4yNTE0OjAwIDA0RjM6MjgxMyBJMkMgSElEIGRldmljZT4gYXQgYWRkciAweDEwIG9uIGlp Y2J1czAKaWljaGlkMDogSW50ZXJydXB0IHNldHVwIGZhaWxlZC4gRmFsbGJhY2sgdG8gc2FtcGxp bmcKaGlkYnVzMDogPEhJRCBidXM+IG9uIGlpY2hpZDAKaWljaGlkMTogPFNZTkEzMjdFOjAwIDA2 Q0I6Q0Q0RiBJMkMgSElEIGRldmljZT4gYXQgYWRkciAweDJjIG9uIGlpY2J1czEKaWljaGlkMTog SW50ZXJydXB0IHNldHVwIGZhaWxlZC4gRmFsbGJhY2sgdG8gc2FtcGxpbmcKaGlkYnVzMTogPEhJ RCBidXM+IG9uIGlpY2hpZDEKQXV0b2xvYWRpbmcgbW9kdWxlOiBpaWNoaWQua28KU3RhcnRpbmcg ZGhjbGllbnQuCkRIQ1BSRVFVRVNUIG9uIHdsYW4wIHRvIDI1NS4yNTUuMjU1LjI1NSBwb3J0IDY3 CkRIQ1BBQ0sgZnJvbSAxNzIuMjAuMC4xCmJvdW5kIHRvIDE3Mi4yMC4wLjIzMiAtLSByZW5ld2Fs IGluIDM2MDAgc2Vjb25kcy4KQXV0b2xvYWRpbmcgbW9kdWxlOiBuZ191YnQua28KQXV0b2xvYWRp bmcgbW9kdWxlOiBuZ191YnQua28KQXV0b2xvYWRpbmcgbW9kdWxlOiBobXQua28KaG10MDogPEVM QU4yNTE0OjAwIDA0RjM6MjgxMyBUb3VjaFNjcmVlbj4gb24gaGlkYnVzMApobXQwOiBNdWx0aXRv dWNoIHRvdWNoc2NyZWVuIHdpdGggMCBleHRlcm5hbCBidXR0b25zCmhtdDA6IDEwIGNvbnRhY3Rz IHdpdGggW1dIXSBwcm9wZXJ0aWVzLiBSZXBvcnQgcmFuZ2UgWzA6MF0gLSBbMzQwODoxOTIwXQpo bXQxOiA8U1lOQTMyN0U6MDAgMDZDQjpDRDRGIFRvdWNoUGFkPiBvbiBoaWRidXMxCmhjb25mMDog PFNZTkEzMjdFOjAwIDA2Q0I6Q0Q0RiBDb25maWd1cmF0aW9uPiBvbiBoaWRidXMxCmhtdDE6IE11 bHRpdG91Y2ggdG91Y2hwYWQgd2l0aCAwIGV4dGVybmFsIGJ1dHRvbnMsIGNsaWNrLXBhZApobXQx OiA1IGNvbnRhY3RzIHdpdGggW0NdIHByb3BlcnRpZXMuIFJlcG9ydCByYW5nZSBbMDowXSAtIFsx MzkyOjY3Ml0KQXV0b2xvYWRpbmcgbW9kdWxlOiBocGVuLmtvCmhwZW4wOiA8RUxBTjI1MTQ6MDAg MDRGMzoyODEzIFBlbj4gb24gaGlkYnVzMApBdXRvbG9hZGluZyBtb2R1bGU6IGhtcy5rbwpobXMw OiA8U1lOQTMyN0U6MDAgMDZDQjpDRDRGIE1vdXNlPiBvbiBoaWRidXMxCmhtczA6IDIgYnV0dG9u cyBhbmQgW1hZXSBjb29yZGluYXRlcyBJRD0yCkF1dG9sb2FkaW5nIG1vZHVsZTogaG10LmtvCkF1 dG9sb2FkaW5nIG1vZHVsZTogaGNvbmYua28KYWRkIGhvc3QgMTI3LjAuMC4xOiBnYXRld2F5IGxv MCBmaWIgMDogcm91dGUgYWxyZWFkeSBpbiB0YWJsZQphZGQgaG9zdCA6OjE6IGdhdGV3YXkgbG8w IGZpYiAwOiByb3V0ZSBhbHJlYWR5IGluIHRhYmxlCmFkZCBuZXQgZmU4MDo6OiBnYXRld2F5IDo6 MQphZGQgbmV0IGZmMDI6OjogZ2F0ZXdheSA6OjEKYWRkIG5ldCA6OmZmZmY6MC4wLjAuMDogZ2F0 ZXdheSA6OjEKYWRkIG5ldCA6OjAuMC4wLjA6IGdhdGV3YXkgOjoxClVwZGF0aW5nIC92YXIvcnVu L29zLXJlbGVhc2UgZG9uZS4KQ3JlYXRpbmcgYW5kL29yIHRyaW1taW5nIGxvZyBmaWxlcy4KQ2xl YXJpbmcgL3RtcCAoWCByZWxhdGVkKS4KVXBkYXRpbmcgbW90ZDouClN0YXJ0aW5nIHN5c2xvZ2Qu Ck5vIGNvcmUgZHVtcHMgZm91bmQuCk1vdW50aW5nIGxhdGUgZmlsZXN5c3RlbXM6LgpTdGFydGlu ZyBjcm9uLgpTdGFydGluZyBzZW5kbWFpbF9zdWJtaXQuClNjcmlwdCAvZXRjL3JjLmQvc2VuZG1h aWwgaW50ZXJydXB0ZWQKUGVyZm9ybWluZyBzYW5pdHkgY2hlY2sgb24gc3NoZCBjb25maWd1cmF0 aW9uLgpTdGFydGluZyBzc2hkLgpDb25maWd1cmluZyB2dDogYmxhbmt0aW1lLgpTdGFydGluZyBi YWNrZ3JvdW5kIGZpbGUgc3lzdGVtIGNoZWNrcyBpbiA2MCBzZWNvbmRzLgoKVHVlIEp1biAxNSAy MDowNzozMSBQRFQgMjAyMQpKdW4gMTUgMjA6MDk6MDYgc3BlY3RyZSBzdVsxNTcwXTogbmVlbCB0 byByb290IG9uIC9kZXYvcHRzLzAKSnVuIDE1IDIwOjEwOjA0IHNwZWN0cmUgc3VbMTU4Nl06IG5l ZWwgdG8gcm9vdCBvbiAvZGV2L3B0cy8xCkp1biAxNSAyMDoxOTozNiBzcGVjdHJlIGxvZ2luWzE1 NTJdOiBST09UIExPR0lOIChyb290KSBPTiB0dHl2MApkcm1uMDogPGRybW4+IG9uIHZnYXBjaTAK dmdhcGNpMDogY2hpbGQgZHJtbjAgcmVxdWVzdGVkIHBjaV9lbmFibGVfaW8KdmdhcGNpMDogY2hp bGQgZHJtbjAgcmVxdWVzdGVkIHBjaV9lbmFibGVfaW8KW2RybV0gVW5hYmxlIHRvIGNyZWF0ZSBh IHByaXZhdGUgdG1wZnMgbW91bnQsIGh1Z2VwYWdlIHN1cHBvcnQgd2lsbCBiZSBkaXNhYmxlZCgt MTkpLgpGYWlsZWQgdG8gYWRkIFdDIE1UUlIgZm9yIFsweDQwMDAwMDAwMDAtMHg0MDBmZmZmZmZm XTogLTIyOyBwZXJmb3JtYW5jZSBtYXkgc3VmZmVyCltkcm1dIFVuYWJsZSB0byBjcmVhdGUgYSBw cml2YXRlIHRtcGZzIG1vdW50LCBodWdlcGFnZSBzdXBwb3J0IHdpbGwgYmUgZGlzYWJsZWQoLTE5 KS4KW2RybV0gR290IHN0b2xlbiBtZW1vcnkgYmFzZSAweDU5MDAwMDAwLCBzaXplIDB4NDAwMDAw MApbZHJtXSBTdXBwb3J0cyB2YmxhbmsgdGltZXN0YW1wIGNhY2hpbmcgUmV2IDIgKDIxLjEwLjIw MTMpLgpKdW4gMTUgMjA6MTk6Mzggc3BlY3RyZSBrZXJuZWw6IEZhaWxlZCB0byBhZGQgV0MgTVRS UiBmb3IgWzB4NDAwMDAwMDAwMC0weDQwMGZmZmZmZmZdOiAtMjI7IHBlcmZvcm1hbmNlIG1heSBz dWZmZXIKW2RybV0gQ29ubmVjdG9yIGVEUC0xOiBnZXQgbW9kZSBmcm9tIHR1bmFibGVzOgpbZHJt XSAgIC0ga2Vybi52dC5mYi5tb2Rlcy5lRFAtMQpbZHJtXSAgIC0ga2Vybi52dC5mYi5kZWZhdWx0 X21vZGUKZHJtbjA6IHN1Y2Nlc3NmdWxseSBsb2FkZWQgZmlybXdhcmUgaW1hZ2UgJ2k5MTUva2Js X2RtY192ZXIxXzA0LmJpbicKZHJtbjA6IFtkcm1dIEZpbmlzaGVkIGxvYWRpbmcgRE1DIGZpcm13 YXJlIGk5MTUva2JsX2RtY192ZXIxXzA0LmJpbiAodjEuNCkKW2RybV0gQ29ubmVjdG9yIERQLTE6 IGdldCBtb2RlIGZyb20gdHVuYWJsZXM6Cltkcm1dICAgLSBrZXJuLnZ0LmZiLm1vZGVzLkRQLTEK W2RybV0gICAtIGtlcm4udnQuZmIuZGVmYXVsdF9tb2RlCltkcm1dIENvbm5lY3RvciBEUC0yOiBn ZXQgbW9kZSBmcm9tIHR1bmFibGVzOgpbZHJtXSAgIC0ga2Vybi52dC5mYi5tb2Rlcy5EUC0yCltk cm1dICAgLSBrZXJuLnZ0LmZiLmRlZmF1bHRfbW9kZQpzeXNjdGxfd2Fybl9yZXVzZTogY2FuJ3Qg cmUtdXNlIGEgbGVhZiAoaHcuZHJpLmRlYnVnKSEKW2RybV0gSW5pdGlhbGl6ZWQgaTkxNSAxLjYu MCAyMDIwMDMxMyBmb3IgZHJtbjAgb24gbWlub3IgMApXQVJOSU5HOiBEZXZpY2UgImZiIiBpcyBH aWFudCBsb2NrZWQgYW5kIG1heSBiZSBkZWxldGVkIGJlZm9yZSBGcmVlQlNEIDE0LjAuClZUOiBS ZXBsYWNpbmcgZHJpdmVyICJlZmlmYiIgd2l0aCBuZXcgImZiIi4KdGFza3F1ZXVlX2RyYWluIHdp dGggdGhlIGZvbGxvd2luZyBub24tc2xlZXBhYmxlIGxvY2tzIGhlbGQ6CmV4Y2x1c2l2ZSBzbGVl cCBtdXRleCB2dGRldiAodnRkZXYpIHIgPSAwICgweGZmZmZmZmZmODFhZTkwYTgpIGxvY2tlZCBA IC91c3Ivc3JjL3N5cy9kZXYvdnQvdnRfY29yZS5jOjMwMTIKc3RhY2sgYmFja3RyYWNlOgojMCAw eGZmZmZmZmZmODBjODdmNDEgYXQgd2l0bmVzc19kZWJ1Z2dlcisweDcxCiMxIDB4ZmZmZmZmZmY4 MGM4OTA1ZCBhdCB3aXRuZXNzX3dhcm4rMHg0MGQKIzIgMHhmZmZmZmZmZjgwYzdhOTc5IGF0IHRh c2txdWV1ZV9kcmFpbisweDM5CiMzIDB4ZmZmZmZmZmY4MzRkZDI1MyBhdCB2dF9rbXNfcG9zdHN3 aXRjaCsweDczCiM0IDB4ZmZmZmZmZmY4MGE2N2FmZCBhdCB2dF9mYl9pbml0KzB4ZmQKIzUgMHhm ZmZmZmZmZjgwYTZmMjA4IGF0IHZ0X3JlcGxhY2VfYmFja2VuZCsweDExOAojNiAweGZmZmZmZmZm ODBhNjdjMDMgYXQgdnRfZmJfYXR0YWNoKzB4MTMKIzcgMHhmZmZmZmZmZjgzNGRkZTU4IGF0IGxp bnV4X3JlZ2lzdGVyX2ZyYW1lYnVmZmVyKzB4NWU4CiM4IDB4ZmZmZmZmZmY4MzRlNTc2NSBhdCBf X2RybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWdfYW5kX3VubG9jaysweDQ0NQojOSAweGZmZmZm ZmZmODMxOTRhYzAgYXQgaW50ZWxfZmJkZXZfaW5pdGlhbF9jb25maWdfYXN5bmMrMHgyMAojMTAg MHhmZmZmZmZmZjgzMDc1N2I0IGF0IGk5MTVfZHJpdmVyX3Byb2JlKzB4MTA5NAojMTEgMHhmZmZm ZmZmZjgzMDg3NDdjIGF0IGk5MTVfcGNpX3Byb2JlKzB4M2MKIzEyIDB4ZmZmZmZmZmY4MGU3ZGRm NiBhdCBsaW51eF9wY2lfYXR0YWNoX2RldmljZSsweDJkNgojMTMgMHhmZmZmZmZmZjgwYzUzMDNh IGF0IGRldmljZV9hdHRhY2grMHgzY2EKIzE0IDB4ZmZmZmZmZmY4MGM1MmJlMCBhdCBkZXZpY2Vf cHJvYmVfYW5kX2F0dGFjaCsweDcwCiMxNSAweGZmZmZmZmZmODBjNTRhYjggYXQgYnVzX2dlbmVy aWNfZHJpdmVyX2FkZGVkKzB4NTgKIzE2IDB4ZmZmZmZmZmY4MGM1MDgzOSBhdCBkZXZjbGFzc19k cml2ZXJfYWRkZWQrMHgzOQojMTcgMHhmZmZmZmZmZjgwYzUwNzc3IGF0IGRldmNsYXNzX2FkZF9k cml2ZXIrMHgxNDcKU2xlZXBpbmcgb24gInRxX2RyYWluIiB3aXRoIHRoZSBmb2xsb3dpbmcgbm9u LXNsZWVwYWJsZSBsb2NrcyBoZWxkOgpleGNsdXNpdmUgc2xlZXAgbXV0ZXggdnRkZXYgKHZ0ZGV2 KSByID0gMCAoMHhmZmZmZmZmZjgxYWU5MGE4KSBsb2NrZWQgQCAvdXNyL3NyYy9zeXMvZGV2L3Z0 L3Z0X2NvcmUuYzozMDEyCnN0YWNrIGJhY2t0cmFjZToKIzAgMHhmZmZmZmZmZjgwYzg3ZjQxIGF0 IHdpdG5lc3NfZGVidWdnZXIrMHg3MQojMSAweGZmZmZmZmZmODBjODkwNWQgYXQgd2l0bmVzc193 YXJuKzB4NDBkCiMyIDB4ZmZmZmZmZmY4MGMyM2RlYiBhdCBfc2xlZXArMHg1YgojMyAweGZmZmZm ZmZmODBjN2FhM2IgYXQgdGFza3F1ZXVlX2RyYWluKzB4ZmIKIzQgMHhmZmZmZmZmZjgzNGRkMjUz IGF0IHZ0X2ttc19wb3N0c3dpdGNoKzB4NzMKIzUgMHhmZmZmZmZmZjgwYTY3YWZkIGF0IHZ0X2Zi X2luaXQrMHhmZAojNiAweGZmZmZmZmZmODBhNmYyMDggYXQgdnRfcmVwbGFjZV9iYWNrZW5kKzB4 MTE4CiM3IDB4ZmZmZmZmZmY4MGE2N2MwMyBhdCB2dF9mYl9hdHRhY2grMHgxMwojOCAweGZmZmZm ZmZmODM0ZGRlNTggYXQgbGludXhfcmVnaXN0ZXJfZnJhbWVidWZmZXIrMHg1ZTgKIzkgMHhmZmZm ZmZmZjgzNGU1NzY1IGF0IF9fZHJtX2ZiX2hlbHBlcl9pbml0aWFsX2NvbmZpZ19hbmRfdW5sb2Nr KzB4NDQ1CiMxMCAweGZmZmZmZmZmODMxOTRhYzAgYXQgaW50ZWxfZmJkZXZfaW5pdGlhbF9jb25m aWdfYXN5bmMrMHgyMAojMTEgMHhmZmZmZmZmZjgzMDc1N2I0IGF0IGk5MTVfZHJpdmVyX3Byb2Jl KzB4MTA5NAojMTIgMHhmZmZmZmZmZjgzMDg3NDdjIGF0IGk5MTVfcGNpX3Byb2JlKzB4M2MKIzEz IDB4ZmZmZmZmZmY4MGU3ZGRmNiBhdCBsaW51eF9wY2lfYXR0YWNoX2RldmljZSsweDJkNgojMTQg MHhmZmZmZmZmZjgwYzUzMDNhIGF0IGRldmljZV9hdHRhY2grMHgzY2EKIzE1IDB4ZmZmZmZmZmY4 MGM1MmJlMCBhdCBkZXZpY2VfcHJvYmVfYW5kX2F0dGFjaCsweDcwCiMxNiAweGZmZmZmZmZmODBj NTRhYjggYXQgYnVzX2dlbmVyaWNfZHJpdmVyX2FkZGVkKzB4NTgKIzE3IDB4ZmZmZmZmZmY4MGM1 MDgzOSBhdCBkZXZjbGFzc19kcml2ZXJfYWRkZWQrMHgzOQpsb2NrIG9yZGVyIHJldmVyc2FsOiAo R2lhbnQgYWZ0ZXIgbm9uLXNsZWVwYWJsZSkKIDFzdCAweGZmZmZmZmZmODFhZTkwYTggdnRkZXYg KHZ0ZGV2LCBzbGVlcCBtdXRleCkgQCAvdXNyL3NyYy9zeXMvZGV2L3Z0L3Z0X2NvcmUuYzozMDEy CiAybmQgMHhmZmZmZmZmZjgxYTAyOTQwIEdpYW50IChHaWFudCwgc2xlZXAgbXV0ZXgpIEAgL3Vz ci9zcmMvc3lzL2tlcm4va2Vybl9zeW5jaC5jOjIyOApsb2NrIG9yZGVyIEdpYW50IC0+IHZ0ZGV2 IGVzdGFibGlzaGVkIGF0OgojMCAweGZmZmZmZmZmODBjODczMWQgYXQgd2l0bmVzc19jaGVja29y ZGVyKzB4NDZkCiMxIDB4ZmZmZmZmZmY4MGJmM2ZhNCBhdCBfX210eF9sb2NrX2ZsYWdzKzB4OTQK IzIgMHhmZmZmZmZmZjgwYTZlN2YzIGF0IHZ0X3VwZ3JhZGUrMHgzNjMKIzMgMHhmZmZmZmZmZjgw YmEyN2ZjIGF0IG1pX3N0YXJ0dXArMHhlYwojNCAweGZmZmZmZmZmODAzODIwMmMgYXQgYnRleHQr MHgyYwpsb2NrIG9yZGVyIHZ0ZGV2IC0+IEdpYW50IGF0dGVtcHRlZCBhdDoKIzAgMHhmZmZmZmZm ZjgwYzg3YzdjIGF0IHdpdG5lc3NfY2hlY2tvcmRlcisweGRjYwojMSAweGZmZmZmZmZmODBiZjNm YTQgYXQgX19tdHhfbG9ja19mbGFncysweDk0CiMyIDB4ZmZmZmZmZmY4MGMyNDBkZiBhdCBfc2xl ZXArMHgzNGYKIzMgMHhmZmZmZmZmZjgwYzdhYTNiIGF0IHRhc2txdWV1ZV9kcmFpbisweGZiCiM0 IDB4ZmZmZmZmZmY4MzRkZDI1MyBhdCB2dF9rbXNfcG9zdHN3aXRjaCsweDczCiM1IDB4ZmZmZmZm ZmY4MGE2N2FmZCBhdCB2dF9mYl9pbml0KzB4ZmQKIzYgMHhmZmZmZmZmZjgwYTZmMjA4IGF0IHZ0 X3JlcGxhY2VfYmFja2VuZCsweDExOAojNyAweGZmZmZmZmZmODBhNjdjMDMgYXQgdnRfZmJfYXR0 YWNoKzB4MTMKIzggMHhmZmZmZmZmZjgzNGRkZTU4IGF0IGxpbnV4X3JlZ2lzdGVyX2ZyYW1lYnVm ZmVyKzB4NWU4CiM5IDB4ZmZmZmZmZmY4MzRlNTc2NSBhdCBfX2RybV9mYl9oZWxwZXJfaW5pdGlh bF9jb25maWdfYW5kX3VubG9jaysweDQ0NQojMTAgMHhmZmZmZmZmZjgzMTk0YWMwIGF0IGludGVs X2ZiZGV2X2luaXRpYWxfY29uZmlnX2FzeW5jKzB4MjAKIzExIDB4ZmZmZmZmZmY4MzA3NTdiNCBh dCBpOTE1X2RyaXZlcl9wcm9iZSsweDEwOTQKIzEyIDB4ZmZmZmZmZmY4MzA4NzQ3YyBhdCBpOTE1 X3BjaV9wcm9iZSsweDNjCiMxMyAweGZmZmZmZmZmODBlN2RkZjYgYXQgbGludXhfcGNpX2F0dGFj aF9kZXZpY2UrMHgyZDYKIzE0IDB4ZmZmZmZmZmY4MGM1MzAzYSBhdCBkZXZpY2VfYXR0YWNoKzB4 M2NhCiMxNSAweGZmZmZmZmZmODBjNTJiZTAgYXQgZGV2aWNlX3Byb2JlX2FuZF9hdHRhY2grMHg3 MAojMTYgMHhmZmZmZmZmZjgwYzU0YWI4IGF0IGJ1c19nZW5lcmljX2RyaXZlcl9hZGRlZCsweDU4 CiMxNyAweGZmZmZmZmZmODBjNTA4MzkgYXQgZGV2Y2xhc3NfZHJpdmVyX2FkZGVkKzB4MzkKc3Rh cnQgRkJfSU5GTzoKdHlwZT0xMSBoZWlnaHQ9MjE2MCB3aWR0aD0zODQwIGRlcHRoPTMyCmNtc2l6 ZT0xNiBzaXplPTMzMTc3NjAwCnBiYXNlPTB4NDAwMDM0MDAwMCB2YmFzZT0weGZmZmZmZTAxMjk5 NDAwMDAKbmFtZT1kcm1uMCBmbGFncz0weDAgc3RyaWRlPTE1MzYwIGJwcD0zMgpjbWFwWzBdPTAg Y21hcFsxXT03ZjAwMDAgY21hcFsyXT03ZjAwIGNtYXBbM109YzRhMDAwCmVuZCBGQl9JTkZPCmRy bW4wOiBmYjA6IGk5MTVkcm1mYiBmcmFtZSBidWZmZXIgZGV2aWNlCnBhbmljOiBBc3NlcnRpb24g dm1fb2JqZWN0X2J1c2llZCgobS0+b2JqZWN0KSkgZmFpbGVkIGF0IC91c3Ivc3JjL3N5cy92bS92 bV9wYWdlLmM6NTQ1NQpjcHVpZCA9IDMKdGltZSA9IDE2MjM4MTM1ODAKS0RCOiBzdGFjayBiYWNr dHJhY2U6CmRiX3RyYWNlX3NlbGZfd3JhcHBlcigpIGF0IGRiX3RyYWNlX3NlbGZfd3JhcHBlcisw eDJiL2ZyYW1lIDB4ZmZmZmZlMDExMzU2YjU5MAp2cGFuaWMoKSBhdCB2cGFuaWMrMHgxODEvZnJh bWUgMHhmZmZmZmUwMTEzNTZiNWUwCnBhbmljKCkgYXQgcGFuaWMrMHg0My9mcmFtZSAweGZmZmZm ZTAxMTM1NmI2NDAKdm1fcGFnZV9vYmplY3RfYnVzeV9hc3NlcnQoKSBhdCB2bV9wYWdlX29iamVj dF9idXN5X2Fzc2VydCsweDQ0L2ZyYW1lIDB4ZmZmZmZlMDExMzU2YjY1MApwbWFwX2VudGVyKCkg YXQgcG1hcF9lbnRlcisweDEwNS9mcmFtZSAweGZmZmZmZTAxMTM1NmI3MDAKdm1fZmF1bHRfY3B1 KCkgYXQgdm1fZmF1bHRfY3B1KzB4MjNkL2ZyYW1lIDB4ZmZmZmZlMDExMzU2Yjc2MApsaW51eF9j ZGV2X3BhZ2VyX3BvcHVsYXRlKCkgYXQgbGludXhfY2Rldl9wYWdlcl9wb3B1bGF0ZSsweDE1Zi9m cmFtZSAweGZmZmZmZTAxMTM1NmI3ZDAKdm1fZmF1bHRfYWxsb2NhdGUoKSBhdCB2bV9mYXVsdF9h bGxvY2F0ZSsweDMxMC9mcmFtZSAweGZmZmZmZTAxMTM1NmI4MzAKdm1fZmF1bHQoKSBhdCB2bV9m YXVsdCsweDUwZS9mcmFtZSAweGZmZmZmZTAxMTM1NmI5NDAKdm1fZmF1bHRfdHJhcCgpIGF0IHZt X2ZhdWx0X3RyYXArMHg3MS9mcmFtZSAweGZmZmZmZTAxMTM1NmI5ODAKdHJhcF9wZmF1bHQoKSBh dCB0cmFwX3BmYXVsdCsweDI0Ni9mcmFtZSAweGZmZmZmZTAxMTM1NmI5ZTAKdHJhcCgpIGF0IHRy YXArMHg0NWYvZnJhbWUgMHhmZmZmZmUwMTEzNTZiYWYwCmNhbGx0cmFwKCkgYXQgY2FsbHRyYXAr MHg4L2ZyYW1lIDB4ZmZmZmZlMDExMzU2YmFmMAotLS0gdHJhcCAweGMsIHJpcCA9IDB4ODAyYzYy MjY1LCByc3AgPSAweDdmZmZmZmZmZGM0MCwgcmJwID0gMHg3ZmZmZmZmZmRjNTAgLS0tCktEQjog ZW50ZXI6IHBhbmljClVwdGltZTogMTJtNDVzCkR1bXBpbmcgOTI2IG91dCBvZiAxNTk4NSBNQjou LjIlLi4xMSUuLjIxJS4uMzIlLi40MiUuLjUxJS4uNjElLi43MSUuLjgyJS4uOTIlCgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0Ka2VybmVsIGNvbmZpZwoKb3B0aW9ucwlDT05GSUdfQVVUT0dFTkVSQVRFRAppZGVu dAlHRU5FUklDCm1hY2hpbmUJYW1kNjQKY3B1CUhBTU1FUgptYWtlb3B0aW9ucwlXSVRIX0NURj0x Cm1ha2VvcHRpb25zCURFQlVHPS1nCm9wdGlvbnMJSUlDSElEX1NBTVBMSU5HCm9wdGlvbnMJSElE X0RFQlVHCm9wdGlvbnMJRVZERVZfU1VQUE9SVApvcHRpb25zCVhFTkhWTQpvcHRpb25zCVVTQl9E RUJVRwpvcHRpb25zCUFUSF9FTkFCTEVfMTFOCm9wdGlvbnMJQUhfQVI1NDE2X0lOVEVSUlVQVF9N SVRJR0FUSU9OCm9wdGlvbnMJSUVFRTgwMjExX1NVUFBPUlRfTUVTSApvcHRpb25zCUlFRUU4MDIx MV9ERUJVRwpvcHRpb25zCVNDX1BJWEVMX01PREUKb3B0aW9ucwlWRVNBCm9wdGlvbnMJQ09NUEFU X0xJTlVYS1BJCm9wdGlvbnMJUENJX0lPVgpvcHRpb25zCVBDSV9IUApvcHRpb25zCUlPTU1VCm9w dGlvbnMJRUFSTFlfQVBfU1RBUlRVUApvcHRpb25zCVNNUApvcHRpb25zCU5FVEdEQgpvcHRpb25z CU5FVERVTVAKb3B0aW9ucwlERUJVR05FVApvcHRpb25zCVpTVERJTwpvcHRpb25zCUdaSU8Kb3B0 aW9ucwlFS0NECm9wdGlvbnMJVkVSQk9TRV9TWVNJTklUPTAKb3B0aW9ucwlNQUxMT0NfREVCVUdf TUFYWk9ORVM9OApvcHRpb25zCVdJVE5FU1NfU0tJUFNQSU4Kb3B0aW9ucwlXSVRORVNTCm9wdGlv bnMJUVVFVUVfTUFDUk9fREVCVUdfVFJBU0gKb3B0aW9ucwlJTlZBUklBTlRfU1VQUE9SVApvcHRp b25zCUlOVkFSSUFOVFMKb3B0aW9ucwlERUFETEtSRVMKb3B0aW9ucwlHREIKb3B0aW9ucwlGVUxM X0JVRl9UUkFDS0lORwpvcHRpb25zCUREQgpvcHRpb25zCUJVRl9UUkFDS0lORwpvcHRpb25zCUtE Ql9UUkFDRQpvcHRpb25zCUtEQgpvcHRpb25zCVJDVEwKb3B0aW9ucwlSQUNDVF9ERUZBVUxUX1RP X0RJU0FCTEVECm9wdGlvbnMJUkFDQ1QKb3B0aW9ucwlJTkNMVURFX0NPTkZJR19GSUxFCm9wdGlv bnMJRERCX0NURgpvcHRpb25zCUtEVFJBQ0VfSE9PS1MKb3B0aW9ucwlLRFRSQUNFX0ZSQU1FCm9w dGlvbnMJTUFDCm9wdGlvbnMJQ0FQQUJJTElUSUVTCm9wdGlvbnMJQ0FQQUJJTElUWV9NT0RFCm9w dGlvbnMJQVVESVQKb3B0aW9ucwlIV1BNQ19IT09LUwpvcHRpb25zCUtCRF9JTlNUQUxMX0NERVYK b3B0aW9ucwlQUklOVEZfQlVGUl9TSVpFPTEyOApvcHRpb25zCV9LUE9TSVhfUFJJT1JJVFlfU0NI RURVTElORwpvcHRpb25zCVNZU1ZTRU0Kb3B0aW9ucwlTWVNWTVNHCm9wdGlvbnMJU1lTVlNITQpv cHRpb25zCVNUQUNLCm9wdGlvbnMJS1RSQUNFCm9wdGlvbnMJU0NTSV9ERUxBWT01MDAwCm9wdGlv bnMJQ09NUEFUX0ZSRUVCU0QxMgpvcHRpb25zCUNPTVBBVF9GUkVFQlNEMTEKb3B0aW9ucwlDT01Q QVRfRlJFRUJTRDEwCm9wdGlvbnMJQ09NUEFUX0ZSRUVCU0Q5Cm9wdGlvbnMJQ09NUEFUX0ZSRUVC U0Q3Cm9wdGlvbnMJQ09NUEFUX0ZSRUVCU0Q2Cm9wdGlvbnMJQ09NUEFUX0ZSRUVCU0Q1Cm9wdGlv bnMJQ09NUEFUX0ZSRUVCU0Q0Cm9wdGlvbnMJQ09NUEFUX0ZSRUVCU0QzMgpvcHRpb25zCUVGSVJU Cm9wdGlvbnMJR0VPTV9MQUJFTApvcHRpb25zCUdFT01fUkFJRApvcHRpb25zCVRNUEZTCm9wdGlv bnMJUFNFVURPRlMKb3B0aW9ucwlQUk9DRlMKb3B0aW9ucwlDRDk2NjAKb3B0aW9ucwlNU0RPU0ZT Cm9wdGlvbnMJTkZTX1JPT1QKb3B0aW9ucwlORlNMT0NLRApvcHRpb25zCU5GU0QKb3B0aW9ucwlO RlNDTApvcHRpb25zCU1EX1JPT1QKb3B0aW9ucwlRVU9UQQpvcHRpb25zCVVGU19HSk9VUk5BTApv cHRpb25zCVVGU19ESVJIQVNICm9wdGlvbnMJVUZTX0FDTApvcHRpb25zCVNPRlRVUERBVEVTCm9w dGlvbnMJRkZTCm9wdGlvbnMJS0VSTl9UTFMKb3B0aW9ucwlTQ1RQX1NVUFBPUlQKb3B0aW9ucwlU Q1BfUkZDNzQxMwpvcHRpb25zCVRDUF9ISE9PSwpvcHRpb25zCVRDUF9CTEFDS0JPWApvcHRpb25z CVRDUF9PRkZMT0FECm9wdGlvbnMJRklCX0FMR08Kb3B0aW9ucwlST1VURV9NUEFUSApvcHRpb25z CUlQU0VDX1NVUFBPUlQKb3B0aW9ucwlJTkVUNgpvcHRpb25zCUlORVQKb3B0aW9ucwlWSU1BR0UK b3B0aW9ucwlQUkVFTVBUSU9OCm9wdGlvbnMJTlVNQQpvcHRpb25zCVNDSEVEX1VMRQpvcHRpb25z CU5FV19QQ0lCCm9wdGlvbnMJR0VPTV9QQVJUX0dQVApvcHRpb25zCUdFT01fUEFSVF9NQlIKb3B0 aW9ucwlHRU9NX1BBUlRfRUJSCm9wdGlvbnMJR0VPTV9QQVJUX0JTRApkZXZpY2UJaXNhCmRldmlj ZQltZW0KZGV2aWNlCWlvCmRldmljZQl1YXJ0X25zODI1MApkZXZpY2UJY3B1ZnJlcQpkZXZpY2UJ YWNwaQpkZXZpY2UJc21iaW9zCmRldmljZQlwY2kKZGV2aWNlCWZkYwpkZXZpY2UJYWhjaQpkZXZp Y2UJYXRhCmRldmljZQltdnMKZGV2aWNlCXNpaXMKZGV2aWNlCWFoYwpkZXZpY2UJYWhkCmRldmlj ZQllc3AKZGV2aWNlCWhwdGlvcApkZXZpY2UJaXNwCmRldmljZQltcHQKZGV2aWNlCW1wcwpkZXZp Y2UJbXByCmRldmljZQlzeW0KZGV2aWNlCWlzY2kKZGV2aWNlCW9jc19mYwpkZXZpY2UJcHZzY3Np CmRldmljZQlzY2J1cwpkZXZpY2UJY2gKZGV2aWNlCWRhCmRldmljZQlzYQpkZXZpY2UJY2QKZGV2 aWNlCXBhc3MKZGV2aWNlCXNlcwpkZXZpY2UJYW1yCmRldmljZQlhcmNtc3IKZGV2aWNlCWNpc3MK ZGV2aWNlCWlpcgpkZXZpY2UJaXBzCmRldmljZQltbHkKZGV2aWNlCXR3YQpkZXZpY2UJc21hcnRw cWkKZGV2aWNlCXR3cwpkZXZpY2UJYWFjCmRldmljZQlhYWNwCmRldmljZQlhYWNyYWlkCmRldmlj ZQlpZGEKZGV2aWNlCW1maQpkZXZpY2UJbWx4CmRldmljZQltcnNhcwpkZXZpY2UJcG1zcGN2CmRl dmljZQl0d2UKZGV2aWNlCW52bWUKZGV2aWNlCW52ZApkZXZpY2UJdm1kCmRldmljZQl2bWRfYnVz CmRldmljZQlhdGtiZGMKZGV2aWNlCWF0a2JkCmRldmljZQlwc20KZGV2aWNlCWtiZG11eApkZXZp Y2UJdmdhCmRldmljZQlzcGxhc2gKZGV2aWNlCXNjCmRldmljZQl2dApkZXZpY2UJdnRfdmdhCmRl dmljZQl2dF9lZmlmYgpkZXZpY2UJdnRfdmJlZmIKZGV2aWNlCWFncApkZXZpY2UJY2JiCmRldmlj ZQlwY2NhcmQKZGV2aWNlCWNhcmRidXMKZGV2aWNlCXVhcnQKZGV2aWNlCXBwYwpkZXZpY2UJcHBi dXMKZGV2aWNlCWxwdApkZXZpY2UJcHBpCmRldmljZQlwdWMKZGV2aWNlCWlmbGliCmRldmljZQll bQpkZXZpY2UJaXgKZGV2aWNlCWl4dgpkZXZpY2UJaXhsCmRldmljZQlpYXZmCmRldmljZQlpY2UK ZGV2aWNlCXZteApkZXZpY2UJYXhwCmRldmljZQlieGUKZGV2aWNlCWxlCmRldmljZQl0aQpkZXZp Y2UJbWx4NQpkZXZpY2UJbWx4ZncKZGV2aWNlCW1seDVlbgpkZXZpY2UJbWlpYnVzCmRldmljZQlh ZQpkZXZpY2UJYWdlCmRldmljZQlhbGMKZGV2aWNlCWFsZQpkZXZpY2UJYmNlCmRldmljZQliZmUK ZGV2aWNlCWJnZQpkZXZpY2UJY2FzCmRldmljZQlkYwpkZXZpY2UJZXQKZGV2aWNlCWZ4cApkZXZp Y2UJZ2VtCmRldmljZQlqbWUKZGV2aWNlCWxnZQpkZXZpY2UJbXNrCmRldmljZQluZmUKZGV2aWNl CW5nZQpkZXZpY2UJcmUKZGV2aWNlCXJsCmRldmljZQlzZ2UKZGV2aWNlCXNpcwpkZXZpY2UJc2sK ZGV2aWNlCXN0ZQpkZXZpY2UJc3RnZQpkZXZpY2UJdmdlCmRldmljZQl2cgpkZXZpY2UJeGwKZGV2 aWNlCXdsYW4KZGV2aWNlCXdsYW5fd2VwCmRldmljZQl3bGFuX2NjbXAKZGV2aWNlCXdsYW5fdGtp cApkZXZpY2UJd2xhbl9hbXJyCmRldmljZQlhbgpkZXZpY2UJYXRoCmRldmljZQlhdGhfcGNpCmRl dmljZQlhdGhfaGFsCmRldmljZQlhdGhfcmF0ZV9zYW1wbGUKZGV2aWNlCWlwdwpkZXZpY2UJaXdp CmRldmljZQlpd24KZGV2aWNlCW1hbG8KZGV2aWNlCW13bApkZXZpY2UJcmFsCmRldmljZQl3cGkK ZGV2aWNlCWNyeXB0bwpkZXZpY2UJYWVzbmkKZGV2aWNlCWxvb3AKZGV2aWNlCXBhZGxvY2tfcm5n CmRldmljZQlyZHJhbmRfcm5nCmRldmljZQlldGhlcgpkZXZpY2UJdmxhbgpkZXZpY2UJdHVudGFw CmRldmljZQltZApkZXZpY2UJZ2lmCmRldmljZQlmaXJtd2FyZQpkZXZpY2UJeHoKZGV2aWNlCWJw ZgpkZXZpY2UJdWhjaQpkZXZpY2UJb2hjaQpkZXZpY2UJZWhjaQpkZXZpY2UJeGhjaQpkZXZpY2UJ dXNiCmRldmljZQl1a2JkCmRldmljZQl1bWFzcwpkZXZpY2UJc291bmQKZGV2aWNlCXNuZF9jbWkK ZGV2aWNlCXNuZF9jc2EKZGV2aWNlCXNuZF9lbXUxMGt4CmRldmljZQlzbmRfZXMxMzd4CmRldmlj ZQlzbmRfaGRhCmRldmljZQlzbmRfaWNoCmRldmljZQlzbmRfdmlhODIzMwpkZXZpY2UJbW1jCmRl dmljZQltbWNzZApkZXZpY2UJc2RoY2kKZGV2aWNlCXJ0c3gKZGV2aWNlCXZpcnRpbwpkZXZpY2UJ dmlydGlvX3BjaQpkZXZpY2UJdnRuZXQKZGV2aWNlCXZpcnRpb19ibGsKZGV2aWNlCXZpcnRpb19z Y3NpCmRldmljZQl2aXJ0aW9fYmFsbG9vbgpkZXZpY2UJaHlwZXJ2CmRldmljZQl4ZW5wY2kKZGV2 aWNlCW5ldG1hcApkZXZpY2UJZXZkZXYKZGV2aWNlCXVpbnB1dApkZXZpY2UJaGlkCgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KZGRiIGNhcHR1cmUgYnVmZmVyCgoK --=_6c746e1972af0f709cf78dfbb7dd9b08-- From nobody Wed Jun 16 07:35:54 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 6DF2E11DD193 for ; Wed, 16 Jun 2021 07:36:07 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4cS7251vz4phc; Wed, 16 Jun 2021 07:36:06 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id BA91E260215; Wed, 16 Jun 2021 09:35:57 +0200 (CEST) Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 To: Neel Chauhan , current@freebsd.org References: From: Hans Petter Selasky Message-ID: Date: Wed, 16 Jun 2021 09:35:54 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G4cS7251vz4phc X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N On 6/16/21 5:36 AM, Neel Chauhan wrote: > Hi current@, > > First off, sorry if I spammed developers@ and other mailing lists with > my previous message, and to bz@/hselasky@/manu@ sent so many duplicate > emails. > > Right now, I am attempting to update the drm-kmod driver to the Linux > 5.7 code, and am having an issue with the pmap lock. I am new-ish to the > kernel, meaning not a whole lot of "experience", but do have patches in > src. > > But like it not we need kernel newbies, they're the next generation of > experts. If we don't, we'd be the next Minix with **zero** development > since Tanenbaum retired. > > Going back, the code in question is here: > https://github.com/neelchauhan/drm-kmod/blob/5.7-wip/drivers/gpu/drm/i915/gem/i915_gem_mman.c#L346 > > > The lines important are 346-356, but lines of interest are also the > non-"#ifdef __linux__" sections of vm_fault_cpu(). > > The code gives this error: panic: Assertion > vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 > > I have attached the core dump log. > > To those who aren't graphics driver experts, it happens when I load Xorg > when Xorg attempts to map the I/O to userspace. But I feel this is more > of me not using page locks correctly (which is needed for the pmap), or > maybe a linuxkpi issue, rather than a graphics-specific issue. > > I spent days on this (all my non-$DAYJOB hours at one point + all my > weekends) and haven't figured out the locks completely. Does anyone have > suggestions to what I'm doing wrong in my code and locks? > > If it is important, OpenBSD's version of this code is here: > https://github.com/openbsd/src/blob/2207c4325726fdc5c4bcd0011af0fdf7d3dab137/sys/dev/pci/drm/i915/gem/i915_gem_mman.c#L459 > (lines 459-523, but some calls are unsurprisingly different). > > Hope you all can help. Hi, Do you have the full backtrace? Doesn't this code work in the current DRM - kmod? What changed? Did you perhaps miss a patch? --HPS From nobody Wed Jun 16 15:28:20 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C9B0B11DB621 for ; Wed, 16 Jun 2021 15:28:29 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from rainpuddle.neelc.org (locks.neelc.org [158.51.84.233]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4px94cfjz4ZSb for ; Wed, 16 Jun 2021 15:28:29 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from mail.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) by rainpuddle.neelc.org (Postfix) with ESMTPSA id 6BA4389171; Wed, 16 Jun 2021 08:28:20 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Date: Wed, 16 Jun 2021 08:28:20 -0700 From: Neel Chauhan To: Hans Petter Selasky Cc: current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 In-Reply-To: References: User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: nc@FreeBSD.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G4px94cfjz4ZSb X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N Hi, On 2021-06-16 00:35, Hans Petter Selasky wrote: > Do you have the full backtrace? Yes. I have attached a stack trace in the previous email, but if you didn't get it, I have uploaded it to GitHub: https://gist.github.com/neelchauhan/437bd10239f84c563aafb37ab440029a > Doesn't this code work in the current DRM - kmod? What changed? Did > you perhaps miss a patch? I think there is new code with Linux 5.6 which changes how this is done. I have been attempting to make a FreeBSD equivalent, but it panics. It is **not** from missing Linux commits since I believe I added them all. The code in my GH repo: https://github.com/neelchauhan/drm-kmod/blob/5.7-wip/drivers/gpu/drm/i915/gem/i915_gem_mman.c#L346 > --HPS -Neel (nc@) From nobody Wed Jun 16 16:17:50 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 52ED611DFB24 for ; Wed, 16 Jun 2021 16:18:07 +0000 (UTC) (envelope-from lizbethmutterhunt@gmail.com) Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4r2Q4dsMz4h7k for ; Wed, 16 Jun 2021 16:18:06 +0000 (UTC) (envelope-from lizbethmutterhunt@gmail.com) Received: by mail-il1-x12c.google.com with SMTP id q18so2816069ile.10 for ; Wed, 16 Jun 2021 09:18:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=zvX0X4bsBsrfoNhd5KrijY+tO0mkyWsMbC4qTLxPmAM=; b=aMXZjz0xo/WloaxDyoMkERM1JmlmHJ9LEyzNdYDhm+E16r1Xv1P6i1xxeEg9yXKwaa rVXZ410cVTrsoANT5ajpC18KJiUdn8ZwyZAq++SOq6ExzPwQdkQdQ7nx4eyAS5sTlXxa uCUVon90WWdoYNYflgQ8VY5zvHd2lI0QufyZEqUPPXwwPMh7dhuY3O33yG5NTpg05165 SBA8gNFHtsJAOQ+Cjao6VVZo207vfZlaJqsrUMLIu10F4fNsz0WBJYUEd5P0GHHwBjVk toQojwVIHUOOWh4fHwv3ydxeXt6EKIwRKqh4sWAk8FJej33VGjE3D08Gdq2K8/5uWlSY +p1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=zvX0X4bsBsrfoNhd5KrijY+tO0mkyWsMbC4qTLxPmAM=; b=POfwUYX827PXW+jzc9pXJQm6fd1SBXgAnowZgdNZ/ofOu9etWduNvx1sZhrm9g1seM P3hfrbrIu1JzY2fnrJ7c36atwNSE7O4+vt2r8JRZNJ51/75xqdG7epYmF7TQYc8iiCVI zYpxkY5FCouSYZCV6arpAidn1tHnJb4LYVqno99EW2EUIfBGj+IS6dtts9xFXKwOrKT9 OHE17PuTlPNc5DEcjy2V84vW5Ox1giSGLt6CdgD0cvhkoURj0HVssYrEQb/uBWiL+8d1 eqKSzcl97YkitK9gepqE/oM3VbWhz1qtEc9sNUuSkWXDaa+VekS8iSdtRKccwmj9PsoQ 16CA== X-Gm-Message-State: AOAM533yzKkr6+j6bB4P36GxcKcarRlDYn9BfYi/3un+AwY4SpjPl3NS sUHwxQ0AC+1d/nlFa1hz0ux7hYzh5zaRNADDyQ2Ty9onb1g= X-Google-Smtp-Source: ABdhPJy2OMhbFW0mmwfgEzd9GGGQW/A+1IVsRz7tI0EqVb1Oas2/zoMOejpkLKmDqudyEjSz5quqWnGrsWxqNcbVtgk= X-Received: by 2002:a05:6e02:13ad:: with SMTP id h13mr326933ilo.128.1623860284952; Wed, 16 Jun 2021 09:18:04 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 From: "Lizbeth Mutterhunt, Ph.D" Date: Wed, 16 Jun 2021 18:17:50 +0200 Message-ID: Subject: akonadiconsole and SQL 57 To: Current FreeBSD Content-Type: multipart/alternative; boundary="00000000000073138605c4e46f9d" X-Rspamd-Queue-Id: 4G4r2Q4dsMz4h7k X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=aMXZjz0x; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of lizbethmutterhunt@gmail.com designates 2607:f8b0:4864:20::12c as permitted sender) smtp.mailfrom=lizbethmutterhunt@gmail.com X-Spamd-Result: default: False [-0.01 / 15.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RBL_DBL_DONT_QUERY_IPS(0.00)[2607:f8b0:4864:20::12c:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[2607:f8b0:4864:20::12c:from:127.0.2.255]; NEURAL_SPAM_SHORT(0.99)[0.988]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::12c:from]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-current] X-ThisMailContainsUnwantedMimeParts: Y --00000000000073138605c4e46f9d Content-Type: text/plain; charset="UTF-8" hi people, first at the moment I have to short-cut my web as not at home and /etc/rc.conf doesn't take my wlan0 interface; I changed rooter IP to 192.168.8.1 and edited /etc/wpa_supplicant.conf. but still at booting the field with the web stays "". I have mysql at startup. after recent update on my grandmas notebook I have problems with loading kmail. Here's an excerpt of kmail start: org.kde.pim.akonadiserver: Running DB initializer org.kde.pim.akonadiserver: DB initializer done Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) Assertion failed: (param->buffer_length != 0), function setup_one_fetch_function, file /wrkdirs/usr/ports/databases/mysql57-client/work/mysql-5.7.34/libmysql/libmysql.c, line 4112. QSocketNotifier: Invalid socket 6 and type 'Read', disabling... KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = akonadiserver path = /usr/local/bin pid = 5695 KCrash: Arguments: /usr/local/bin/akonadiserver KCrash: Attempting to start /usr/local/lib/libexec/drkonqi akonaditest: org.kde.pim.akonadiserver: Failed to connect to database! org.kde.pim.akonadiserver: Database error: "Can't connect to local MySQL server through socket '/var/run/user/1001/akonadi/mysql.socket' (2) QMYSQL: Unable to connect" org.kde.pim.akonadiserver: Shutting down AkonadiServer... when reopening the akonadi-console I don't get a connection to PAM and can't enter my password. User 1001 doesn't exist, maybe SQL group? I had a quite similiar problem one update before in march from sql-client and sql-to be solved with a simple Q in [MYSQL] the local SQL-config; but this time it is much more trickier. any help? lizbeth --00000000000073138605c4e46f9d-- From nobody Wed Jun 16 18:10:11 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id DCEC111C8148 for ; Wed, 16 Jun 2021 18:10:17 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4tWs5HK7z4t4K; Wed, 16 Jun 2021 18:10:17 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 71416260360; Wed, 16 Jun 2021 20:10:14 +0200 (CEST) Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 To: Neel Chauhan Cc: current@freebsd.org, Jeff Roberson References: From: Hans Petter Selasky Message-ID: Date: Wed, 16 Jun 2021 20:10:11 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G4tWs5HK7z4t4K X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N Hi Neel, On 6/16/21 5:28 PM, Neel Chauhan wrote: > Hi, > > On 2021-06-16 00:35, Hans Petter Selasky wrote: >> Do you have the full backtrace? > > Yes. > > I have attached a stack trace in the previous email, but if you didn't > get it, I have uploaded it to GitHub: > https://gist.github.com/neelchauhan/437bd10239f84c563aafb37ab440029a > >> Doesn't this code work in the current DRM - kmod? What changed? Did >> you perhaps miss a patch? > > I think there is new code with Linux 5.6 which changes how this is done. > > I have been attempting to make a FreeBSD equivalent, but it panics. It > is **not** from missing Linux commits since I believe I added them all. > > The code in my GH repo: > https://github.com/neelchauhan/drm-kmod/blob/5.7-wip/drivers/gpu/drm/i915/gem/i915_gem_mman.c#L346 > I think the following changes are needed. CC'ing Jeff. > for_each_sg_page(pages->sgl, &sg_iter, pages->nents, 0) { > pmap_t pmap = vm_map_pmap(map); > struct vm_page *pa = sg_page_iter_page(&sg_iter); > VM_OBJECT_RLOCK(pa->object); Try adding this: vm_object_busy(pa->object); > if (pmap_enter(pmap, va, pa, 0, flags, 0)) { Try adding this: vm_object_unbusy(pa->object); VM_OBJECT_RUNLOCK(pa->object); > err = -ENOMEM; > break; > } Try adding this: vm_object_unbusy(pa->object); > VM_OBJECT_RUNLOCK(pa->object); > va += PAGE_SIZE; --HPS From nobody Wed Jun 16 19:17:49 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 488CC11CB692 for ; Wed, 16 Jun 2021 19:17:57 +0000 (UTC) (envelope-from shoesoft@gmx.net) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4w1w6CjKz3FMv for ; Wed, 16 Jun 2021 19:17:56 +0000 (UTC) (envelope-from shoesoft@gmx.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1623871074; bh=K2s/Ty+3X5MQYT2gDf25Fb4UmLyLW5sq4/QySvNBR4I=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=lRJT7N6Ir8F2GVhtphoV+GSE7Wd5ITHTH4hNQI9vI4KvleVRemba2DNs+sNQtV4Ju uE18jjS5uvQOnZBG3KfIcr/XLc2jjds4mzMLC45iL0FcVnr6NNywG+TDHui/1+EQ7F dLY0GLSLwtCmvZcxu+Qz+D11nvpmJX9VQ6dDt7oQ= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from walrus.pepperland ([81.217.72.171]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MIdeR-1m8DdH0NO9-00EcQl; Wed, 16 Jun 2021 21:17:54 +0200 From: Stefan Ehmann To: freebsd-current@freebsd.org Cc: lizbethmutterhunt@gmail.com Subject: Re: akonadiconsole and SQL 57 Date: Wed, 16 Jun 2021 21:17:49 +0200 Message-ID: <3983042.7uomWq8hyV@walrus.pepperland> In-Reply-To: References: List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K1:vkBv3drh3iUHid6lvicpGyBs5UlgRGPzWQpdi/1hn0yMPaMjh+K 9EazRZJfpRMpCEISWXQPBG+0UIJ1R4O3oI9+kJEYbIFmkzTv8pgxf002OobmOzKzJ0aCouV xTiX167T8HAGblE6HKQZqkFUswmQPXCCn5jbmooCnoPLECsdfVBp3bGmO5+JutRzZ7OxzbN a1fQigs0e33gMD+0mJKHw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:X9j2BK9Qyk0=:wursziu+09k/x+1ZZm4HQl Y3pAD/qctttF3mgRlWPkfcmxxWVxEvI4lR/mrXx8cfgPG2cYpzIcfAnAtK0vcAk9nGlKQ/HXT 6BAeIAYxRcSC6hOR2AUGpqBqBmqUKVpeZetw0NOGCc8kDfW1ZRVHfYNzgi0MWM5FqEt/LqGlZ 73NScHxRDS1GJCF6fNBEuDcLgSZnEhZWZV5oGJUUX6kabGqpGYPfTmT3P06RjZTkbgsoSIcxU 0xldj9DnlhqThBtqEflO+HKqN+7lKgHwieeHXIDFNzyKxpwci5YAylfnjkOoHFD5k25ziPgRr NhfKOKt+743jtQJa7clcbxLgPBL9h5kpjUTkdsR657DHlulzSdHelm3GmDcLy7l+suUgf/SfS lhhBIV2wt9tEihZ5Dxd3GIko2zRKD70bFnQzxyWkG1NJWE2Dapg6z+v0J9iuHxkfyh9X/tPya 3MYItmTVZKLggRi1oqs/dnbIsgC8ZaJPxjfT5J4W/tDtWmEVoST8MYL6plAjzdcG/1BL/Fvnq c7PjV6CVVIbc0eSUWqgpxM7vSyprRA8yFzcUj3+a0ShsyILBjjTCybOEO8DAVh5nsCtYhSL+0 gh1KLzUrSkUvRvhAN5QyNc/6WX5+a1wktASVBPn+TXFHzmc02okdvIhfjop0C8hpPxSalo1qo wJ0uJVIufd2X0+TZaHwhDIT6Q2YptDBBhSpnuN2fRMSKTatQMjS0tmHmJor0n6pJa8P22iH1w 7tKyi3Bn2+sMNLbEMl7/tO4ts+Z8cbtA85Wb+xk+IxUWAwK3HaY55L1AT3A58bffv80J6tDkX qrsfIBRj1JsWWOgXmDrRxzOmiCv4jEbcTBMWbDlZo0MfcKM5CnqmvqkFtBgBJIF3HNesi1hGw zAemmF/NY9x2U9F3uC+iMsnHtyXlc9fChpRS3o6VhhpRQmWwvVkmtxiHKoBBPoBAbnLozFyc3 DT8wifk39CI5VYBP3OXoF7ag/XZnL4lmJbEVS1L7jhwBqAMBytSkTLNslYfWjY+Lsg4yEWxzO ARs90n22Bmqm5bwP5INzaqlAScoBYv9IgbC3WBmTL3G/OQ/1iWzn1HjSLsNExIOmM1ZU7y7Uj FDqmEmH1eLj0zo7Ms1d8NkG2nHOtFtu3a4G X-Rspamd-Queue-Id: 4G4w1w6CjKz3FMv X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On Wednesday, June 16, 2021 6:17:50 PM CEST Lizbeth Mutterhunt, Ph.D wrote= : > hi people, > > first at the moment I have to short-cut my web as not at home and > /etc/rc.conf doesn't take my wlan0 interface; I changed rooter IP to > 192.168.8.1 and edited /etc/wpa_supplicant.conf. but still at booting th= e > field with the web stays "". I have mysql at startup. after recent updat= e > on my grandmas notebook I have problems with loading kmail. > > Here's an excerpt of kmail start: > org.kde.pim.akonadiserver: Running DB initializer > org.kde.pim.akonadiserver: DB initializer done > Connecting to deprecated signal > QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) > Assertion failed: (param->buffer_length !=3D 0), function There was a workaround posted here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D255748#c16 From nobody Wed Jun 16 21:05:03 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 9B05F11D2D96 for ; Wed, 16 Jun 2021 21:05:05 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qk1-x72f.google.com (mail-qk1-x72f.google.com [IPv6:2607:f8b0:4864:20::72f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G4yPY3Ykzz3Qvm; Wed, 16 Jun 2021 21:05:05 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-qk1-x72f.google.com with SMTP id c9so1008328qkm.0; Wed, 16 Jun 2021 14:05:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=FzoOWdLUAYDVZsuvT6QXBPmUesvtGXHvn8FSxM99bDM=; b=mtut4HKw/y7jZpx/ZO32ewLQe83Sv3punrikPL/CUOtAcRHFhf2orcUKXJ45izwENH 4vfAubPbwvnEv+Pkj9sFJkjdDE6fvfaHeNaYHm+LaN/yGaU+fZQgTI2ZJTZHe7v9tpgz MQr2v5Q37IdmUcTde56tE68xa1hYv7rbbQ5xtOlxvZ0ta0kNoti6rMv8Gi95uvFrD5gF G4DOjyxmEn4sj8aQKPpy08PWrVHeKXpPI4BdE7SLZiHmIsbiTcfWCBz0npYGNzFiy8x/ qUKCp8kBGjQIkmLGyoD2cRCp5GgNNXfFDcEf3KToeAI1djgmWThOSbKkdIGzM4s1E0ff wpaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=FzoOWdLUAYDVZsuvT6QXBPmUesvtGXHvn8FSxM99bDM=; b=Kh+OGH/Pfqj+KRHoJEB8sRwSkbM03eT+gJIgA2GotowYW2bFaBe8KDuG4SUR2kSYjj 2BK6TplWpKeCXz4yUyHFh0wLYmwGFjqnfxjorieJJMv+0GZ+lfrvRoB1GtnZyRhHd1Xr +DmMF44yoJrdVukAt9fHO0B6LM0vhW2djY9tbNjpcj/Am8vqypMxSqFgySuuF9y4LlbS r1eYYFd3SPtnOgJIvzkVHczfZSf4X+nxelAUie4r/KJrx9puewW7M4nEkWm5iNIJPK53 M8Bgw1dUXbu8LIBCyDl1fs1BJZ2eTtU0eW6E6BocwRdRdA1vHV5PllJRNmZyhTWVIXt+ G8WQ== X-Gm-Message-State: AOAM531dqFcPKyXCc0U29n7i4rPgrWw3vR1tmUhOhxryQ5zbVsjELB7z 4vxh/dqEO+LDvszhXoCa7DQD622xUSzv9A== X-Google-Smtp-Source: ABdhPJyvR6eDtZowTDTNfJeMk8ttcMrnFeaTMhsOG0LvAmZN1g3+WlkpMCyLOMS/RNd7UDopKBiS6g== X-Received: by 2002:a37:6851:: with SMTP id d78mr286776qkc.483.1623877504232; Wed, 16 Jun 2021 14:05:04 -0700 (PDT) Received: from nuc ([142.126.172.178]) by smtp.gmail.com with ESMTPSA id f11sm326159qka.55.2021.06.16.14.05.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Jun 2021 14:05:03 -0700 (PDT) Date: Wed, 16 Jun 2021 17:05:03 -0400 From: Mark Johnston To: Neel Chauhan Cc: current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 Message-ID: References: List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 4G4yPY3Ykzz3Qvm X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On Tue, Jun 15, 2021 at 08:36:07PM -0700, Neel Chauhan wrote: > Hi current@, > > First off, sorry if I spammed developers@ and other mailing lists with > my previous message, and to bz@/hselasky@/manu@ sent so many duplicate > emails. > > Right now, I am attempting to update the drm-kmod driver to the Linux > 5.7 code, and am having an issue with the pmap lock. I am new-ish to the > kernel, meaning not a whole lot of "experience", but do have patches in > src. > > But like it not we need kernel newbies, they're the next generation of > experts. If we don't, we'd be the next Minix with **zero** development > since Tanenbaum retired. > > Going back, the code in question is here: > https://github.com/neelchauhan/drm-kmod/blob/5.7-wip/drivers/gpu/drm/i915/gem/i915_gem_mman.c#L346 > > The lines important are 346-356, but lines of interest are also the > non-"#ifdef __linux__" sections of vm_fault_cpu(). > > The code gives this error: panic: Assertion > vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 > > I have attached the core dump log. > > To those who aren't graphics driver experts, it happens when I load Xorg > when Xorg attempts to map the I/O to userspace. But I feel this is more > of me not using page locks correctly (which is needed for the pmap), or > maybe a linuxkpi issue, rather than a graphics-specific issue. > > I spent days on this (all my non-$DAYJOB hours at one point + all my > weekends) and haven't figured out the locks completely. Does anyone have > suggestions to what I'm doing wrong in my code and locks? > > If it is important, OpenBSD's version of this code is here: > https://github.com/openbsd/src/blob/2207c4325726fdc5c4bcd0011af0fdf7d3dab137/sys/dev/pci/drm/i915/gem/i915_gem_mman.c#L459 > (lines 459-523, but some calls are unsurprisingly different). > The function in question appears to implement a device page fault handler. In FreeBSD, such handlers are responsible only for ensuring that the requested page(s) are present in the VM object backing the mapping that was faulted on. The generic fault handler in sys/vm/vm_fault.c is responsible for actually updating the faulting process' page tables by calling pmap_enter(). In other words, our fault handler interface is quite different from OpenBSD's and their example should not be followed exactly. Adding a vm_object_busy() call in the loop will silence the assertion I guess but the handler is still wrong. If you look further down at vm_fault_gtt() (and in earlier versions of the DRM drivers, i915_gem_fault()), the remap_io_mapping() implementation in the LinuxKPI does basically what I'm describing. Something similar is required for vm_fault_cpu(), though I don't quite understand when vm_fault_cpu() is supposed to be used. From nobody Thu Jun 17 05:16:56 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 6528A11CD861 for ; Thu, 17 Jun 2021 05:17:00 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from rainpuddle.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G59K825g3z3GyR; Thu, 17 Jun 2021 05:16:59 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from mail.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) by rainpuddle.neelc.org (Postfix) with ESMTPSA id 0EAE689171; Wed, 16 Jun 2021 22:16:57 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Date: Wed, 16 Jun 2021 22:16:56 -0700 From: Neel Chauhan To: Mark Johnston Cc: current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 In-Reply-To: References: User-Agent: Roundcube Webmail/1.4.11 Message-ID: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> X-Sender: nc@FreeBSD.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G59K825g3z3GyR X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N Hi Mark, Thank you so much for your response! On 2021-06-16 14:05, Mark Johnston wrote: > > The function in question appears to implement a device page fault > handler. In FreeBSD, such handlers are responsible only for ensuring > that the requested page(s) are present in the VM object backing the > mapping that was faulted on. The generic fault handler in > sys/vm/vm_fault.c is responsible for actually updating the faulting > process' page tables by calling pmap_enter(). In other words, our > fault > handler interface is quite different from OpenBSD's and their example > should not be followed exactly. Adding a vm_object_busy() call in the > loop will silence the assertion I guess but the handler is still wrong. Good to hear. No wonder why I still had the "blank screen of death" with the (now previous) code. > If you look further down at vm_fault_gtt() (and in earlier versions of > the DRM drivers, i915_gem_fault()), the remap_io_mapping() > implementation in the LinuxKPI does basically what I'm describing. > Something similar is required for vm_fault_cpu(), though I don't quite > understand when vm_fault_cpu() is supposed to be used. I have some code to implement remap_io_sg() based on remap_io_mapping(), but it's not complete. I am still trying to figure out how to get the physical address. Right now, I have: https://github.com/neelchauhan/drm-kmod/commit/92a3d9bb585acb55c1dab9c5ed11190f7db73ecf My get_pfn() function (Lines 221-231) attempts to get the physical address, and it is called at Line 248. Note: This code is probably incorrect, since it gives me an "page already inserted" panic. Any hints on where the physical address is? Should we have an FreeBSD-specific "pa" argument for the physical address if it's needed? Sorry for the kernel newbie questions. -Neel (nc@) From nobody Fri Jun 18 09:43:02 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 644A911E77BC; Fri, 18 Jun 2021 09:43:07 +0000 (UTC) (envelope-from se@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G5v9l2PJZz3Nr5; Fri, 18 Jun 2021 09:43:07 +0000 (UTC) (envelope-from se@freebsd.org) Received: from Stefans-MBP-449.fritz.box (p200300cd5f10160085168ad9c53f9059.dip0.t-ipconnect.de [IPv6:2003:cd:5f10:1600:8516:8ad9:c53f:9059]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: se/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id D10B32A4F0; Fri, 18 Jun 2021 09:43:06 +0000 (UTC) (envelope-from se@freebsd.org) To: FreeBSD ports , FreeBSD CURRENT From: Stefan Esser Subject: Add support for -c to sha256sum to fix port build failures Message-ID: <203c9c0c-eeb1-9e44-b4b2-60cd071120e9@freebsd.org> Date: Fri, 18 Jun 2021 11:43:02 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="JwcUzmd8JEH01IwkVGVPTwcmQ7WhrBqPz" X-ThisMailContainsUnwantedMimeParts: N This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --JwcUzmd8JEH01IwkVGVPTwcmQ7WhrBqPz Content-Type: multipart/mixed; boundary="TSLkYEMT2lXJf3yC4iPt4vJKRX2VoVK7x"; protected-headers="v1" From: Stefan Esser To: FreeBSD ports , FreeBSD CURRENT Message-ID: <203c9c0c-eeb1-9e44-b4b2-60cd071120e9@freebsd.org> Subject: Add support for -c to sha256sum to fix port build failures --TSLkYEMT2lXJf3yC4iPt4vJKRX2VoVK7x Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: quoted-printable The sha256 et.al. programs have recently been extended to provide GNU compatible features if invoked as sha256sum. This does now lead to port build issues, since there are ports that assume that the -c option is implemented and that treat an error exit of sha256sum -c as an indication of corrupted source files. I have created https://reviews.freebsd.org/D30812 as a quick attempt to provide a GNU compatible sha256sum -c feature and I'd appreciate a review this change. An alternative to adding this feature would be changes to all ports that now fail due to the assumption that sha256sum does provide that option. I could have used linked list macros, but given the simple structure I did not think the extra dependency was required here, and it does not really simplify the program, IMHO. Regards, STefan --TSLkYEMT2lXJf3yC4iPt4vJKRX2VoVK7x-- --JwcUzmd8JEH01IwkVGVPTwcmQ7WhrBqPz Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEEo3HqZZwL7MgrcVMTR+u171r99UQFAmDMaqYFAwAAAAAACgkQR+u171r99URQ Iwf/YVKOAXIQtKMIWb2HTcKqNnRoQyQ53X2VxR+1FPnyZKLrORmZf2dLYbr2Xjx6EJe38dgGNeN+ aGkz5dpYGKWR24C6cj3JbPBnSZY879wF5DMm9EPesGsai1ZFvOOzaQidIWWbhdBB7gmr3eM1TdV9 harvdHuHQki15GEy/KlMggsvZfZzpVKiT45aW/uFtFhj0uoNFdTy9Lx7/NS3odSY+hP6PH5Ra/op KwSR+mVJWf7mAboRjA4u8oAdc/Mvi3Gfv6I1W+vydhAyCZsQYnwRp6qEFd/A3FvdkDpgJYvBhopN l5dcWzLzRq/LqMjNVzHWrsFW1joT/mHcghD1PtBbrg== =3nIz -----END PGP SIGNATURE----- --JwcUzmd8JEH01IwkVGVPTwcmQ7WhrBqPz-- From nobody Fri Jun 18 13:57:15 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4DC7B7EBE91 for ; Fri, 18 Jun 2021 13:57:16 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G60pz4xHfz4YjR; Fri, 18 Jun 2021 13:57:15 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: by mail-qt1-x82a.google.com with SMTP id r7so7538577qta.12; Fri, 18 Jun 2021 06:57:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=qU2b3JBK4bchdaArqVBNNZ13yroJJp4RnRORlqZR1/Q=; b=DGvrNgJa5vjETRz7hJHakcEc9y8eltK/oqJeb2D5PyevvV/XVFD9IYqRrW3jgVvc6d LqXPMjeiN4lAMNZ7HFNWSRZhBhDFfjP2+a56kRMfyKZy1s9UOYoNoblhQ7xvDLxfXnvA gG9BbBQfA6RCHOjgJIolPsAK7nkLW5iTKVRuQfTj9z/U4pUNdoMWP1aaI9FS3bUpCgoo WUkqbfgMdFKHNMV/RSU5ABGRj32uhSGbrdZlbI25JU+f9HLsXwLiFOycZOW3e5myNqE6 a1ardTRvu2HW3VPVBlzK95iPP4e3PO4bW9SqoID0P+x3alFfpNKlA9tYliYV/nADVLd/ McIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=qU2b3JBK4bchdaArqVBNNZ13yroJJp4RnRORlqZR1/Q=; b=Psv9C/XYiEzq7ISmaYuElCQQ1VEKQm54DdrfRvvoQgwzF+Q4qbbSx0gOlNHF2VNRLY DPkZ5h6pvwS4ZVRNlCyOi4qmj7ofcNeTctyf3sHYIZ3X7RxHrG2MlEK1yhn1go9A7Pcu k+2gQmtMtCHwEsDKXVBPwEUjrc8mR7Rrkf4Faj63TQwZfVnCCsmev5hRlISF56cYbtd5 AYbeNDbi322BSMPfIGLZ+Or9wVZBo+k6JTysa1rfjqqVHOOLCkdAOq9Z405n8uxnO2lt uoUzPvoy2w5M94tjcXKzcrggZiRjNOIhahRiQdl3GGmg7l9EGjsY2CU4HyH0ZAFiAcDH vD8Q== X-Gm-Message-State: AOAM5309/9dyUieY282kPiejhO8cF5+VJuxlcjqAYumFR5xbClcIdZ4m /mOeHG8efsMhznqzZ7kFNsKGm/1wylhMcg== X-Google-Smtp-Source: ABdhPJzyvGjBAavBGYf6mpzbyU+pRgADUIO9n4EwUNtDRR9iCYbtwBa/9WOknR3w1GC5xcyWycAqYw== X-Received: by 2002:a05:622a:1487:: with SMTP id t7mr10906230qtx.246.1624024634515; Fri, 18 Jun 2021 06:57:14 -0700 (PDT) Received: from nuc ([142.126.172.178]) by smtp.gmail.com with ESMTPSA id m2sm3989752qkh.38.2021.06.18.06.57.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 06:57:14 -0700 (PDT) Date: Fri, 18 Jun 2021 09:57:15 -0400 From: Mark Johnston To: Neel Chauhan Cc: current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 Message-ID: References: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> X-Rspamd-Queue-Id: 4G60pz4xHfz4YjR X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=DGvrNgJa; dmarc=none; spf=pass (mx1.freebsd.org: domain of markjdb@gmail.com designates 2607:f8b0:4864:20::82a as permitted sender) smtp.mailfrom=markjdb@gmail.com X-Spamd-Result: default: False [-2.70 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FORGED_SENDER(0.30)[markj@freebsd.org,markjdb@gmail.com]; MIME_TRACE(0.00)[0:+]; RBL_DBL_DONT_QUERY_IPS(0.00)[2607:f8b0:4864:20::82a:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[markj@freebsd.org,markjdb@gmail.com]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; SPAMHAUS_ZRD(0.00)[2607:f8b0:4864:20::82a:from:127.0.2.255]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::82a:from]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[current] X-ThisMailContainsUnwantedMimeParts: N On Wed, Jun 16, 2021 at 10:16:56PM -0700, Neel Chauhan wrote: > Hi Mark, > > Thank you so much for your response! > > On 2021-06-16 14:05, Mark Johnston wrote: > > > > The function in question appears to implement a device page fault > > handler. In FreeBSD, such handlers are responsible only for ensuring > > that the requested page(s) are present in the VM object backing the > > mapping that was faulted on. The generic fault handler in > > sys/vm/vm_fault.c is responsible for actually updating the faulting > > process' page tables by calling pmap_enter(). In other words, our > > fault > > handler interface is quite different from OpenBSD's and their example > > should not be followed exactly. Adding a vm_object_busy() call in the > > loop will silence the assertion I guess but the handler is still wrong. > > Good to hear. No wonder why I still had the "blank screen of death" with > the (now previous) code. > > > If you look further down at vm_fault_gtt() (and in earlier versions of > > the DRM drivers, i915_gem_fault()), the remap_io_mapping() > > implementation in the LinuxKPI does basically what I'm describing. > > Something similar is required for vm_fault_cpu(), though I don't quite > > understand when vm_fault_cpu() is supposed to be used. > > I have some code to implement remap_io_sg() based on remap_io_mapping(), > but it's not complete. > > I am still trying to figure out how to get the physical address. Right > now, I have: > > https://github.com/neelchauhan/drm-kmod/commit/92a3d9bb585acb55c1dab9c5ed11190f7db73ecf > > My get_pfn() function (Lines 221-231) attempts to get the physical > address, and it is called at Line 248. > > Note: This code is probably incorrect, since it gives me an "page > already inserted" panic. That seems surprising, since the vm_page_grab() call should return the page at pidx if one exists. > Any hints on where the physical address is? Should we have an > FreeBSD-specific "pa" argument for the physical address if it's needed? I'm not sure. I'll just note that the Linux code appears to be trying to map a set of pages belonging to a scatter-gather list. Taking the physical address of the first page and assuming that all subsequent pages are physically contiguous doesn't seem correct, but this is what is happening in that loop, since each iteration simply increments pa by PAGE_SIZE. From nobody Fri Jun 18 14:05:36 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2473F7EDB32 for ; Fri, 18 Jun 2021 14:05:39 +0000 (UTC) (envelope-from 0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@amazonses.com) Received: from a48-104.smtp-out.amazonses.com (a48-104.smtp-out.amazonses.com [54.240.48.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G610f1x39z4bwR for ; Fri, 18 Jun 2021 14:05:37 +0000 (UTC) (envelope-from 0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@amazonses.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1624025136; h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=w4sLDYdZk5NMxhONLMb8IW574CjhIBQv7D2J5+G1ASU=; b=dHKQmzFMB8O/obFHG8VgZ24IMyKzB8tAWtxb9crOEx0ey4ch1WX/K/VHM41ey0im yy05GGnfSJeEARg85N7unh/dzIg5a1+u7VC4134/8rBVfOghp1rKnZ9XN9/5eW9vXPo 7+Lq3GKP8p3KMinr3//zRJZHlZA+2Dm/5N+PlPHs= Subject: Re: drm-kmod kernel crash fatal trap 12 To: Bakul Shah Cc: Current FreeBSD References: <01000179f13a6d3e-da7dd183-162b-4d1e-bf61-cfae3c584814-000000@email.amazonses.com> <4894bd36-92bd-596e-cc18-cd3e6aafe47f@selasky.org> <01000179f645c406-d38fbce4-d9d4-41c2-8c20-54a278d44196-000000@email.amazonses.com> <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> From: Thomas Laus Message-ID: <0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@email.amazonses.com> Date: Fri, 18 Jun 2021 14:05:36 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Feedback-ID: 1.us-east-1.9pbSdi8VQuDGy3n7CRAr3/hYnLCug78GrsPo0xSgBOs=:AmazonSES X-SES-Outgoing: 2021.06.18-54.240.48.104 X-Rspamd-Queue-Id: 4G610f1x39z4bwR X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=pass header.d=amazonses.com header.s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug header.b=dHKQmzFM; dmarc=none; spf=pass (mx1.freebsd.org: domain of 0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@amazonses.com designates 54.240.48.104 as permitted sender) smtp.mailfrom=0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@amazonses.com X-Spamd-Result: default: False [-0.70 / 15.00]; FORGED_MUA_THUNDERBIRD_MSGID_UNKNOWN(2.50)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[amazonses.com:s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:54.240.0.0/18]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[acm.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[amazonses.com:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[54.240.48.104:from]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FORGED_SENDER(0.30)[lausts@acm.org,0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@amazonses.com]; RCVD_COUNT_ZERO(0.00)[0]; MIME_TRACE(0.00)[0:+]; RWL_MAILSPIKE_VERYGOOD(0.00)[54.240.48.104:from]; ASN(0.00)[asn:14618, ipnet:54.240.48.0/23, country:US]; FROM_NEQ_ENVFROM(0.00)[lausts@acm.org,0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@amazonses.com]; MAILMAN_DEST(0.00)[freebsd-current] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N On 6/10/21 11:13 AM, Bakul Shah wrote: > This is what I did: > > git clone https://github.com/freebsd/drm-kmod > ln -s $PWD/drm-kmod /usr/local/sys/modules > > Now it gets compiled every time you do make buildkernel. > If things break you can do a git pull in the drm-kmod dir > and rebuild. > That did not work for me. The buildkernel operation failed at the operation 'cleandir' phase. The message was 'don't know how to make cleandir stop'. Tom -- Public Keys: PGP KeyID = 0x5F22FDC1 GnuPG KeyID = 0x620836CF From nobody Fri Jun 18 16:02:51 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 46FF65D0264 for ; Fri, 18 Jun 2021 16:02:55 +0000 (UTC) (envelope-from bakul@iitbombay.org) Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4G63bz190gz4sXp for ; Fri, 18 Jun 2021 16:02:54 +0000 (UTC) (envelope-from bakul@iitbombay.org) Received: by mail-qk1-x72e.google.com with SMTP id g4so10887253qkl.1 for ; Fri, 18 Jun 2021 09:02:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iitbombay-org.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/ZehHN2dsf9Gvz5bMB4bAXgc89vxwMkaQ95i3dFHy4A=; b=MiKg+3vsd58Pb6ZleQazKi0W4D4dUDO3GN/WLffffyKfKAujHRtDTBFlbtAHcDbx+M fbq9ZlR/Knum36dz3dn4SbHLfLVHLasm5qcRjMnt4fN0s8lk4o0kxGsmES37CuwlH35f kPUYR8EuFCHgL1oS8/cjB8Nkr/JwJ0ewoOWF9pDyB2GFLhIcKHGwUjNKNp69JLNrmdx4 OkLLa86bA9yowoH0E0SZr2+HSjDnGgZdZJQBZbvFoUTHlxPiyksh56Mu8j1AT10PFgN7 AUCcPBj2pCJjByUMaOnt911am56A9c0c/2CokBXWt39Hz9EEknLQsZ6QI7QqigSKgENt BoSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/ZehHN2dsf9Gvz5bMB4bAXgc89vxwMkaQ95i3dFHy4A=; b=Ow3r/pxBzdR+O3xhZVEDUypftN4kXfY9+Yayemg4SG0iuLsFFBtqeFYUpSs8aMzfo7 wdQnOqk2b3mBuKN0vdlozCX0ca6cKbSNlf51bAOB4d0XVhYP+K2KWfUI8bo/yLjOuuLA FNZonRUONTS42D/7sJpzVZHTFK/kFgLpb8NAmWfDippvEgFyf90HwkzmRP1ifNapQ1jy 1lfYopEHpOeww63oTgqgpNTw38xNorIt5gbYEA2J0wWFy5scqVPO6lpKoqU2sW2VeXVO P7R6ZD+9DMg8Ax2p8VNdKjL+0XR+IBEK5WJyegSlg0bI7OVXAzXY1RiZpGopYNhmUGvU 8BFw== X-Gm-Message-State: AOAM533ccoGnu8V1n+e2Jf2pjfzbrUr/k3bFB5ivIVI9OP8oYbHiGvrF 2dlEGM4bFuLMa7eAeAe1Gls7sQ== X-Google-Smtp-Source: ABdhPJwQQ+ohGxFoHIkCpIF8KoluriaT5yLyfyagX5vbDxNIAI6TP6bHmnUMwLkRxERPfQLN4MJ0kQ== X-Received: by 2002:a37:814:: with SMTP id 20mr10512034qki.243.1624032174310; Fri, 18 Jun 2021 09:02:54 -0700 (PDT) Received: from smtpclient.apple (107-215-223-229.lightspeed.sntcca.sbcglobal.net. [107.215.223.229]) by smtp.gmail.com with ESMTPSA id g9sm2826919qtv.13.2021.06.18.09.02.53 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 18 Jun 2021 09:02:53 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\)) Subject: Re: drm-kmod kernel crash fatal trap 12 From: Bakul Shah In-Reply-To: <0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@email.amazonses.com> Date: Fri, 18 Jun 2021 09:02:51 -0700 Cc: Current FreeBSD Content-Transfer-Encoding: 7bit Message-Id: References: <01000179f13a6d3e-da7dd183-162b-4d1e-bf61-cfae3c584814-000000@email.amazonses.com> <4894bd36-92bd-596e-cc18-cd3e6aafe47f@selasky.org> <01000179f645c406-d38fbce4-d9d4-41c2-8c20-54a278d44196-000000@email.amazonses.com> <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> <0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@email.amazonses.com> To: Thomas Laus X-Mailer: Apple Mail (2.3654.100.0.2.22) X-Rspamd-Queue-Id: 4G63bz190gz4sXp X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On Jun 18, 2021, at 7:05 AM, Thomas Laus wrote: > > On 6/10/21 11:13 AM, Bakul Shah wrote: >> This is what I did: >> >> git clone https://github.com/freebsd/drm-kmod >> ln -s $PWD/drm-kmod /usr/local/sys/modules >> >> Now it gets compiled every time you do make buildkernel. >> If things break you can do a git pull in the drm-kmod dir >> and rebuild. >> > That did not work for me. The buildkernel operation failed at the > operation 'cleandir' phase. The message was 'don't know how to make > cleandir stop'. I suspect you are not using WITH_META_MODE=yes. That seems to obviate the need for running cleandir though I don't how (and I don't have the patience to wade through the complex logic in /usr/src/Makefile*). FWIW, my build flags: $ cat /etc/{make,src,src-env}.conf MALLOC_PRODUCTION=yes WITHOUT_CLANG=yes WITH_CCACHE_BUILD=yes CCACHE_DIR=/usr/obj/ccache WITH_META_MODE=yes If you forget to "kldload filemon" make build{kernel,world} will remind you! From nobody Fri Jun 18 19:19:08 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 83F5C11CD9DF for ; Fri, 18 Jun 2021 19:19:17 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from rainpuddle.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G67yY2wMkz3BtZ; Fri, 18 Jun 2021 19:19:16 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from mail.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) by rainpuddle.neelc.org (Postfix) with ESMTPSA id 1AC4B89290; Fri, 18 Jun 2021 12:19:08 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Date: Fri, 18 Jun 2021 12:19:08 -0700 From: Neel Chauhan To: Mark Johnston Cc: current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 In-Reply-To: References: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <389e4560afdc211e9915746b11a0d0d0@FreeBSD.org> X-Sender: nc@FreeBSD.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G67yY2wMkz3BtZ X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N Hi Mark, On 2021-06-18 06:57, Mark Johnston wrote: > That seems surprising, since the vm_page_grab() call should return the > page at pidx if one exists. I believe that's not the case. I did pringfs >> Any hints on where the physical address is? Should we have an >> FreeBSD-specific "pa" argument for the physical address if it's >> needed? > > I'm not sure. I'll just note that the Linux code appears to be trying > to map a set of pages belonging to a scatter-gather list. Taking the > physical address of the first page and assuming that all subsequent > pages are physically contiguous doesn't seem correct, but this is what > is happening in that loop, since each iteration simply increments pa by > PAGE_SIZE. Based on this email and our private one, and prior debugging it seems this panic comes on the first iteration. Something must be vm_page_grab() returns NULL, and then we run: if (!vm_page_busy_acquire(m, VM_ALLOC_WAITFAIL)) goto retry; if (vm_page_insert(m, vm_obj, pidx)) { vm_page_xunbusy(m); VM_OBJECT_WUNLOCK(vm_obj); vm_wait(NULL); VM_OBJECT_WLOCK(vm_obj); goto retry; } Source: https://github.com/neelchauhan/drm-kmod/blob/d0eee96973ee0772e977b813678f92c5becf0507/drivers/gpu/drm/i915/intel_freebsd.c#L245 The first if() doesn't panic, but we panic at the second one, it doesn't go into or jumo over the statement. I could use for() or for_each_sg_page() and they both panic. I am almost feeling I'd have to hire a FreeBSD kernel consultant and/or sell my TigerLake laptop for an AMD Ryzen-based laptop. -Neel (nc@) From nobody Sat Jun 19 03:03:59 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id A3EB311E31CF for ; Sat, 19 Jun 2021 03:04:02 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from rainpuddle.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G6LGp1SZHz4RL7; Sat, 19 Jun 2021 03:04:01 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from mail.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) by rainpuddle.neelc.org (Postfix) with ESMTPSA id 84C5389249; Fri, 18 Jun 2021 20:03:59 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Date: Fri, 18 Jun 2021 20:03:59 -0700 From: Neel Chauhan To: Neel Chauhan Cc: Mark Johnston , current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 In-Reply-To: <389e4560afdc211e9915746b11a0d0d0@FreeBSD.org> References: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> <389e4560afdc211e9915746b11a0d0d0@FreeBSD.org> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <61de965123274866935935bded6c3d58@FreeBSD.org> X-Sender: nc@FreeBSD.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G6LGp1SZHz4RL7 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N On 2021-06-18 12:19, Neel Chauhan wrote: >> I'm not sure. I'll just note that the Linux code appears to be trying >> to map a set of pages belonging to a scatter-gather list. Taking the >> physical address of the first page and assuming that all subsequent >> pages are physically contiguous doesn't seem correct, but this is what >> is happening in that loop, since each iteration simply increments pa >> by >> PAGE_SIZE. Good news! While I don't have a fix, I have figured out what the issue is. Apparently, the vm_start values is for some reason coming as 0 when it is passed into vm_fault_cpu(). That's why it's giving these errors: of course the address at 0 is mapped, it is (probably) used by the kernel. I will look more into it tomorrow, but my brother has come over to Seattle from Connecticut so I may not be able to dedicate as much time as I would like to. -Neel (nc@) From nobody Sat Jun 19 23:19:43 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 5737811DED71 for ; Sat, 19 Jun 2021 23:19:44 +0000 (UTC) (envelope-from 0100017a2692a709-a1c4025a-7548-4710-a673-5f63f11eaf4c-000000@amazonses.com) Received: from a8-78.smtp-out.amazonses.com (a8-78.smtp-out.amazonses.com [54.240.8.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G6sFX1nfwz3FdZ for ; Sat, 19 Jun 2021 23:19:43 +0000 (UTC) (envelope-from 0100017a2692a709-a1c4025a-7548-4710-a673-5f63f11eaf4c-000000@amazonses.com) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1624144783; h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding:Feedback-ID; bh=fIgqUf+WW0pPuBF8z6DBpnD4+sVVo+AhXm39W3mFm40=; b=hvhetndTERVP0C4ugxFaqKlQlmoFNoVjQgXsMADuS5tN7KKafDfyZeQAGG9wD/yS l9kOI/8OU9WwbvUQfwrBDThCr89oxnFbvqrWXD/6qMJR+mGZxXO8VKEaocT9NCA7e5n GhRSzNcDhESYRY4Ls4zThZHfp99ulV2bP4eYYnz8= Subject: Re: drm-kmod kernel crash fatal trap 12 To: Bakul Shah Cc: freebsd-current@freebsd.org References: <01000179f13a6d3e-da7dd183-162b-4d1e-bf61-cfae3c584814-000000@email.amazonses.com> <4894bd36-92bd-596e-cc18-cd3e6aafe47f@selasky.org> <01000179f645c406-d38fbce4-d9d4-41c2-8c20-54a278d44196-000000@email.amazonses.com> <046B931E-899A-4643-B516-C1863E3D3EC3@iitbombay.org> <0100017a1f70fe62-104983dd-cf19-40f8-8223-e2c91cf90138-000000@email.amazonses.com> <0100017a24aa52fd-6ef077f4-77b9-4443-85d4-2614a825a44f-000000@email.amazonses.com> From: Thomas Laus Message-ID: <0100017a2692a709-a1c4025a-7548-4710-a673-5f63f11eaf4c-000000@email.amazonses.com> Date: Sat, 19 Jun 2021 23:19:43 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Feedback-ID: 1.us-east-1.9pbSdi8VQuDGy3n7CRAr3/hYnLCug78GrsPo0xSgBOs=:AmazonSES X-SES-Outgoing: 2021.06.19-54.240.8.78 X-Rspamd-Queue-Id: 4G6sFX1nfwz3FdZ X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N On 6/19/21 2:21 PM, Bakul Shah wrote: > > You may wish to see if Andriy Gapon's method (LOCAL_MODULES_DIR, LOCAL_MODULES) > works better for you. > > I trust Makefile* to do the right thing with META_MODE and CCACHE (and if they > don't, it is a bug that would need to be fixed) so I personally don't see the > need to "rm -rf /usr/obj/*". > I have been performing the rm -rf /usr/obj/* procedure almost weekly since FreeBSD 4.1 and has kept me out of trouble for many years. The PC that I use to update Current can build both world and kernel in under an hour with a clean object directory. Performing a 'git up ports' and rebuilding the drm module before building world is not a major time consumer for me if I remember to do it first. Thanks for the suggestions on some alternatives to my world building exercise. Tom -- Public Keys: PGP KeyID = 0x5F22FDC1 GnuPG KeyID = 0x620836CF From nobody Sun Jun 20 05:32:58 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id AA56211CC8A6 for ; Sun, 20 Jun 2021 05:33:07 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from rainpuddle.neelc.org (locks.neelc.org [158.51.84.233]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G71XM2Vk5z4Sgr; Sun, 20 Jun 2021 05:33:07 +0000 (UTC) (envelope-from nc@FreeBSD.org) Received: from mail.neelc.org (locks.neelc.org [IPv6:2602:fed2:7106:25ff::1]) by rainpuddle.neelc.org (Postfix) with ESMTPSA id E662E89171; Sat, 19 Jun 2021 22:32:58 -0700 (PDT) List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 Date: Sat, 19 Jun 2021 22:32:58 -0700 From: Neel Chauhan To: Neel Chauhan Cc: Mark Johnston , current@freebsd.org Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 In-Reply-To: <61de965123274866935935bded6c3d58@FreeBSD.org> References: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> <389e4560afdc211e9915746b11a0d0d0@FreeBSD.org> <61de965123274866935935bded6c3d58@FreeBSD.org> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: nc@FreeBSD.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4G71XM2Vk5z4Sgr X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; ASN(0.00)[asn:23470, ipnet:158.51.84.0/24, country:US] X-ThisMailContainsUnwantedMimeParts: N On 2021-06-18 20:03, Neel Chauhan wrote: > Apparently, the vm_start values is for some reason coming as 0 when it > is passed into vm_fault_cpu(). That's why it's giving these errors: of > course the address at 0 is mapped, it is (probably) used by the > kernel. An update: The vm_start 0 seems to be expected. I checked the values with printf()s. I have posted this on Twitter, and am considering hiring a kernel consultant to help if I am unable to do this on my own. So I am guessing this line (Line 231) is incorrect: pa = sg_dma_address(sgl); Source: https://github.com/neelchauhan/drm-kmod/blob/d0eee96973ee0772e977b813678f92c5becf0507/drivers/gpu/drm/i915/intel_freebsd.c#L231 -Neel (nc@) From nobody Sun Jun 20 08:36:40 2021 X-Original-To: current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 89BB111D4F6D for ; Sun, 20 Jun 2021 08:36:46 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [88.99.82.50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4G75cG2y4zz4fL6; Sun, 20 Jun 2021 08:36:46 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [178.17.145.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 02B2A2601EF; Sun, 20 Jun 2021 10:36:43 +0200 (CEST) Subject: Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455 To: Neel Chauhan Cc: Mark Johnston , current@freebsd.org References: <8bd27c2a72ebfa9299bca7d930297faf@FreeBSD.org> <389e4560afdc211e9915746b11a0d0d0@FreeBSD.org> <61de965123274866935935bded6c3d58@FreeBSD.org> From: Hans Petter Selasky Message-ID: <6df7b46d-26ca-b897-66fd-b6a441475348@selasky.org> Date: Sun, 20 Jun 2021 10:36:40 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4G75cG2y4zz4fL6 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Spam: Yes X-ThisMailContainsUnwantedMimeParts: N On 6/20/21 7:32 AM, Neel Chauhan wrote: > On 2021-06-18 20:03, Neel Chauhan wrote: >> Apparently, the vm_start values is for some reason coming as 0 when it >> is passed into vm_fault_cpu(). That's why it's giving these errors: of >> course the address at 0 is mapped, it is (probably) used by the >> kernel. > > An update: The vm_start 0 seems to be expected. I checked the values > with printf()s. > > I have posted this on Twitter, and am considering hiring a kernel > consultant to help if I am unable to do this on my own. > > So I am guessing this line (Line 231) is incorrect: > >     pa = sg_dma_address(sgl); > > Source: > https://github.com/neelchauhan/drm-kmod/blob/d0eee96973ee0772e977b813678f92c5becf0507/drivers/gpu/drm/i915/intel_freebsd.c#L231 Hi Neel, sg_dma_address() is zero, because the memory hasn't been loaded. You need to handle two cases there: When r->iobase is -1 and when it is not. I suspect you should add r->iobase to the sg_dma_address() only and only when it is non -1. Also, there is a superfluous "pa = " in the beginning of the function. --HPS