Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w0qti-002GK8-1V for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 01:01:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0qtg-0010PP-2x for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 01:01:01 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w0qtg-0010PH-11 for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 01:01:01 +0000 Received: from mail-ua1-x935.google.com ([2607:f8b0:4864:20::935]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w0qtZ-00000002Nu4-3OfB for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 01:01:00 +0000 Received: by mail-ua1-x935.google.com with SMTP id a1e0cc1a2514c-94de4f5531eso445929241.0 for ; Thu, 12 Mar 2026 18:00:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773363652; cv=none; d=google.com; s=arc-20240605; b=A9MyerFPHYpOJRGaS+gQDUn1kRQRI/468F6YAQ5SJp0QD1kRSm8cpLfi40kDU/Fkxu dljK01WARGDQ9eIrE4iLPfF1bVuytXiALqmIWlQCLBhw1ktnaX/RU6vQhR25dcU5O2Jy eteCkKxHLZaV4HOROFzXVKIS7xX6gfAeKer+4vGIqfUICUaH4iCCqRYb57hkJVaV8xqb 5mgLhVnqu+IxUv09a/vcDkvi1F+Xjytbm/WoxKuzOFj2ObYqIU3XRnj6L3eEUsuSJnbY VBGkeegg8862aYm+nE9PqjINr8T1cncZtc/1KGR6FnKGy3YtghiSl+ZsgtKlLawBayQ6 kXJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=gLUY/O8aSAFSKvvJKr9OeRw48QChPa4Et2Uv3j1od/8=; fh=kWskPakb0znZBm/UZPxUeW9IjDXQrvIXydhNylXNhfQ=; b=afybOXwFoi5Ny07ICexrVNd/pILiccGwWd1cvRn2Ol+zYv4QCkNWaI9/C3sbuFRvne v7gIK/UjnK4gh6gwzrKi5B3rtpjlhX+byGlvheJzxazv5gg2jGLCacGG07DJPHLyRNDF qECM+3IvGM7lAURtlXNuraNia5o3/dwzcaA53i534yxsK3Ogd3smIPm6IXjQqLtjVSLe VG+5zEokloKKhRBrNo3s4Tz9l8u6VTxwq8WOlQ+jx/dtYy0Z2fgFhv9y/gb9FQfkmSBi 8uyPkY8vxFD3TMSVQTm6lZODdHXN/QiY6MvToSCkmYBbnyj3YCxebci3ClA6I27f4jeO IiBg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773363652; x=1773968452; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=gLUY/O8aSAFSKvvJKr9OeRw48QChPa4Et2Uv3j1od/8=; b=HByhI0qxuPOx3pbjkfH1+6NOIL8WMbZbhWbtwz9iev5OIuIsn7xCH2qFLF7R3zNzdR yhfjBuxCym09vNEQTJjhm6pOfHhI6u0P47eSd2f7xNxjKsbp+/vi91bT92ryh6SbCe1L +1dZbh6C8DrTtF66GoYSS6fJYPIjerkncfid6N44YCvBHyMenHEO3f0AyPDNM8JzufpB sKzmpKFScxlgDHYzAloPJM83VfVrTwowTNjGJGhIpWxLrtpS2JbakbaAV1wSX3yeHpR3 6oMB3g85/g5yHLPc0tojO4UUto+i9VrkLbhXykZc4u0uiKSZi0uPCFKnapKg3ntDpgGd nVkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773363652; x=1773968452; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gLUY/O8aSAFSKvvJKr9OeRw48QChPa4Et2Uv3j1od/8=; b=dGXkmz/2JZxbUT7XyTavAH2LGu95JltGGHKIacRg94oEQQspMOZayuhK4tQRXLHjNr ZGZ09dxzkLhrrN2m0Ab3yK/q/qK2dNE1R7y072GLIx/b1q1qc9J6FNq2jA2C1+Cjx4pk +EM7yDb01rhSsi8VkP6IMp0QAlTjyfQmUGZFry4jklsLDpm4vpSuV7p/2ofEXB0qcILq 1OvDe3ToMabLFaSs87fHLTbjKT1j2UQN0RbJFpUrhs6rakQkO1lsRJ42P4Wu7vb87iyG OjcbEdLf14yt8+APQwgxNWgZ2LZ9xWSJ12Jtwb7pnxa49cThM9iZvE/q0oOzJpI47LJP 3Lyg== X-Forwarded-Encrypted: i=1; AJvYcCUVmTsjbMtVBMcjo0HkBkuCAHferiClEONZCuQtQ/eb3OmrbJGT2nt4L1qiBYduiYeASxpC2AQIaT1iJ27W@lists.postgresql.org X-Gm-Message-State: AOJu0YwwHqIbEKsiY65gLpQpMYTAavtjSOG2vaO7Tcy2I/BIEVtwMxz3 mROByDX06OY7M5xhpaBHBlQ7y3qoM6IDDDsOgOePIkwI2GM74OV/Kh6mKsElPHeMDcmTL/2p2Go elRtwv3xwJSETEov00jS5vvqa8/VmiGs= X-Gm-Gg: ATEYQzxnTDIc8CalfrVB1TATsUJ00isBiuXVlyPI7X4f9XckCqmQ6S+fqSqEbCp0zvj OhENMTCGH48gG8D+1op3ObBUpbuhM/7oLzDJ5dr8S2lGUwZoyRDX//97wOK0xt+QNFhM/LcazFU gHAvTGNWOyK8hJcM57KLt+embcmOupaBkqKZNtfXO1mvxuumlfnF9EelHkUg6C4rbGt3/UK1LOa EcJMo8AsfYLVkbt1uZAvX9oVQJa6xXctcGEGUXBpCoROVVtoYbdUd0gFkhpSgybe/zVGvcYWRKP bRprgrp9GsyclYhVCoXYvS0+wKZWZs8B16aYorSnabHFYChCaLApAjd3i4Tj46MRKrhkRp8IEvz n83p7OZmUKmXh+5E9Cs/yEeuHPUyN9Lhpzi98Z0AaXPvESgBr56bfXBLmE7wM43Nbnn5sY6uqPN JHxxDZvbWghuLPl2wHGO953Q== X-Received: by 2002:a05:6102:c4b:b0:5ff:1cc2:aa98 with SMTP id ada2fe7eead31-6020e59bd7cmr609637137.35.1773363651881; Thu, 12 Mar 2026 18:00:51 -0700 (PDT) MIME-Version: 1.0 References: <04afcd1f-ed7d-4c0a-add1-50e3719ccbf9@postgresfriends.org> <762ae707-7fdc-43d8-a77a-3a10d12ce21d@postgresfriends.org> In-Reply-To: From: jian he Date: Fri, 13 Mar 2026 09:00:13 +0800 X-Gm-Features: AaiRm52osBkeY2128df9zp_FJvzt3b2V50NXb3b7zuiypleNm2GZtDN9bY1EAQ4 Message-ID: Subject: Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions To: Corey Huinker Cc: Amul Sul , Kirill Reshke , Vik Fearing , Isaac Morland , pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="0000000000008762c5064cdd66ca" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008762c5064cdd66ca Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Mar 11, 2026 at 12:22=E2=80=AFAM Corey Huinker wrote: > > While I still think the patch order is a bit backwards [1], the order cho= sen does have a sense to it, and whether or not that is the right order is = up to the committer. Please post a rebase so I can mark it as ready for com= mitter. > > > [1] I would have preferred adding the CAST functionality first, then swit= ching over each datatype one-by-one, thus demonstrating that non-safe datat= ypes can co-exist with this new functionality. But that's just my personal = preference. We can evaluate CoerceViaIO in an error-safe manner in the HEAD. However, as discussed in this thread[1], we cannot simply take a FuncExpr produced by a TYPE CAST, convert it to a CoerceViaIO node, and rely on CoerceViaIO to do the actual soft-error evaluation. Therefore to support the CAST(expr AS newtype DEFAULT expr ON CONVERSION ER= ROR) syntax, refactoring the existing cast functions to make them error-safe is really necessary. Overall I think refactoring the existing cast function (replacing ereport to ereturn or errsave) should be done first. I did one more round of comment refactoring and variable renaming. [1]: https://www.postgresql.org/message-id/CACJufxGw_OY7K3rfG4kDb902O2guhT-= wgTjTJQ%3DpWeVWRTHpHQ%40mail.gmail.com -- jian https://www.enterprisedb.com/ --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0009-error-safe-for-casting-bigint-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0009-error-safe-for-casting-bigint-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg3z2 RnJvbSAxZDIwMzJjM2NiMDUzMGFhMDU1NmEzYWU1NTdhODJjNmY0ZGQ1MjUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6MjI6MDAgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwOS8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBiaWdpbnQgdG8gb3RoZXIgdHlwZXMgcGVy CiBwZ19jYXN0CgpzZWxlY3QgY2FzdHNvdXJjZTo6cmVndHlwZSwgY2FzdHRhcmdldDo6cmVndHlw ZSwgY2FzdGZ1bmMsCmNhc3Rjb250ZXh0LGNhc3RtZXRob2QsIHBwLnByb3NyYywgcHAucHJvbmFt ZSBmcm9tIHBnX2Nhc3QgcGMgam9pbiBwZ19wcm9jIHBwIG9uCnBwLm9pZCA9IHBjLmNhc3RmdW5j IGFuZCBwYy5jYXN0ZnVuYyA+IDAKYW5kIGNhc3Rzb3VyY2U6OnJlZ3R5cGUgPSAnYmlnaW50Jzo6 cmVndHlwZQpvcmRlciBieSBjYXN0c291cmNlOjpyZWd0eXBlOwoKIGNhc3Rzb3VyY2UgfCAgICBj YXN0dGFyZ2V0ICAgIHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgICBw cm9zcmMgICAgfCBwcm9uYW1lCi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0K IGJpZ2ludCAgICAgfCBzbWFsbGludCAgICAgICAgIHwgICAgICA3MTQgfCBhICAgICAgICAgICB8 IGYgICAgICAgICAgfCBpbnQ4MiAgICAgICAgfCBpbnQyCiBiaWdpbnQgICAgIHwgaW50ZWdlciAg ICAgICAgICB8ICAgICAgNDgwIHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgaW50ODQgICAg ICAgIHwgaW50NAogYmlnaW50ICAgICB8IHJlYWwgICAgICAgICAgICAgfCAgICAgIDY1MiB8IGkg ICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9mICAgICAgICB8IGZsb2F0NAogYmlnaW50ICAg ICB8IGRvdWJsZSBwcmVjaXNpb24gfCAgICAgIDQ4MiB8IGkgICAgICAgICAgIHwgZiAgICAgICAg ICB8IGk4dG9kICAgICAgICB8IGZsb2F0OAogYmlnaW50ICAgICB8IG51bWVyaWMgICAgICAgICAg fCAgICAgMTc4MSB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGludDhfbnVtZXJpYyB8IG51 bWVyaWMKIGJpZ2ludCAgICAgfCBtb25leSAgICAgICAgICAgIHwgICAgIDM4MTIgfCBhICAgICAg ICAgICB8IGYgICAgICAgICAgfCBpbnQ4X2Nhc2ggICAgfCBtb25leQogYmlnaW50ICAgICB8IG9p ZCAgICAgICAgICAgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4 dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ3Byb2MgICAgICAgICAgfCAgICAgMTI4 NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50 ICAgICB8IHJlZ3Byb2NlZHVyZSAgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAg ICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ29wZXIgICAgICAgICAg fCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9p ZAogYmlnaW50ICAgICB8IHJlZ29wZXJhdG9yICAgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAg IHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ2NsYXNz ICAgICAgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQg ICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ2NvbGxhdGlvbiAgICAgfCAgICAgMTI4NyB8IGkg ICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8 IHJlZ3R5cGUgICAgICAgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8 IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ2NvbmZpZyAgICAgICAgfCAgICAg MTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmln aW50ICAgICB8IHJlZ2RpY3Rpb25hcnkgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAg ICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ3JvbGUgICAgICAg ICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8 IG9pZAogYmlnaW50ICAgICB8IHJlZ25hbWVzcGFjZSAgICAgfCAgICAgMTI4NyB8IGkgICAgICAg ICAgIHwgZiAgICAgICAgICB8IGk4dG9vaWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IHJlZ2Rh dGFiYXNlICAgICAgfCAgICAgMTI4NyB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGk4dG9v aWQgICAgICB8IG9pZAogYmlnaW50ICAgICB8IGJ5dGVhICAgICAgICAgICAgfCAgICAgNjM2OSB8 IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGludDhfYnl0ZWEgICB8IGJ5dGVhCiBiaWdpbnQg ICAgIHwgYml0ICAgICAgICAgICAgICB8ICAgICAyMDc1IHwgZSAgICAgICAgICAgfCBmICAgICAg ICAgIHwgYml0ZnJvbWludDggIHwgYml0CigyMSByb3dzKQoKYWxyZWFkeSBlcnJvciBzYWZlOiBp OHRvZiwgaTh0b2QsIGludDhfbnVtZXJpYywgaW50OF9ieXRlYSwgYml0ZnJvbWludDgKZGlzY3Vz c2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQURrTE09ZnYxSmZZNFVmYS1qY3d3TmJqUWl4TlZp c2tROGpadTNUel9wNjU2aV80aFFAbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC91dGls cy9hZHQvaW50OC5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDgu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMKaW5kZXggNmM4ZmI3YjcyNzUuLmRhMzky MTg5NzQzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvaW50OC5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMKQEAgLTEyNTEsNyArMTI1MSw3IEBAIGludDg0KFBH X0ZVTkNUSU9OX0FSR1MpCiAJaW50NjQJCWFyZyA9IFBHX0dFVEFSR19JTlQ2NCgwKTsKIAogCWlm ICh1bmxpa2VseShhcmcgPCBQR19JTlQzMl9NSU4pIHx8IHVubGlrZWx5KGFyZyA+IFBHX0lOVDMy X01BWCkpCi0JCWVyZXBvcnQoRVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0 dW0pIDAsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSks CiAJCQkJIGVycm1zZygiaW50ZWdlciBvdXQgb2YgcmFuZ2UiKSkpOwogCkBAIC0xMjcyLDcgKzEy NzIsNyBAQCBpbnQ4MihQR19GVU5DVElPTl9BUkdTKQogCWludDY0CQlhcmcgPSBQR19HRVRBUkdf SU5UNjQoMCk7CiAKIAlpZiAodW5saWtlbHkoYXJnIDwgUEdfSU5UMTZfTUlOKSB8fCB1bmxpa2Vs eShhcmcgPiBQR19JTlQxNl9NQVgpKQotCQllcmVwb3J0KEVSUk9SLAorCQllcmV0dXJuKGZjaW5m by0+Y29udGV4dCwgKERhdHVtKSAwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfTlVNRVJJQ19WQUxV RV9PVVRfT0ZfUkFOR0UpLAogCQkJCSBlcnJtc2coInNtYWxsaW50IG91dCBvZiByYW5nZSIpKSk7 CiAKQEAgLTEzNTUsNyArMTM1NSw3IEBAIGk4dG9vaWQoUEdfRlVOQ1RJT05fQVJHUykKIAlpbnQ2 NAkJYXJnID0gUEdfR0VUQVJHX0lOVDY0KDApOwogCiAJaWYgKHVubGlrZWx5KGFyZyA8IDApIHx8 IHVubGlrZWx5KGFyZyA+IFBHX1VJTlQzMl9NQVgpKQotCQllcmVwb3J0KEVSUk9SLAorCQllcmV0 dXJuKGZjaW5mby0+Y29udGV4dCwgKERhdHVtKSAwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfTlVN RVJJQ19WQUxVRV9PVVRfT0ZfUkFOR0UpLAogCQkJCSBlcnJtc2coIk9JRCBvdXQgb2YgcmFuZ2Ui KSkpOwogCi0tIAoyLjM0LjEKCg== --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0008-error-safe-for-casting-integer-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0008-error-safe-for-casting-integer-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg413 RnJvbSBhNDlmNTE5YmM3ZTI0MDBiOWEyODgyMjY4ZjY3YjM5MWU3ZjEyY2UxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6MjA6MTAgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwOC8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBpbnRlZ2VyIHRvIG90aGVyIHR5cGVzIHBl cgogcGdfY2FzdAoKc2VsZWN0IGNhc3Rzb3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJlZ3R5 cGUsIGNhc3RmdW5jLApjYXN0Y29udGV4dCxjYXN0bWV0aG9kLCBwcC5wcm9zcmMsIHBwLnByb25h bWUgZnJvbSBwZ19jYXN0IHBjIGpvaW4gcGdfcHJvYyBwcCBvbgpwcC5vaWQgPSBwYy5jYXN0ZnVu YyBhbmQgcGMuY2FzdGZ1bmMgPiAwCmFuZCBjYXN0c291cmNlOjpyZWd0eXBlID0gJ2ludGVnZXIn OjpyZWd0eXBlCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7CgogY2FzdHNvdXJjZSB8ICAg IGNhc3R0YXJnZXQgICAgfCBjYXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8ICAg IHByb3NyYyAgICB8IHByb25hbWUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LQogaW50ZWdlciAgICB8IGJpZ2ludCAgICAgICAgICAgfCAgICAgIDQ4MSB8IGkgICAgICAgICAg IHwgZiAgICAgICAgICB8IGludDQ4ICAgICAgICB8IGludDgKIGludGVnZXIgICAgfCBzbWFsbGlu dCAgICAgICAgIHwgICAgICAzMTQgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCBpNHRvaTIg ICAgICAgfCBpbnQyCiBpbnRlZ2VyICAgIHwgcmVhbCAgICAgICAgICAgICB8ICAgICAgMzE4IHwg aSAgICAgICAgICAgfCBmICAgICAgICAgIHwgaTR0b2YgICAgICAgIHwgZmxvYXQ0CiBpbnRlZ2Vy ICAgIHwgZG91YmxlIHByZWNpc2lvbiB8ICAgICAgMzE2IHwgaSAgICAgICAgICAgfCBmICAgICAg ICAgIHwgaTR0b2QgICAgICAgIHwgZmxvYXQ4CiBpbnRlZ2VyICAgIHwgbnVtZXJpYyAgICAgICAg ICB8ICAgICAxNzQwIHwgaSAgICAgICAgICAgfCBmICAgICAgICAgIHwgaW50NF9udW1lcmljIHwg bnVtZXJpYwogaW50ZWdlciAgICB8IG1vbmV5ICAgICAgICAgICAgfCAgICAgMzgxMSB8IGEgICAg ICAgICAgIHwgZiAgICAgICAgICB8IGludDRfY2FzaCAgICB8IG1vbmV5CiBpbnRlZ2VyICAgIHwg Ym9vbGVhbiAgICAgICAgICB8ICAgICAyNTU3IHwgZSAgICAgICAgICAgfCBmICAgICAgICAgIHwg aW50NF9ib29sICAgIHwgYm9vbAogaW50ZWdlciAgICB8IGJ5dGVhICAgICAgICAgICAgfCAgICAg NjM2OCB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGludDRfYnl0ZWEgICB8IGJ5dGVhCiBp bnRlZ2VyICAgIHwgImNoYXIiICAgICAgICAgICB8ICAgICAgIDc4IHwgZSAgICAgICAgICAgfCBm ICAgICAgICAgIHwgaTR0b2NoYXIgICAgIHwgY2hhcgogaW50ZWdlciAgICB8IGJpdCAgICAgICAg ICAgICAgfCAgICAgMTY4MyB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGJpdGZyb21pbnQ0 ICB8IGJpdAooMTAgcm93cykKCm9ubHkgaW50NF9jYXNoLCBpNHRvaTIsIGk0dG9jaGFyIG5lZWQg dGFrZSBjYXJlIG9mIGVycm9yIGhhbmRsaW5nLiAgYnV0IHN1cHBvcnQKZm9yIGNhc2ggZGF0YSB0 eXBlIGlzIG5vdCBlYXN5LCBzbyBvbmx5IGk0dG9pMiwgaTR0b2NoYXIgZnVuY3Rpb24gcmVmYWN0 b3JpbmcuCgpkaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZh LWpjd3dOYmpRaXhOVmlza1E4alp1M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FkdC9jaGFyLmMgfCAyICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQv aW50LmMgIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2NoYXIuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9jaGFyLmMKaW5kZXggM2U0ZGVmNjhmZTQuLjY5ODg2MzkyNGVlIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvY2hhci5jCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9jaGFyLmMKQEAgLTE5Miw3ICsxOTIsNyBAQCBpNHRvY2hhcihQR19GVU5DVElP Tl9BUkdTKQogCWludDMyCQlhcmcxID0gUEdfR0VUQVJHX0lOVDMyKDApOwogCiAJaWYgKGFyZzEg PCBTQ0hBUl9NSU4gfHwgYXJnMSA+IFNDSEFSX01BWCkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJl dHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX05V TUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKIAkJCQkgZXJybXNnKCJcImNoYXJcIiBvdXQgb2Yg cmFuZ2UiKSkpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvaW50LmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvaW50LmMKaW5kZXggZmY1NGQ1MGVhOWQuLjRjODk0YTQ5ZDVk IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvaW50LmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2ludC5jCkBAIC0zNzksNyArMzc5LDcgQEAgaTR0b2kyKFBHX0ZVTkNUSU9O X0FSR1MpCiAJaW50MzIJCWFyZzEgPSBQR19HRVRBUkdfSU5UMzIoMCk7CiAKIAlpZiAodW5saWtl bHkoYXJnMSA8IFNIUlRfTUlOKSB8fCB1bmxpa2VseShhcmcxID4gU0hSVF9NQVgpKQotCQllcmVw b3J0KEVSUk9SLAorCQllcmV0dXJuKGZjaW5mby0+Y29udGV4dCwgKERhdHVtKSAwLAogCQkJCShl cnJjb2RlKEVSUkNPREVfTlVNRVJJQ19WQUxVRV9PVVRfT0ZfUkFOR0UpLAogCQkJCSBlcnJtc2co InNtYWxsaW50IG91dCBvZiByYW5nZSIpKSk7CiAKLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0007-error-safe-for-casting-macaddr8-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0007-error-safe-for-casting-macaddr8-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg444 RnJvbSA2NmFhOTAwNmFlMWJiNjMwZmJjODUwNTRmMjgwYzRlMmM2YTVmNDQ0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTIgRGVjIDIwMjUgMTU6MDM6MDYgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwNy8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBtYWNhZGRyOCB0byBvdGhlciB0eXBlcyBw ZXIKIHBnX2Nhc3QKCnNlbGVjdCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFyZ2V0OjpyZWd0 eXBlLCBjYXN0ZnVuYywgY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3JjLCBwcC5wcm9u YW1lCmZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24gcHAub2lkID0gcGMuY2FzdGZ1 bmMKYW5kIHBjLmNhc3RmdW5jID4gMCBhbmQgY2FzdHNvdXJjZTo6cmVndHlwZSA9J21hY2FkZHI4 Jzo6cmVndHlwZQpvcmRlciBieSBjYXN0c291cmNlOjpyZWd0eXBlOwoKIGNhc3Rzb3VyY2UgfCBj YXN0dGFyZ2V0IHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgICAgIHBy b3NyYyAgICAgICB8IHByb25hbWUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t CiBtYWNhZGRyOCAgIHwgbWFjYWRkciAgICB8ICAgICA0MTI0IHwgaSAgICAgICAgICAgfCBmICAg ICAgICAgIHwgbWFjYWRkcjh0b21hY2FkZHIgfCBtYWNhZGRyCigxIHJvdykKCmRpc2N1c3Npb246 IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FEa0xNPWZ2MUpmWTRVZmEtamN3d05ialFpeE5WaXNrUThq WnUzVHpfcDY1NmlfNGhRQG1haWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L21hYzguYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9tYWM4LmMgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvbWFjOC5jCmluZGV4IGMxYmY5ZmQ1NzgzLi4wNDI1ZWE0NzNhNSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L21hYzguYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvbWFjOC5jCkBAIC01NTAsNyArNTUwLDcgQEAgbWFjYWRkcjh0b21hY2FkZHIoUEdf RlVOQ1RJT05fQVJHUykKIAlyZXN1bHQgPSBwYWxsb2MwX29iamVjdChtYWNhZGRyKTsKIAogCWlm ICgoYWRkci0+ZCAhPSAweEZGKSB8fCAoYWRkci0+ZSAhPSAweEZFKSkKLQkJZXJlcG9ydChFUlJP UiwKKwkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShF UlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKIAkJCQkgZXJybXNnKCJtYWNhZGRy OCBkYXRhIG91dCBvZiByYW5nZSB0byBjb252ZXJ0IHRvIG1hY2FkZHIiKSwKIAkJCQkgZXJyaGlu dCgiT25seSBhZGRyZXNzZXMgdGhhdCBoYXZlIEZGIGFuZCBGRSBhcyB2YWx1ZXMgaW4gdGhlICIK LS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0003-error-safe-for-casting-character-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0003-error-safe-for-casting-character-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg3x1 RnJvbSAzNzczMjA3M2VmZTc5NjQxYjQ4NThhOTAxMDZjMjdlYTE4MzNmMzNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMTIgTWFyIDIwMjYgMDk6MzY6MDUgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwMy8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBjaGFyYWN0ZXIgdG8gb3RoZXIgdHlwZXMg cGVyCiBwZ19jYXN0CgpzZWxlY3QgY2FzdHNvdXJjZTo6cmVndHlwZSwgY2FzdHRhcmdldDo6cmVn dHlwZSwgY2FzdGZ1bmMsCmNhc3Rjb250ZXh0LGNhc3RtZXRob2QsIHBwLnByb3NyYywgcHAucHJv bmFtZSBmcm9tIHBnX2Nhc3QgcGMgam9pbiBwZ19wcm9jIHBwIG9uCnBwLm9pZCA9IHBjLmNhc3Rm dW5jIGFuZCBwYy5jYXN0ZnVuYyA+IDAKYW5kIGNhc3Rzb3VyY2U6OnJlZ3R5cGUgPSdjaGFyYWN0 ZXInOjpyZWd0eXBlCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7CgogY2FzdHNvdXJjZSB8 ICAgIGNhc3R0YXJnZXQgICAgIHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2Qg fCAgIHByb3NyYyAgICB8IHByb25hbWUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLQogY2hhcmFjdGVyICB8IHRleHQgICAgICAgICAgICAgIHwgICAgICA0MDEgfCBpICAgICAg ICAgICB8IGYgICAgICAgICAgfCBydHJpbTEgICAgICB8IHRleHQKIGNoYXJhY3RlciAgfCBjaGFy YWN0ZXIgdmFyeWluZyB8ICAgICAgNDAxIHwgaSAgICAgICAgICAgfCBmICAgICAgICAgIHwgcnRy aW0xICAgICAgfCB0ZXh0CiBjaGFyYWN0ZXIgIHwgImNoYXIiICAgICAgICAgICAgfCAgICAgIDk0 NCB8IGEgICAgICAgICAgIHwgZiAgICAgICAgICB8IHRleHRfY2hhciAgIHwgY2hhcgogY2hhcmFj dGVyICB8IG5hbWUgICAgICAgICAgICAgIHwgICAgICA0MDkgfCBpICAgICAgICAgICB8IGYgICAg ICAgICAgfCBicGNoYXJfbmFtZSB8IG5hbWUKIGNoYXJhY3RlciAgfCB4bWwgICAgICAgICAgICAg ICB8ICAgICAyODk2IHwgZSAgICAgICAgICAgfCBmICAgICAgICAgIHwgdGV4dHRveG1sICAgfCB4 bWwKIGNoYXJhY3RlciAgfCBjaGFyYWN0ZXIgICAgICAgICB8ICAgICAgNjY4IHwgaSAgICAgICAg ICAgfCBmICAgICAgICAgIHwgYnBjaGFyICAgICAgfCBicGNoYXIKKDYgcm93cykKCm9ubHkgdGV4 dHRveG1sLCBicGNoYXIoUEdfRlVOQ1RJT05fQVJHUykgbmVlZCB0YWtlIGNhcmUgb2YgZXJyb3Ig aGFuZGxpbmcuCm90aGVyIGZ1bmN0aW9ucyBhbHJlYWR5IGVycm9yIHNhZmUuCgpkaXNjdXNzaW9u OiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpjd3dOYmpRaXhOVmlza1E4 alp1M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9y L2V4ZWNFeHBySW50ZXJwLmMgfCAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmNoYXIu YyAgICAgICB8ICAyICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMgICAgICAgICAgIHwg MTggKysrKysrKysrKysrLS0tLS0tCiBzcmMvaW5jbHVkZS91dGlscy94bWwuaCAgICAgICAgICAg ICAgIHwgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwckludGVycC5j IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYwppbmRleCA2MWZmNWRkYzc0 Yy4uNjljMTdlMDI0ZjIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBy SW50ZXJwLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYwpAQCAt NDU0Niw3ICs0NTQ2LDcgQEAgRXhlY0V2YWxYbWxFeHByKEV4cHJTdGF0ZSAqc3RhdGUsIEV4cHJF dmFsU3RlcCAqb3ApCiAKIAkJCQkqb3AtPnJlc3ZhbHVlID0gUG9pbnRlckdldERhdHVtKHhtbHBh cnNlKGRhdGEsCiAJCQkJCQkJCQkJCQkJCSB4ZXhwci0+eG1sb3B0aW9uLAotCQkJCQkJCQkJCQkJ CQkgcHJlc2VydmVfd2hpdGVzcGFjZSkpOworCQkJCQkJCQkJCQkJCQkgcHJlc2VydmVfd2hpdGVz cGFjZSwgTlVMTCkpOwogCQkJCSpvcC0+cmVzbnVsbCA9IGZhbHNlOwogCQkJfQogCQkJYnJlYWs7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdmFyY2hhci5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3ZhcmNoYXIuYwppbmRleCBkZjMwNTA5ODEzMC4uNmYwODM5NzNmZTcgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJjaGFyLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3ZhcmNoYXIuYwpAQCAtMzA3LDcgKzMwNyw3IEBAIGJwY2hhcihQR19GVU5D VElPTl9BUkdTKQogCQl7CiAJCQlmb3IgKGkgPSBtYXhtYmxlbjsgaSA8IGxlbjsgaSsrKQogCQkJ CWlmIChzW2ldICE9ICcgJykKLQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJldHVybihmY2lu Zm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NUUklOR19E QVRBX1JJR0hUX1RSVU5DQVRJT04pLAogCQkJCQkJCSBlcnJtc2coInZhbHVlIHRvbyBsb25nIGZv ciB0eXBlIGNoYXJhY3RlciglZCkiLAogCQkJCQkJCQkJbWF4bGVuKSkpOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3htbC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3htbC5j CmluZGV4IDc5ZjZjZjdiNGZhLi41MmY0ZjhmYzQ5MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3htbC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYwpAQCAtNjYw LDcgKzY2MCw3IEBAIHRleHR0b3htbChQR19GVU5DVElPTl9BUkdTKQogewogCXRleHQJICAgKmRh dGEgPSBQR19HRVRBUkdfVEVYVF9QUCgwKTsKIAotCVBHX1JFVFVSTl9YTUxfUCh4bWxwYXJzZShk YXRhLCB4bWxvcHRpb24sIHRydWUpKTsKKwlQR19SRVRVUk5fWE1MX1AoeG1scGFyc2UoZGF0YSwg eG1sb3B0aW9uLCB0cnVlLCBmY2luZm8tPmNvbnRleHQpKTsKIH0KIAogCkBAIC0xMDI5LDE5ICsx MDI5LDI1IEBAIHhtbGVsZW1lbnQoWG1sRXhwciAqeGV4cHIsCiAKIAogeG1sdHlwZSAqCi14bWxw YXJzZSh0ZXh0ICpkYXRhLCBYbWxPcHRpb25UeXBlIHhtbG9wdGlvbl9hcmcsIGJvb2wgcHJlc2Vy dmVfd2hpdGVzcGFjZSkKK3htbHBhcnNlKHRleHQgKmRhdGEsIFhtbE9wdGlvblR5cGUgeG1sb3B0 aW9uX2FyZywgYm9vbCBwcmVzZXJ2ZV93aGl0ZXNwYWNlLCBOb2RlICplc2NvbnRleHQpCiB7CiAj aWZkZWYgVVNFX0xJQlhNTAogCXhtbERvY1B0cglkb2M7CiAKIAlkb2MgPSB4bWxfcGFyc2UoZGF0 YSwgeG1sb3B0aW9uX2FyZywgcHJlc2VydmVfd2hpdGVzcGFjZSwKLQkJCQkJR2V0RGF0YWJhc2VF bmNvZGluZygpLCBOVUxMLCBOVUxMLCBOVUxMKTsKLQl4bWxGcmVlRG9jKGRvYyk7CisJCQkJCUdl dERhdGFiYXNlRW5jb2RpbmcoKSwgTlVMTCwgTlVMTCwgZXNjb250ZXh0KTsKKwlpZiAoZG9jKQor CQl4bWxGcmVlRG9jKGRvYyk7CisKKwlpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRChlc2NvbnRleHQp KQorCQlyZXR1cm4gTlVMTDsKIAogCXJldHVybiAoeG1sdHlwZSAqKSBkYXRhOwogI2Vsc2UKLQlO T19YTUxfU1VQUE9SVCgpOwotCXJldHVybiBOVUxMOworCWVyZXR1cm4oZXNjb250ZXh0LCBOVUxM LAorCQkJZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQllcnJtc2co InVuc3VwcG9ydGVkIFhNTCBmZWF0dXJlIiksCisJCQllcnJkZXRhaWwoIlRoaXMgZnVuY3Rpb25h bGl0eSByZXF1aXJlcyB0aGUgc2VydmVyIHRvIGJlIGJ1aWx0IHdpdGggbGlieG1sIHN1cHBvcnQu IikpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3htbC5oIGIv c3JjL2luY2x1ZGUvdXRpbHMveG1sLmgKaW5kZXggMDIzZmRlYjQ1MzEuLmNhMjY2ZjQ0OGQ2IDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy94bWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGls cy94bWwuaApAQCAtNzMsNyArNzMsNyBAQCBleHRlcm4geG1sdHlwZSAqeG1sY29uY2F0KExpc3Qg KmFyZ3MpOwogZXh0ZXJuIHhtbHR5cGUgKnhtbGVsZW1lbnQoWG1sRXhwciAqeGV4cHIsCiAJCQkJ CQkgICBjb25zdCBEYXR1bSAqbmFtZWRfYXJndmFsdWUsIGNvbnN0IGJvb2wgKm5hbWVkX2FyZ251 bGwsCiAJCQkJCQkgICBjb25zdCBEYXR1bSAqYXJndmFsdWUsIGNvbnN0IGJvb2wgKmFyZ251bGwp OwotZXh0ZXJuIHhtbHR5cGUgKnhtbHBhcnNlKHRleHQgKmRhdGEsIFhtbE9wdGlvblR5cGUgeG1s b3B0aW9uX2FyZywgYm9vbCBwcmVzZXJ2ZV93aGl0ZXNwYWNlKTsKK2V4dGVybiB4bWx0eXBlICp4 bWxwYXJzZSh0ZXh0ICpkYXRhLCBYbWxPcHRpb25UeXBlIHhtbG9wdGlvbl9hcmcsIGJvb2wgcHJl c2VydmVfd2hpdGVzcGFjZSwgTm9kZSAqZXNjb250ZXh0KTsKIGV4dGVybiB4bWx0eXBlICp4bWxw aShjb25zdCBjaGFyICp0YXJnZXQsIHRleHQgKmFyZywgYm9vbCBhcmdfaXNfbnVsbCwgYm9vbCAq cmVzdWx0X2lzX251bGwpOwogZXh0ZXJuIHhtbHR5cGUgKnhtbHJvb3QoeG1sdHlwZSAqZGF0YSwg dGV4dCAqdmVyc2lvbiwgaW50IHN0YW5kYWxvbmUpOwogZXh0ZXJuIGJvb2wgeG1sX2lzX2RvY3Vt ZW50KHhtbHR5cGUgKmFyZyk7Ci0tIAoyLjM0LjEKCg== --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0010-error-safe-for-casting-numeric-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0010-error-safe-for-casting-numeric-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg3s0 RnJvbSA1MDFlMDk4OGU1YzBlMTVhZTQ2NjE0ODAwZTI3OGYwMjgzMzYwMjE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6MjU6MzcgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAxMC8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBudW1lcmljIHRvIG90aGVyIHR5cGVzIHBl cgogcGdfY2FzdAoKc2VsZWN0IGNhc3Rzb3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJlZ3R5 cGUsIGNhc3RmdW5jLApjYXN0Y29udGV4dCxjYXN0bWV0aG9kLCBwcC5wcm9zcmMsIHBwLnByb25h bWUgZnJvbSBwZ19jYXN0IHBjIGpvaW4gcGdfcHJvYyBwcCBvbgpwcC5vaWQgPSBwYy5jYXN0ZnVu YyBhbmQgcGMuY2FzdGZ1bmMgPiAwCmFuZCBjYXN0c291cmNlOjpyZWd0eXBlID0gJ251bWVyaWMn OjpyZWd0eXBlCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7CgpjYXN0c291cmNlIHwgICAg Y2FzdHRhcmdldCAgICB8IGNhc3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIHwgICAg IHByb3NyYyAgICAgfCBwcm9uYW1lCi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLQogbnVtZXJpYyAgICB8IGJpZ2ludCAgICAgICAgICAgfCAgICAgMTc3OSB8IGEgICAgICAg ICAgIHwgZiAgICAgICAgICB8IG51bWVyaWNfaW50OCAgIHwgaW50OAogbnVtZXJpYyAgICB8IHNt YWxsaW50ICAgICAgICAgfCAgICAgMTc4MyB8IGEgICAgICAgICAgIHwgZiAgICAgICAgICB8IG51 bWVyaWNfaW50MiAgIHwgaW50MgogbnVtZXJpYyAgICB8IGludGVnZXIgICAgICAgICAgfCAgICAg MTc0NCB8IGEgICAgICAgICAgIHwgZiAgICAgICAgICB8IG51bWVyaWNfaW50NCAgIHwgaW50NAog bnVtZXJpYyAgICB8IHJlYWwgICAgICAgICAgICAgfCAgICAgMTc0NSB8IGkgICAgICAgICAgIHwg ZiAgICAgICAgICB8IG51bWVyaWNfZmxvYXQ0IHwgZmxvYXQ0CiBudW1lcmljICAgIHwgZG91Ymxl IHByZWNpc2lvbiB8ICAgICAxNzQ2IHwgaSAgICAgICAgICAgfCBmICAgICAgICAgIHwgbnVtZXJp Y19mbG9hdDggfCBmbG9hdDgKIG51bWVyaWMgICAgfCBtb25leSAgICAgICAgICAgIHwgICAgIDM4 MjQgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCBudW1lcmljX2Nhc2ggICB8IG1vbmV5CiBu dW1lcmljICAgIHwgbnVtZXJpYyAgICAgICAgICB8ICAgICAxNzAzIHwgaSAgICAgICAgICAgfCBm ICAgICAgICAgIHwgbnVtZXJpYyAgICAgICAgfCBudW1lcmljCig3IHJvd3MpCgpkaXNjdXNzaW9u OiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQ0p1ZnhIQ016ckhPVz13UmU4TDMwck1oQjNzandBdjFM RTkyOEZhN3N4TXUxVHgtZ0BtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9udW1lcmljLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hZHQvbnVtZXJpYy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L251bWVyaWMuYwppbmRleCBkMjViOGFkNTA1ZC4uZDY2ZmI4NjY2MmYgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L251bWVyaWMuYwpAQCAtMTI0NCw3ICsxMjQ0LDggQEAgbnVtZXJpYwkJKFBHX0ZVTkNUSU9OX0FS R1MpCiAJICovCiAJaWYgKE5VTUVSSUNfSVNfU1BFQ0lBTChudW0pKQogCXsKLQkJKHZvaWQpIGFw cGx5X3R5cG1vZF9zcGVjaWFsKG51bSwgdHlwbW9kLCBOVUxMKTsKKwkJaWYgKCFhcHBseV90eXBt b2Rfc3BlY2lhbChudW0sIHR5cG1vZCwgZmNpbmZvLT5jb250ZXh0KSkKKwkJCVBHX1JFVFVSTl9O VUxMKCk7CiAJCVBHX1JFVFVSTl9OVU1FUklDKGR1cGxpY2F0ZV9udW1lcmljKG51bSkpOwogCX0K IApAQCAtMTI5NSw4ICsxMjk2LDkgQEAgbnVtZXJpYwkJKFBHX0ZVTkNUSU9OX0FSR1MpCiAJaW5p dF92YXIoJnZhcik7CiAKIAlzZXRfdmFyX2Zyb21fbnVtKG51bSwgJnZhcik7Ci0JKHZvaWQpIGFw cGx5X3R5cG1vZCgmdmFyLCB0eXBtb2QsIE5VTEwpOwotCW5ldyA9IG1ha2VfcmVzdWx0KCZ2YXIp OworCWlmICghYXBwbHlfdHlwbW9kKCZ2YXIsIHR5cG1vZCwgZmNpbmZvLT5jb250ZXh0KSkKKwkJ UEdfUkVUVVJOX05VTEwoKTsKKwluZXcgPSBtYWtlX3Jlc3VsdF9zYWZlKCZ2YXIsIGZjaW5mby0+ Y29udGV4dCk7CiAKIAlmcmVlX3ZhcigmdmFyKTsKIApAQCAtMzAxOCw3ICszMDIwLDEwIEBAIG51 bWVyaWNfbXVsKFBHX0ZVTkNUSU9OX0FSR1MpCiAJTnVtZXJpYwkJbnVtMiA9IFBHX0dFVEFSR19O VU1FUklDKDEpOwogCU51bWVyaWMJCXJlczsKIAotCXJlcyA9IG51bWVyaWNfbXVsX3NhZmUobnVt MSwgbnVtMiwgTlVMTCk7CisJcmVzID0gbnVtZXJpY19tdWxfc2FmZShudW0xLCBudW0yLCBmY2lu Zm8tPmNvbnRleHQpOworCisJaWYgKHVubGlrZWx5KFNPRlRfRVJST1JfT0NDVVJSRUQoZmNpbmZv LT5jb250ZXh0KSkpCisJCVBHX1JFVFVSTl9OVUxMKCk7CiAKIAlQR19SRVRVUk5fTlVNRVJJQyhy ZXMpOwogfQpAQCAtNDM5Miw5ICs0Mzk3LDE1IEBAIG51bWVyaWNfaW50NF9zYWZlKE51bWVyaWMg bnVtLCBOb2RlICplc2NvbnRleHQpCiBEYXR1bQogbnVtZXJpY19pbnQ0KFBHX0ZVTkNUSU9OX0FS R1MpCiB7CisJaW50MzIJCXJlc3VsdDsKIAlOdW1lcmljCQludW0gPSBQR19HRVRBUkdfTlVNRVJJ QygwKTsKIAotCVBHX1JFVFVSTl9JTlQzMihudW1lcmljX2ludDRfc2FmZShudW0sIE5VTEwpKTsK KwlyZXN1bHQgPSBudW1lcmljX2ludDRfc2FmZShudW0sIGZjaW5mby0+Y29udGV4dCk7CisKKwlp ZiAodW5saWtlbHkoU09GVF9FUlJPUl9PQ0NVUlJFRChmY2luZm8tPmNvbnRleHQpKSkKKwkJUEdf UkVUVVJOX05VTEwoKTsKKworCVBHX1JFVFVSTl9JTlQzMihyZXN1bHQpOwogfQogCiAvKgpAQCAt NDQ2Miw5ICs0NDczLDE1IEBAIG51bWVyaWNfaW50OF9zYWZlKE51bWVyaWMgbnVtLCBOb2RlICpl c2NvbnRleHQpCiBEYXR1bQogbnVtZXJpY19pbnQ4KFBHX0ZVTkNUSU9OX0FSR1MpCiB7CisJaW50 NjQJCXJlc3VsdDsKIAlOdW1lcmljCQludW0gPSBQR19HRVRBUkdfTlVNRVJJQygwKTsKIAotCVBH X1JFVFVSTl9JTlQ2NChudW1lcmljX2ludDhfc2FmZShudW0sIE5VTEwpKTsKKwlyZXN1bHQgPSBu dW1lcmljX2ludDhfc2FmZShudW0sIGZjaW5mby0+Y29udGV4dCk7CisKKwlpZiAodW5saWtlbHko U09GVF9FUlJPUl9PQ0NVUlJFRChmY2luZm8tPmNvbnRleHQpKSkKKwkJUEdfUkVUVVJOX05VTEwo KTsKKworCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOwogfQogCiAKQEAgLTQ0ODgsMTEgKzQ1MDUs MTEgQEAgbnVtZXJpY19pbnQyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJaWYgKE5VTUVSSUNfSVNfU1BF Q0lBTChudW0pKQogCXsKIAkJaWYgKE5VTUVSSUNfSVNfTkFOKG51bSkpCi0JCQllcmVwb3J0KEVS Uk9SLAorCQkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkJKGVycmNv ZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAogCQkJCQkgZXJybXNnKCJjYW5ub3Qg Y29udmVydCBOYU4gdG8gJXMiLCAic21hbGxpbnQiKSkpOwogCQllbHNlCi0JCQllcmVwb3J0KEVS Uk9SLAorCQkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkJKGVycmNv ZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAogCQkJCQkgZXJybXNnKCJjYW5ub3Qg Y29udmVydCBpbmZpbml0eSB0byAlcyIsICJzbWFsbGludCIpKSk7CiAJfQpAQCAtNDUwMSwxMiAr NDUxOCwxMiBAQCBudW1lcmljX2ludDIoUEdfRlVOQ1RJT05fQVJHUykKIAlpbml0X3Zhcl9mcm9t X251bShudW0sICZ4KTsKIAogCWlmICghbnVtZXJpY3Zhcl90b19pbnQ2NCgmeCwgJnZhbCkpCi0J CWVyZXBvcnQoRVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJ CQkJKGVycmNvZGUoRVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCiAJCQkJIGVy cm1zZygic21hbGxpbnQgb3V0IG9mIHJhbmdlIikpKTsKIAogCWlmICh1bmxpa2VseSh2YWwgPCBQ R19JTlQxNl9NSU4pIHx8IHVubGlrZWx5KHZhbCA+IFBHX0lOVDE2X01BWCkpCi0JCWVyZXBvcnQo RVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJCQkJKGVycmNv ZGUoRVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCiAJCQkJIGVycm1zZygic21h bGxpbnQgb3V0IG9mIHJhbmdlIikpKTsKIApAQCAtNDU3MSwxMCArNDU4OCwxNCBAQCBudW1lcmlj X2Zsb2F0OChQR19GVU5DVElPTl9BUkdTKQogCiAJdG1wID0gRGF0dW1HZXRDU3RyaW5nKERpcmVj dEZ1bmN0aW9uQ2FsbDEobnVtZXJpY19vdXQsCiAJCQkJCQkJCQkJCSAgTnVtZXJpY0dldERhdHVt KG51bSkpKTsKLQotCXJlc3VsdCA9IERpcmVjdEZ1bmN0aW9uQ2FsbDEoZmxvYXQ4aW4sIENTdHJp bmdHZXREYXR1bSh0bXApKTsKLQotCXBmcmVlKHRtcCk7CisJaWYgKCFEaXJlY3RJbnB1dEZ1bmN0 aW9uQ2FsbFNhZmUoZmxvYXQ4aW4sIHRtcCwKKwkJCQkJCQkJCSBJbnZhbGlkT2lkLCAtMSwKKwkJ CQkJCQkJCSAoTm9kZSAqKSBmY2luZm8tPmNvbnRleHQsCisJCQkJCQkJCQkgJnJlc3VsdCkpCisJ eworCQlwZnJlZSh0bXApOworCQlQR19SRVRVUk5fTlVMTCgpOworCX0KIAogCVBHX1JFVFVSTl9E QVRVTShyZXN1bHQpOwogfQpAQCAtNDY2Niw3ICs0Njg3LDE0IEBAIG51bWVyaWNfZmxvYXQ0KFBH X0ZVTkNUSU9OX0FSR1MpCiAJdG1wID0gRGF0dW1HZXRDU3RyaW5nKERpcmVjdEZ1bmN0aW9uQ2Fs bDEobnVtZXJpY19vdXQsCiAJCQkJCQkJCQkJCSAgTnVtZXJpY0dldERhdHVtKG51bSkpKTsKIAot CXJlc3VsdCA9IERpcmVjdEZ1bmN0aW9uQ2FsbDEoZmxvYXQ0aW4sIENTdHJpbmdHZXREYXR1bSh0 bXApKTsKKwlpZiAoIURpcmVjdElucHV0RnVuY3Rpb25DYWxsU2FmZShmbG9hdDRpbiwgdG1wLAor CQkJCQkJCQkJIEludmFsaWRPaWQsIC0xLAorCQkJCQkJCQkJIChOb2RlICopIGZjaW5mby0+Y29u dGV4dCwKKwkJCQkJCQkJCSAmcmVzdWx0KSkKKwl7CisJCXBmcmVlKHRtcCk7CisJCVBHX1JFVFVS Tl9OVUxMKCk7CisJfQogCiAJcGZyZWUodG1wKTsKIAotLSAKMi4zNC4xCgo= --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0006-error-safe-for-casting-inet-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0006-error-safe-for-casting-inet-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg475 RnJvbSA3N2Y2ZmZhN2RmN2ZmMTgyNGQ4NzQxMDAyYWNjNzdhYTg0YzJkYWM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMTA6Mjg6NTQgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwNi8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBpbmV0IHRvIG90aGVyIHR5cGVzIHBlcgog cGdfY2FzdAoKc2VsZWN0IGNhc3Rzb3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJlZ3R5cGUs IGNhc3RmdW5jLApjYXN0Y29udGV4dCxjYXN0bWV0aG9kLCBwcC5wcm9zcmMsIHBwLnByb25hbWUg ZnJvbSBwZ19jYXN0IHBjIGpvaW4gcGdfcHJvYyBwcCBvbgpwcC5vaWQgPSBwYy5jYXN0ZnVuYyBh bmQgcGMuY2FzdGZ1bmMgPiAwCmFuZCBjYXN0c291cmNlOjpyZWd0eXBlID0gJ2luZXQnOjpyZWd0 eXBlCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7CgogY2FzdHNvdXJjZSB8ICAgIGNhc3R0 YXJnZXQgICAgIHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgICBwcm9z cmMgICAgfCBwcm9uYW1lCi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCiBp bmV0ICAgICAgIHwgY2lkciAgICAgICAgICAgICAgfCAgICAgMTcxNSB8IGEgICAgICAgICAgIHwg ZiAgICAgICAgICB8IGluZXRfdG9fY2lkciB8IGNpZHIKIGluZXQgICAgICAgfCB0ZXh0ICAgICAg ICAgICAgICB8ICAgICAgNzMwIHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgbmV0d29ya19z aG93IHwgdGV4dAogaW5ldCAgICAgICB8IGNoYXJhY3RlciB2YXJ5aW5nIHwgICAgICA3MzAgfCBh ICAgICAgICAgICB8IGYgICAgICAgICAgfCBuZXR3b3JrX3Nob3cgfCB0ZXh0CiBpbmV0ICAgICAg IHwgY2hhcmFjdGVyICAgICAgICAgfCAgICAgIDczMCB8IGEgICAgICAgICAgIHwgZiAgICAgICAg ICB8IG5ldHdvcmtfc2hvdyB8IHRleHQKKDQgcm93cykKCmluZXRfdG9fY2lkciBpcyBhbHJlYWR5 IGVycm9yIHNhZmUuCgpkaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFK Zlk0VWZhLWpjd3dOYmpRaXhOVmlza1E4alp1M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQot LS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9uZXR3b3JrLmMgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9hZHQvbmV0d29yay5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L25ldHdvcmsuYwpp bmRleCAzYTIwMDIwOTdkZC4uYzdlMDgyODc2NGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9uZXR3b3JrLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L25ldHdvcmsuYwpA QCAtMTEzNyw3ICsxMTM3LDcgQEAgbmV0d29ya19zaG93KFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlp ZiAocGdfaW5ldF9uZXRfbnRvcChpcF9mYW1pbHkoaXApLCBpcF9hZGRyKGlwKSwgaXBfbWF4Yml0 cyhpcCksCiAJCQkJCQkgdG1wLCBzaXplb2YodG1wKSkgPT0gTlVMTCkKLQkJZXJlcG9ydChFUlJP UiwKKwkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShF UlJDT0RFX0lOVkFMSURfQklOQVJZX1JFUFJFU0VOVEFUSU9OKSwKIAkJCQkgZXJybXNnKCJjb3Vs ZCBub3QgZm9ybWF0IGluZXQgdmFsdWU6ICVtIikpKTsKIAotLSAKMi4zNC4xCgo= --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0001-error-safe-for-casting-bytea-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0001-error-safe-for-casting-bytea-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg4e9 RnJvbSA1N2Q1ZmRkZmRjYWUxMTM2ZTk5NzhkMTQwYTYxNTg0YjRkZTBhZDEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6MDg6MDAgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwMS8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBieXRlYSB0byBvdGhlciB0eXBlcyBwZXIK IHBnX2Nhc3QKCnNlbGVjdCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFyZ2V0OjpyZWd0eXBl LCBjYXN0ZnVuYywgY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3JjLCBwcC5wcm9uYW1l CmZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24gcHAub2lkID0gcGMuY2FzdGZ1bmMg YW5kIHBjLmNhc3RmdW5jID4gMCBhbmQgY2FzdHNvdXJjZTo6cmVndHlwZSA9J2J5dGVhJzo6cmVn dHlwZQpvcmRlciBieSBjYXN0c291cmNlOjpyZWd0eXBlOwoKIGNhc3Rzb3VyY2UgfCBjYXN0dGFy Z2V0IHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgIHByb3NyYyAgIHwg cHJvbmFtZQotLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLQogYnl0ZWEgICAgICB8IHNtYWxs aW50ICAgfCAgICAgNjM3MCB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGJ5dGVhX2ludDIg fCBpbnQyCiBieXRlYSAgICAgIHwgaW50ZWdlciAgICB8ICAgICA2MzcxIHwgZSAgICAgICAgICAg fCBmICAgICAgICAgIHwgYnl0ZWFfaW50NCB8IGludDQKIGJ5dGVhICAgICAgfCBiaWdpbnQgICAg IHwgICAgIDYzNzIgfCBlICAgICAgICAgICB8IGYgICAgICAgICAgfCBieXRlYV9pbnQ4IHwgaW50 OAooMyByb3dzKQoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQURrTE09ZnYxSmZZ NFVmYS1qY3d3TmJqUWl4TlZpc2tROGpadTNUel9wNjU2aV80aFFAbWFpbC5nbWFpbC5jb20KLS0t CiBzcmMvYmFja2VuZC91dGlscy9hZHQvYnl0ZWEuYyB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9ieXRlYS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2J5dGVhLmMKaW5k ZXggZmQ3NjYyZDQxZWUuLmEwMmIwNTRiODczIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9hZHQvYnl0ZWEuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvYnl0ZWEuYwpAQCAtMTI1 NSw3ICsxMjU1LDcgQEAgYnl0ZWFfaW50MihQR19GVU5DVElPTl9BUkdTKQogCiAJLyogQ2hlY2sg dGhhdCB0aGUgYnl0ZSBhcnJheSBpcyBub3QgdG9vIGxvbmcgKi8KIAlpZiAobGVuID4gc2l6ZW9m KHJlc3VsdCkpCi0JCWVyZXBvcnQoRVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAo RGF0dW0pIDAsCiAJCQkJZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdF KSwKIAkJCQllcnJtc2coInNtYWxsaW50IG91dCBvZiByYW5nZSIpKTsKIApAQCAtMTI4MCw3ICsx MjgwLDcgQEAgYnl0ZWFfaW50NChQR19GVU5DVElPTl9BUkdTKQogCiAJLyogQ2hlY2sgdGhhdCB0 aGUgYnl0ZSBhcnJheSBpcyBub3QgdG9vIGxvbmcgKi8KIAlpZiAobGVuID4gc2l6ZW9mKHJlc3Vs dCkpCi0JCWVyZXBvcnQoRVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0p IDAsCiAJCQkJZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKIAkJ CQllcnJtc2coImludGVnZXIgb3V0IG9mIHJhbmdlIikpOwogCkBAIC0xMzA1LDcgKzEzMDUsNyBA QCBieXRlYV9pbnQ4KFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAkvKiBDaGVjayB0aGF0IHRoZSBieXRl IGFycmF5IGlzIG5vdCB0b28gbG9uZyAqLwogCWlmIChsZW4gPiBzaXplb2YocmVzdWx0KSkKLQkJ ZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJ CQllcnJjb2RlKEVSUkNPREVfTlVNRVJJQ19WQUxVRV9PVVRfT0ZfUkFOR0UpLAogCQkJCWVycm1z ZygiYmlnaW50IG91dCBvZiByYW5nZSIpKTsKIAotLSAKMi4zNC4xCgo= --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0002-error-safe-for-casting-bit-varbit-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0002-error-safe-for-casting-bit-varbit-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg4d8 RnJvbSBhOWQxYjIyNjFiODBmMDM1ZjQxNzk5MjUzMDdkMjk3MmNjMzQyMjdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMTA6MzM6MDggKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwMi8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBiaXQvdmFyYml0IHRvIG90aGVyIHR5cGVz CiBwZXIgcGdfY2FzdAoKc2VsZWN0IGNhc3Rzb3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJl Z3R5cGUsIGNhc3RmdW5jLAogICAgICAgY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3Jj LCBwcC5wcm9uYW1lCmZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24gcHAub2lkID0g cGMuY2FzdGZ1bmMKd2hlcmUgcGMuY2FzdGZ1bmMgPiAwIGFuZCAoY2FzdHNvdXJjZTo6cmVndHlw ZSA9J2JpdCc6OnJlZ3R5cGUgb3IKY2FzdHNvdXJjZTo6cmVndHlwZSA9J3ZhcmJpdCc6OnJlZ3R5 cGUpCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7CgogY2FzdHNvdXJjZSAgfCBjYXN0dGFy Z2V0ICB8IGNhc3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIHwgIHByb3NyYyAgIHwg cHJvbmFtZQotLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0KIGJpdCAgICAgICAgIHwgYmln aW50ICAgICAgfCAgICAgMjA3NiB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGJpdHRvaW50 OCB8IGludDgKIGJpdCAgICAgICAgIHwgaW50ZWdlciAgICAgfCAgICAgMTY4NCB8IGUgICAgICAg ICAgIHwgZiAgICAgICAgICB8IGJpdHRvaW50NCB8IGludDQKIGJpdCAgICAgICAgIHwgYml0ICAg ICAgICAgfCAgICAgMTY4NSB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGJpdCAgICAgICB8 IGJpdAogYml0IHZhcnlpbmcgfCBiaXQgdmFyeWluZyB8ICAgICAxNjg3IHwgaSAgICAgICAgICAg fCBmICAgICAgICAgIHwgdmFyYml0ICAgIHwgdmFyYml0Cig0IHJvd3MpCgpkaXNjdXNzaW9uOiBo dHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpjd3dOYmpRaXhOVmlza1E4alp1 M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC92 YXJiaXQuYyB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJpdC5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJpdC5jCmluZGV4IDY1YWQxYmZlMThmLi5jNDZi NWJhZTcwZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3ZhcmJpdC5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJiaXQuYwpAQCAtNDAxLDcgKzQwMSw3IEBAIGJpdChQ R19GVU5DVElPTl9BUkdTKQogCQlQR19SRVRVUk5fVkFSQklUX1AoYXJnKTsKIAogCWlmICghaXNF eHBsaWNpdCkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChE YXR1bSkgMCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX1NUUklOR19EQVRBX0xFTkdUSF9NSVNNQVRD SCksCiAJCQkJIGVycm1zZygiYml0IHN0cmluZyBsZW5ndGggJWQgZG9lcyBub3QgbWF0Y2ggdHlw ZSBiaXQoJWQpIiwKIAkJCQkJCVZBUkJJVExFTihhcmcpLCBsZW4pKSk7CkBAIC03NTIsNyArNzUy LDcgQEAgdmFyYml0KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCVBHX1JFVFVSTl9WQVJCSVRfUChhcmcp OwogCiAJaWYgKCFpc0V4cGxpY2l0KQotCQllcmVwb3J0KEVSUk9SLAorCQllcmV0dXJuKGZjaW5m by0+Y29udGV4dCwgKERhdHVtKSAwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfU1RSSU5HX0RBVEFf UklHSFRfVFJVTkNBVElPTiksCiAJCQkJIGVycm1zZygiYml0IHN0cmluZyB0b28gbG9uZyBmb3Ig dHlwZSBiaXQgdmFyeWluZyglZCkiLAogCQkJCQkJbGVuKSkpOwpAQCAtMTU5MSw3ICsxNTkxLDcg QEAgYml0dG9pbnQ0KFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAkvKiBDaGVjayB0aGF0IHRoZSBiaXQg c3RyaW5nIGlzIG5vdCB0b28gbG9uZyAqLwogCWlmIChWQVJCSVRMRU4oYXJnKSA+IHNpemVvZihy ZXN1bHQpICogQklUU19QRVJfQllURSkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihmY2lu Zm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFM VUVfT1VUX09GX1JBTkdFKSwKIAkJCQkgZXJybXNnKCJpbnRlZ2VyIG91dCBvZiByYW5nZSIpKSk7 CiAKQEAgLTE2NzEsNyArMTY3MSw3IEBAIGJpdHRvaW50OChQR19GVU5DVElPTl9BUkdTKQogCiAJ LyogQ2hlY2sgdGhhdCB0aGUgYml0IHN0cmluZyBpcyBub3QgdG9vIGxvbmcgKi8KIAlpZiAoVkFS QklUTEVOKGFyZykgPiBzaXplb2YocmVzdWx0KSAqIEJJVFNfUEVSX0JZVEUpCi0JCWVyZXBvcnQo RVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJCQkJKGVycmNv ZGUoRVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCiAJCQkJIGVycm1zZygiYmln aW50IG91dCBvZiByYW5nZSIpKSk7CiAKLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0005-error-safe-for-casting-character-varying-to-other-types-per-pg_c.patch" Content-Disposition: attachment; filename="v19-0005-error-safe-for-casting-character-varying-to-other-types-per-pg_c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg496 RnJvbSBmNjdjMGEwNzkxMWFhNWU4NTkyNTBiMjEwNTZjY2M4OTE2Zjk4ZWQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6MTM6NDUgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwNS8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBjaGFyYWN0ZXIgdmFyeWluZyB0byBvdGhl cgogdHlwZXMgcGVyIHBnX2Nhc3QKCnNlbGVjdCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFy Z2V0OjpyZWd0eXBlLCBjYXN0ZnVuYywgY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3Jj LCBwcC5wcm9uYW1lCmZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24gcHAub2lkID0g cGMuY2FzdGZ1bmMgYW5kIHBjLmNhc3RmdW5jID4gMCBhbmQKKGNhc3Rzb3VyY2U6OnJlZ3R5cGUg PSAnY2hhcmFjdGVyIHZhcnlpbmcnOjpyZWd0eXBlKQpvcmRlciBieSBjYXN0c291cmNlOjpyZWd0 eXBlOwoKICAgIGNhc3Rzb3VyY2UgICAgIHwgICAgY2FzdHRhcmdldCAgICAgfCBjYXN0ZnVuYyB8 IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8ICAgIHByb3NyYyAgICAgfCBwcm9uYW1lCi0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCiBjaGFyYWN0ZXIgdmFy eWluZyB8IHJlZ2NsYXNzICAgICAgICAgIHwgICAgIDEwNzkgfCBpICAgICAgICAgICB8IGYgICAg ICAgICAgfCB0ZXh0X3JlZ2NsYXNzIHwgcmVnY2xhc3MKIGNoYXJhY3RlciB2YXJ5aW5nIHwgImNo YXIiICAgICAgICAgICAgfCAgICAgIDk0NCB8IGEgICAgICAgICAgIHwgZiAgICAgICAgICB8IHRl eHRfY2hhciAgICAgfCBjaGFyCiBjaGFyYWN0ZXIgdmFyeWluZyB8IG5hbWUgICAgICAgICAgICAg IHwgICAgIDE0MDAgfCBpICAgICAgICAgICB8IGYgICAgICAgICAgfCB0ZXh0X25hbWUgICAgIHwg bmFtZQogY2hhcmFjdGVyIHZhcnlpbmcgfCB4bWwgICAgICAgICAgICAgICB8ICAgICAyODk2IHwg ZSAgICAgICAgICAgfCBmICAgICAgICAgIHwgdGV4dHRveG1sICAgICB8IHhtbAogY2hhcmFjdGVy IHZhcnlpbmcgfCBjaGFyYWN0ZXIgdmFyeWluZyB8ICAgICAgNjY5IHwgaSAgICAgICAgICAgfCBm ICAgICAgICAgIHwgdmFyY2hhciAgICAgICB8IHZhcmNoYXIKKDUgcm93cykKCnRleHR0b3htbCwg dGV4dF9yZWdjbGFzcyB3YXMgcmVmYWN0b3JlZCBhcyBlcnJvciBzYWZlIGluIHByaW9yIHBhdGNo Lgp0ZXh0X2NoYXIsIHRleHRfbmFtZSBpcyBhbHJlYWR5IGVycm9yIHNhZmUuCnNvIGhlcmUgd2Ug b25seSBuZWVkIGhhbmRsZSBmdW5jdGlvbiAidmFyY2hhciIuCgpkaXNjdXNzaW9uOiBodHRwczov L3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpjd3dOYmpRaXhOVmlza1E4alp1M1R6X3A2 NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJjaGFy LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdmFyY2hhci5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3ZhcmNoYXIuYwppbmRleCA2ZjA4Mzk3M2ZlNy4uYTYyZTU1ZWVjMTkgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC92YXJjaGFyLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3ZhcmNoYXIuYwpAQCAtNjM0LDcgKzYzNCw3IEBAIHZhcmNoYXIoUEdfRlVO Q1RJT05fQVJHUykKIAl7CiAJCWZvciAoaSA9IG1heG1ibGVuOyBpIDwgbGVuOyBpKyspCiAJCQlp ZiAoc19kYXRhW2ldICE9ICcgJykKLQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCWVyZXR1cm4oZmNp bmZvLT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NUUklOR19E QVRBX1JJR0hUX1RSVU5DQVRJT04pLAogCQkJCQkJIGVycm1zZygidmFsdWUgdG9vIGxvbmcgZm9y IHR5cGUgY2hhcmFjdGVyIHZhcnlpbmcoJWQpIiwKIAkJCQkJCQkJbWF4bGVuKSkpOwotLSAKMi4z NC4xCgo= --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0004-error-safe-for-casting-text-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0004-error-safe-for-casting-text-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6vg4b7 RnJvbSBlZWNmZDk3ZDc2YjRjY2ZmNzQ0ODFhN2I1Y2IxYTgxNjgwNTNiNWMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMTIgTWFyIDIwMjYgMDk6Mzg6NTMgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAwNC8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyB0ZXh0IHRvIG90aGVyIHR5cGVzIHBlcgog cGdfY2FzdAoKc2VsZWN0IGNhc3Rzb3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJlZ3R5cGUs IGNhc3RmdW5jLApjYXN0Y29udGV4dCxjYXN0bWV0aG9kLCBwcC5wcm9zcmMsIHBwLnByb25hbWUg ZnJvbSBwZ19jYXN0IHBjIGpvaW4gcGdfcHJvYyBwcCBvbgpwcC5vaWQgPSBwYy5jYXN0ZnVuYyBh bmQgcGMuY2FzdGZ1bmMgPiAwCmFuZCBjYXN0c291cmNlOjpyZWd0eXBlID0gJ3RleHQnOjpyZWd0 eXBlCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7CgogY2FzdHNvdXJjZSB8IGNhc3R0YXJn ZXQgfCBjYXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8ICAgIHByb3NyYyAgICAg fCBwcm9uYW1lCi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLQogdGV4dCAgICAgICB8 IHJlZ2NsYXNzICAgfCAgICAgMTA3OSB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IHRleHRf cmVnY2xhc3MgfCByZWdjbGFzcwogdGV4dCAgICAgICB8ICJjaGFyIiAgICAgfCAgICAgIDk0NCB8 IGEgICAgICAgICAgIHwgZiAgICAgICAgICB8IHRleHRfY2hhciAgICAgfCBjaGFyCiB0ZXh0ICAg ICAgIHwgbmFtZSAgICAgICB8ICAgICAgNDA3IHwgaSAgICAgICAgICAgfCBmICAgICAgICAgIHwg dGV4dF9uYW1lICAgICB8IG5hbWUKIHRleHQgICAgICAgfCB4bWwgICAgICAgIHwgICAgIDI4OTYg fCBlICAgICAgICAgICB8IGYgICAgICAgICAgfCB0ZXh0dG94bWwgICAgIHwgeG1sCig0IHJvd3Mp CgphbHJlYWR5IGVycm9yIHNhZmU6IHRleHRfbmFtZSwgdGV4dF9jaGFyLgp0ZXh0dG94bWwgaXMg cmVmYWN0b3JlZCBpbiBjaGFyYWN0ZXIgdHlwZSBlcnJvciBzYWZlIHBhdGNoLgoKZGlzY3Vzc2lv bjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQURrTE09ZnYxSmZZNFVmYS1qY3d3TmJqUWl4TlZpc2tR OGpadTNUel9wNjU2aV80aFFAbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9n L25hbWVzcGFjZS5jIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBzcmMv YmFja2VuZC91dGlscy9hZHQvcmVncHJvYy5jIHwgMTMgKysrKysrLS0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC92YXJsZW5hLmMgfCAxMCArKysrLS0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvbmFtZXNw YWNlLmggfCAgNiArKysrCiBzcmMvaW5jbHVkZS91dGlscy92YXJsZW5hLmggICAgIHwgIDEgKwog NSBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9uYW1lc3BhY2UuYwppbmRleCA1NmI4N2Q4NzhlOC4uMTljOGI1ODZiNTUgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9uYW1lc3BhY2UuYwpAQCAtNDQyLDYgKzQ0MiwxNiBAQCBPaWQKIFJhbmdlVmFyR2V0UmVs aWRFeHRlbmRlZChjb25zdCBSYW5nZVZhciAqcmVsYXRpb24sIExPQ0tNT0RFIGxvY2ttb2RlLAog CQkJCQkJIHVpbnQzMiBmbGFncywKIAkJCQkJCSBSYW5nZVZhckdldFJlbGlkQ2FsbGJhY2sgY2Fs bGJhY2ssIHZvaWQgKmNhbGxiYWNrX2FyZykKK3sKKwlyZXR1cm4gUmFuZ2VWYXJHZXRSZWxpZEV4 dGVuZGVkU2FmZShyZWxhdGlvbiwgbG9ja21vZGUsIGZsYWdzLAorCQkJCQkJCQkJCWNhbGxiYWNr LCBjYWxsYmFja19hcmcsCisJCQkJCQkJCQkJTlVMTCk7Cit9CisKK09pZAorUmFuZ2VWYXJHZXRS ZWxpZEV4dGVuZGVkU2FmZShjb25zdCBSYW5nZVZhciAqcmVsYXRpb24sIExPQ0tNT0RFIGxvY2tt b2RlLCB1aW50MzIgZmxhZ3MsCisJCQkJCQkJIFJhbmdlVmFyR2V0UmVsaWRDYWxsYmFjayBjYWxs YmFjaywgdm9pZCAqY2FsbGJhY2tfYXJnLAorCQkJCQkJCSBOb2RlICplc2NvbnRleHQpCiB7CiAJ dWludDY0CQlpbnZhbF9jb3VudDsKIAlPaWQJCQlyZWxJZDsKQEAgLTQ1OCw3ICs0NjgsNyBAQCBS YW5nZVZhckdldFJlbGlkRXh0ZW5kZWQoY29uc3QgUmFuZ2VWYXIgKnJlbGF0aW9uLCBMT0NLTU9E RSBsb2NrbW9kZSwKIAlpZiAocmVsYXRpb24tPmNhdGFsb2duYW1lKQogCXsKIAkJaWYgKHN0cmNt cChyZWxhdGlvbi0+Y2F0YWxvZ25hbWUsIGdldF9kYXRhYmFzZV9uYW1lKE15RGF0YWJhc2VJZCkp ICE9IDApCi0JCQllcmVwb3J0KEVSUk9SLAorCQkJZXJldHVybihlc2NvbnRleHQsIEludmFsaWRP aWQsCiAJCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKIAkJCQkJ IGVycm1zZygiY3Jvc3MtZGF0YWJhc2UgcmVmZXJlbmNlcyBhcmUgbm90IGltcGxlbWVudGVkOiBc IiVzLiVzLiVzXCIiLAogCQkJCQkJCXJlbGF0aW9uLT5jYXRhbG9nbmFtZSwgcmVsYXRpb24tPnNj aGVtYW5hbWUsCkBAIC01MTUsNyArNTI1LDcgQEAgUmFuZ2VWYXJHZXRSZWxpZEV4dGVuZGVkKGNv bnN0IFJhbmdlVmFyICpyZWxhdGlvbiwgTE9DS01PREUgbG9ja21vZGUsCiAJCQkJCSAqIHJldHVy biBJbnZhbGlkT2lkLgogCQkJCQkgKi8KIAkJCQkJaWYgKG5hbWVzcGFjZUlkICE9IG15VGVtcE5h bWVzcGFjZSkKLQkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQllcmV0dXJuKGVzY29udGV4dCwg SW52YWxpZE9pZCwKIAkJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1RBQkxFX0RFRklO SVRJT04pLAogCQkJCQkJCQkgZXJybXNnKCJ0ZW1wb3JhcnkgdGFibGVzIGNhbm5vdCBzcGVjaWZ5 IGEgc2NoZW1hIG5hbWUiKSkpOwogCQkJCX0KQEAgLTU5NSwxMyArNjA1LDIzIEBAIFJhbmdlVmFy R2V0UmVsaWRFeHRlbmRlZChjb25zdCBSYW5nZVZhciAqcmVsYXRpb24sIExPQ0tNT0RFIGxvY2tt b2RlLAogCQl7CiAJCQlpbnQJCQllbGV2ZWwgPSAoZmxhZ3MgJiBSVlJfU0tJUF9MT0NLRUQpID8g REVCVUcxIDogRVJST1I7CiAKLQkJCWlmIChyZWxhdGlvbi0+c2NoZW1hbmFtZSkKLQkJCQllcmVw b3J0KGVsZXZlbCwKKwkJCWlmIChyZWxhdGlvbi0+c2NoZW1hbmFtZSAmJiBlbGV2ZWwgPT0gREVC VUcxKQorCQkJCWVyZXBvcnQoREVCVUcxLAogCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9MT0NLX05P VF9BVkFJTEFCTEUpLAogCQkJCQkJIGVycm1zZygiY291bGQgbm90IG9idGFpbiBsb2NrIG9uIHJl bGF0aW9uIFwiJXMuJXNcIiIsCiAJCQkJCQkJCXJlbGF0aW9uLT5zY2hlbWFuYW1lLCByZWxhdGlv bi0+cmVsbmFtZSkpKTsKLQkJCWVsc2UKLQkJCQllcmVwb3J0KGVsZXZlbCwKKwkJCWVsc2UgaWYg KHJlbGF0aW9uLT5zY2hlbWFuYW1lICYmIGVsZXZlbCA9PSBFUlJPUikKKwkJCQllcmV0dXJuKGVz Y29udGV4dCwgSW52YWxpZE9pZCwKKwkJCQkJCWVycmNvZGUoRVJSQ09ERV9MT0NLX05PVF9BVkFJ TEFCTEUpLAorCQkJCQkJZXJybXNnKCJjb3VsZCBub3Qgb2J0YWluIGxvY2sgb24gcmVsYXRpb24g XCIlcy4lc1wiIiwKKwkJCQkJCQkgICByZWxhdGlvbi0+c2NoZW1hbmFtZSwgcmVsYXRpb24tPnJl bG5hbWUpKTsKKwkJCWVsc2UgaWYgKGVsZXZlbCA9PSBERUJVRzEpCisJCQkJZXJlcG9ydChERUJV RzEsCisJCQkJCQllcnJjb2RlKEVSUkNPREVfTE9DS19OT1RfQVZBSUxBQkxFKSwKKwkJCQkJCWVy cm1zZygiY291bGQgbm90IG9idGFpbiBsb2NrIG9uIHJlbGF0aW9uIFwiJXNcIiIsCisJCQkJCQkJ ICAgcmVsYXRpb24tPnJlbG5hbWUpKTsKKwkJCWVsc2UgaWYgKGVsZXZlbCA9PSBFUlJPUikKKwkJ CQllcmV0dXJuKGVzY29udGV4dCwgSW52YWxpZE9pZCwKIAkJCQkJCShlcnJjb2RlKEVSUkNPREVf TE9DS19OT1RfQVZBSUxBQkxFKSwKIAkJCQkJCSBlcnJtc2coImNvdWxkIG5vdCBvYnRhaW4gbG9j ayBvbiByZWxhdGlvbiBcIiVzXCIiLAogCQkJCQkJCQlyZWxhdGlvbi0+cmVsbmFtZSkpKTsKQEAg LTYyOCwxMyArNjQ4LDIzIEBAIFJhbmdlVmFyR2V0UmVsaWRFeHRlbmRlZChjb25zdCBSYW5nZVZh ciAqcmVsYXRpb24sIExPQ0tNT0RFIGxvY2ttb2RlLAogCXsKIAkJaW50CQkJZWxldmVsID0gbWlz c2luZ19vayA/IERFQlVHMSA6IEVSUk9SOwogCi0JCWlmIChyZWxhdGlvbi0+c2NoZW1hbmFtZSkK LQkJCWVyZXBvcnQoZWxldmVsLAorCQlpZiAocmVsYXRpb24tPnNjaGVtYW5hbWUgJiYgZWxldmVs ID09IERFQlVHMSkKKwkJCWVyZXBvcnQoREVCVUcxLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX1VO REVGSU5FRF9UQUJMRSksCiAJCQkJCSBlcnJtc2coInJlbGF0aW9uIFwiJXMuJXNcIiBkb2VzIG5v dCBleGlzdCIsCiAJCQkJCQkJcmVsYXRpb24tPnNjaGVtYW5hbWUsIHJlbGF0aW9uLT5yZWxuYW1l KSkpOwotCQllbHNlCi0JCQllcmVwb3J0KGVsZXZlbCwKKwkJZWxzZSBpZiAocmVsYXRpb24tPnNj aGVtYW5hbWUgJiYgZWxldmVsID09IEVSUk9SKQorCQkJZXJldHVybihlc2NvbnRleHQsIEludmFs aWRPaWQsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfVEFCTEUpLAorCQkJCQllcnJt c2coInJlbGF0aW9uIFwiJXMuJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkgICByZWxhdGlv bi0+c2NoZW1hbmFtZSwgcmVsYXRpb24tPnJlbG5hbWUpKTsKKwkJZWxzZSBpZiAoZWxldmVsID09 IERFQlVHMSkKKwkJCWVyZXBvcnQoREVCVUcxLAorCQkJCQllcnJjb2RlKEVSUkNPREVfVU5ERUZJ TkVEX1RBQkxFKSwKKwkJCQkJZXJybXNnKCJyZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3Qi LAorCQkJCQkJICAgcmVsYXRpb24tPnJlbG5hbWUpKTsKKwkJZWxzZSBpZiAoZWxldmVsID09IEVS Uk9SKQorCQkJZXJldHVybihlc2NvbnRleHQsIEludmFsaWRPaWQsCiAJCQkJCShlcnJjb2RlKEVS UkNPREVfVU5ERUZJTkVEX1RBQkxFKSwKIAkJCQkJIGVycm1zZygicmVsYXRpb24gXCIlc1wiIGRv ZXMgbm90IGV4aXN0IiwKIAkJCQkJCQlyZWxhdGlvbi0+cmVsbmFtZSkpKTsKQEAgLTM2MjQsNiAr MzY1NCwxMiBAQCBnZXRfbmFtZXNwYWNlX29pZChjb25zdCBjaGFyICpuc3BuYW1lLCBib29sIG1p c3Npbmdfb2spCiAgKi8KIFJhbmdlVmFyICoKIG1ha2VSYW5nZVZhckZyb21OYW1lTGlzdChjb25z dCBMaXN0ICpuYW1lcykKK3sKKwlyZXR1cm4gbWFrZVJhbmdlVmFyRnJvbU5hbWVMaXN0U2FmZShu YW1lcywgTlVMTCk7Cit9CisKK1JhbmdlVmFyICoKK21ha2VSYW5nZVZhckZyb21OYW1lTGlzdFNh ZmUoY29uc3QgTGlzdCAqbmFtZXMsIE5vZGUgKmVzY29udGV4dCkKIHsKIAlSYW5nZVZhciAgICpy ZWwgPSBtYWtlUmFuZ2VWYXIoTlVMTCwgTlVMTCwgLTEpOwogCkBAIC0zNjQyLDcgKzM2NzgsNyBA QCBtYWtlUmFuZ2VWYXJGcm9tTmFtZUxpc3QoY29uc3QgTGlzdCAqbmFtZXMpCiAJCQlyZWwtPnJl bG5hbWUgPSBzdHJWYWwobHRoaXJkKG5hbWVzKSk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKLQkJ CWVyZXBvcnQoRVJST1IsCisJCQllcmV0dXJuKGVzY29udGV4dCwgTlVMTCwKIAkJCQkJKGVycmNv ZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAogCQkJCQkgZXJybXNnKCJpbXByb3BlciByZWxhdGlv biBuYW1lICh0b28gbWFueSBkb3R0ZWQgbmFtZXMpOiAlcyIsCiAJCQkJCQkJTmFtZUxpc3RUb1N0 cmluZyhuYW1lcykpKSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcmVncHJv Yy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JlZ3Byb2MuYwppbmRleCBlZTM0ZDFkODVmOC4u NjA0ZTE5YTFjYjkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yZWdwcm9jLmMK KysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JlZ3Byb2MuYwpAQCAtMTkwMSwxMiArMTkwMSwx OSBAQCB0ZXh0X3JlZ2NsYXNzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJdGV4dAkgICAqcmVsbmFtZSA9 IFBHX0dFVEFSR19URVhUX1BQKDApOwogCU9pZAkJCXJlc3VsdDsKIAlSYW5nZVZhciAgICpydjsK KwlMaXN0CSAgICpuYW1lbGlzdDsKIAotCXJ2ID0gbWFrZVJhbmdlVmFyRnJvbU5hbWVMaXN0KHRl eHRUb1F1YWxpZmllZE5hbWVMaXN0KHJlbG5hbWUpKTsKKwluYW1lbGlzdCA9IHRleHRUb1F1YWxp ZmllZE5hbWVMaXN0U2FmZShyZWxuYW1lLCBmY2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VS Uk9SX09DQ1VSUkVEKGZjaW5mby0+Y29udGV4dCkpCisJCVBHX1JFVFVSTl9OVUxMKCk7CisKKwly diA9IG1ha2VSYW5nZVZhckZyb21OYW1lTGlzdFNhZmUobmFtZWxpc3QsIGZjaW5mby0+Y29udGV4 dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZmNpbmZvLT5jb250ZXh0KSkKKwkJUEdfUkVU VVJOX05VTEwoKTsKIAogCS8qIFdlIG1pZ2h0IG5vdCBldmVuIGhhdmUgcGVybWlzc2lvbnMgb24g dGhpcyByZWxhdGlvbjsgZG9uJ3QgbG9jayBpdC4gKi8KLQlyZXN1bHQgPSBSYW5nZVZhckdldFJl bGlkKHJ2LCBOb0xvY2ssIGZhbHNlKTsKLQorCXJlc3VsdCA9IFJhbmdlVmFyR2V0UmVsaWRFeHRl bmRlZFNhZmUocnYsIE5vTG9jaywgMCwgTlVMTCwgTlVMTCwKKwkJCQkJCQkJCQkgIGZjaW5mby0+ Y29udGV4dCk7CiAJUEdfUkVUVVJOX09JRChyZXN1bHQpOwogfQogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdmFybGVuYS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Zhcmxl bmEuYwppbmRleCA3Y2FmNzAwZmQ2MS4uZDBmMjQxZDM3ZTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC92YXJsZW5hLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Zhcmxl bmEuYwpAQCAtMjcxNSw2ICsyNzE1LDEyIEBAIG5hbWVfdGV4dChQR19GVU5DVElPTl9BUkdTKQog ICovCiBMaXN0ICoKIHRleHRUb1F1YWxpZmllZE5hbWVMaXN0KHRleHQgKnRleHR2YWwpCit7CisJ cmV0dXJuIHRleHRUb1F1YWxpZmllZE5hbWVMaXN0U2FmZSh0ZXh0dmFsLCBOVUxMKTsKK30KKwor TGlzdCAqCit0ZXh0VG9RdWFsaWZpZWROYW1lTGlzdFNhZmUodGV4dCAqdGV4dHZhbCwgTm9kZSAq ZXNjb250ZXh0KQogewogCWNoYXIJICAgKnJhd25hbWU7CiAJTGlzdAkgICAqcmVzdWx0ID0gTklM OwpAQCAtMjcyNiwxMiArMjczMiwxMiBAQCB0ZXh0VG9RdWFsaWZpZWROYW1lTGlzdCh0ZXh0ICp0 ZXh0dmFsKQogCXJhd25hbWUgPSB0ZXh0X3RvX2NzdHJpbmcodGV4dHZhbCk7CiAKIAlpZiAoIVNw bGl0SWRlbnRpZmllclN0cmluZyhyYXduYW1lLCAnLicsICZuYW1lbGlzdCkpCi0JCWVyZXBvcnQo RVJST1IsCisJCWVyZXR1cm4oZXNjb250ZXh0LCBOSUwsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9J TlZBTElEX05BTUUpLAogCQkJCSBlcnJtc2coImludmFsaWQgbmFtZSBzeW50YXgiKSkpOwogCiAJ aWYgKG5hbWVsaXN0ID09IE5JTCkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihlc2NvbnRl eHQsIE5JTCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfTkFNRSksCiAJCQkJIGVycm1z ZygiaW52YWxpZCBuYW1lIHN5bnRheCIpKSk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Nh dGFsb2cvbmFtZXNwYWNlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL25hbWVzcGFjZS5oCmluZGV4 IDFhMjU5NzM2ODVjLi4xNTNhNDM5ZTM3NCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxv Zy9uYW1lc3BhY2UuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL25hbWVzcGFjZS5oCkBAIC0x MDMsNiArMTAzLDExIEBAIGV4dGVybiBPaWQJUmFuZ2VWYXJHZXRSZWxpZEV4dGVuZGVkKGNvbnN0 IFJhbmdlVmFyICpyZWxhdGlvbiwKIAkJCQkJCQkJCSBMT0NLTU9ERSBsb2NrbW9kZSwgdWludDMy IGZsYWdzLAogCQkJCQkJCQkJIFJhbmdlVmFyR2V0UmVsaWRDYWxsYmFjayBjYWxsYmFjaywKIAkJ CQkJCQkJCSB2b2lkICpjYWxsYmFja19hcmcpOworZXh0ZXJuIE9pZCBSYW5nZVZhckdldFJlbGlk RXh0ZW5kZWRTYWZlKGNvbnN0IFJhbmdlVmFyICpyZWxhdGlvbiwKKwkJCQkJCQkJCQlMT0NLTU9E RSBsb2NrbW9kZSwgdWludDMyIGZsYWdzLAorCQkJCQkJCQkJCVJhbmdlVmFyR2V0UmVsaWRDYWxs YmFjayBjYWxsYmFjaywKKwkJCQkJCQkJCQl2b2lkICpjYWxsYmFja19hcmcsCisJCQkJCQkJCQkJ Tm9kZSAqZXNjb250ZXh0KTsKIGV4dGVybiBPaWQJUmFuZ2VWYXJHZXRDcmVhdGlvbk5hbWVzcGFj ZShjb25zdCBSYW5nZVZhciAqbmV3UmVsYXRpb24pOwogZXh0ZXJuIE9pZAlSYW5nZVZhckdldEFu ZENoZWNrQ3JlYXRpb25OYW1lc3BhY2UoUmFuZ2VWYXIgKnJlbGF0aW9uLAogCQkJCQkJCQkJCQkJ IExPQ0tNT0RFIGxvY2ttb2RlLApAQCAtMTY4LDYgKzE3Myw3IEBAIGV4dGVybiBPaWQJTG9va3Vw Q3JlYXRpb25OYW1lc3BhY2UoY29uc3QgY2hhciAqbnNwbmFtZSk7CiBleHRlcm4gdm9pZCBDaGVj a1NldE5hbWVzcGFjZShPaWQgb2xkTnNwT2lkLCBPaWQgbnNwT2lkKTsKIGV4dGVybiBPaWQJUXVh bGlmaWVkTmFtZUdldENyZWF0aW9uTmFtZXNwYWNlKGNvbnN0IExpc3QgKm5hbWVzLCBjaGFyICoq b2JqbmFtZV9wKTsKIGV4dGVybiBSYW5nZVZhciAqbWFrZVJhbmdlVmFyRnJvbU5hbWVMaXN0KGNv bnN0IExpc3QgKm5hbWVzKTsKK2V4dGVybiBSYW5nZVZhciAqbWFrZVJhbmdlVmFyRnJvbU5hbWVM aXN0U2FmZShjb25zdCBMaXN0ICpuYW1lcywgTm9kZSAqZXNjb250ZXh0KTsKIGV4dGVybiBjaGFy ICpOYW1lTGlzdFRvU3RyaW5nKGNvbnN0IExpc3QgKm5hbWVzKTsKIGV4dGVybiBjaGFyICpOYW1l TGlzdFRvUXVvdGVkU3RyaW5nKGNvbnN0IExpc3QgKm5hbWVzKTsKIApkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvdXRpbHMvdmFybGVuYS5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvdmFybGVuYS5oCmlu ZGV4IDRiMzI1NzRhMDc1Li41YmM3OGFhMDJjMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRp bHMvdmFybGVuYS5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL3ZhcmxlbmEuaApAQCAtMjcsNiAr MjcsNyBAQCBleHRlcm4gaW50CXZhcnN0cl9sZXZlbnNodGVpbl9sZXNzX2VxdWFsKGNvbnN0IGNo YXIgKnNvdXJjZSwgaW50IHNsZW4sCiAJCQkJCQkJCQkJICBpbnQgaW5zX2MsIGludCBkZWxfYywg aW50IHN1Yl9jLAogCQkJCQkJCQkJCSAgaW50IG1heF9kLCBib29sIHRydXN0ZWQpOwogZXh0ZXJu IExpc3QgKnRleHRUb1F1YWxpZmllZE5hbWVMaXN0KHRleHQgKnRleHR2YWwpOworZXh0ZXJuIExp c3QgKnRleHRUb1F1YWxpZmllZE5hbWVMaXN0U2FmZSh0ZXh0ICp0ZXh0dmFsLCBOb2RlICplc2Nv bnRleHQpOwogZXh0ZXJuIGJvb2wgU3BsaXRJZGVudGlmaWVyU3RyaW5nKGNoYXIgKnJhd3N0cmlu ZywgY2hhciBzZXBhcmF0b3IsCiAJCQkJCQkJCSAgTGlzdCAqKm5hbWVsaXN0KTsKIGV4dGVybiBi b29sIFNwbGl0RGlyZWN0b3JpZXNTdHJpbmcoY2hhciAqcmF3c3RyaW5nLCBjaGFyIHNlcGFyYXRv ciwKLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0011-error-safe-for-casting-float4-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0011-error-safe-for-casting-float4-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5n410 RnJvbSBjYjdlNzI4NTQ3ZjM5ZmNjZTIyNzgyM2NmNzg5YjNiNjhlYzNhYTg2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6Mjg6MjAgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAxMS8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBmbG9hdDQgdG8gb3RoZXIgdHlwZXMgcGVy CiBwZ19jYXN0CgpzZWxlY3QgY2FzdHNvdXJjZTo6cmVndHlwZSwgY2FzdHRhcmdldDo6cmVndHlw ZSwgY2FzdGZ1bmMsCmNhc3Rjb250ZXh0LGNhc3RtZXRob2QsIHBwLnByb3NyYywgcHAucHJvbmFt ZSBmcm9tIHBnX2Nhc3QgcGMgam9pbiBwZ19wcm9jIHBwIG9uCnBwLm9pZCA9IHBjLmNhc3RmdW5j IGFuZCBwYy5jYXN0ZnVuYyA+IDAKYW5kIGNhc3Rzb3VyY2U6OnJlZ3R5cGUgPSAnZmxvYXQ0Jzo6 cmVndHlwZQpvcmRlciBieSBjYXN0c291cmNlOjpyZWd0eXBlOwoKIGNhc3Rzb3VyY2UgfCAgICBj YXN0dGFyZ2V0ICAgIHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgICAg cHJvc3JjICAgICB8IHByb25hbWUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tCiByZWFsICAgICAgIHwgYmlnaW50ICAgICAgICAgICB8ICAgICAgNjUzIHwgYSAgICAgICAg ICAgfCBmICAgICAgICAgIHwgZnRvaTggICAgICAgICAgfCBpbnQ4CiByZWFsICAgICAgIHwgc21h bGxpbnQgICAgICAgICB8ICAgICAgMjM4IHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgZnRv aTIgICAgICAgICAgfCBpbnQyCiByZWFsICAgICAgIHwgaW50ZWdlciAgICAgICAgICB8ICAgICAg MzE5IHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgZnRvaTQgICAgICAgICAgfCBpbnQ0CiBy ZWFsICAgICAgIHwgZG91YmxlIHByZWNpc2lvbiB8ICAgICAgMzExIHwgaSAgICAgICAgICAgfCBm ICAgICAgICAgIHwgZnRvZCAgICAgICAgICAgfCBmbG9hdDgKIHJlYWwgICAgICAgfCBudW1lcmlj ICAgICAgICAgIHwgICAgIDE3NDIgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCBmbG9hdDRf bnVtZXJpYyB8IG51bWVyaWMKKDUgcm93cykKCmRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVz L20vQ0FEa0xNPWZ2MUpmWTRVZmEtamN3d05ialFpeE5WaXNrUThqWnUzVHpfcDY1NmlfNGhRQG1h aWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zsb2F0LmMgICB8IDQgKyst LQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDguYyAgICB8IDIgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9udW1lcmljLmMgfCAzICsrLQogMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zs b2F0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZmxvYXQuYwppbmRleCA2NDFlN2RlMjFhMC4u ZjY2MzNkZWQwOTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9mbG9hdC5jCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9mbG9hdC5jCkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBm dG9pNChQR19GVU5DVElPTl9BUkdTKQogCiAJLyogUmFuZ2UgY2hlY2sgKi8KIAlpZiAodW5saWtl bHkoaXNuYW4obnVtKSB8fCAhRkxPQVQ0X0ZJVFNfSU5fSU5UMzIobnVtKSkpCi0JCWVyZXBvcnQo RVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJCQkJKGVycmNv ZGUoRVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCiAJCQkJIGVycm1zZygiaW50 ZWdlciBvdXQgb2YgcmFuZ2UiKSkpOwogCkBAIC0xMzIzLDcgKzEzMjMsNyBAQCBmdG9pMihQR19G VU5DVElPTl9BUkdTKQogCiAJLyogUmFuZ2UgY2hlY2sgKi8KIAlpZiAodW5saWtlbHkoaXNuYW4o bnVtKSB8fCAhRkxPQVQ0X0ZJVFNfSU5fSU5UMTYobnVtKSkpCi0JCWVyZXBvcnQoRVJST1IsCisJ CWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJCQkJKGVycmNvZGUoRVJSQ09E RV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCiAJCQkJIGVycm1zZygic21hbGxpbnQgb3V0 IG9mIHJhbmdlIikpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDgu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMKaW5kZXggZGEzOTIxODk3NDMuLjhmZDU1 MWJkNTJiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvaW50OC5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMKQEAgLTEzNDIsNyArMTM0Miw3IEBAIGZ0b2k4KFBH X0ZVTkNUSU9OX0FSR1MpCiAKIAkvKiBSYW5nZSBjaGVjayAqLwogCWlmICh1bmxpa2VseShpc25h bihudW0pIHx8ICFGTE9BVDRfRklUU19JTl9JTlQ2NChudW0pKSkKLQkJZXJlcG9ydChFUlJPUiwK KwkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShFUlJD T0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKIAkJCQkgZXJybXNnKCJiaWdpbnQgb3V0 IG9mIHJhbmdlIikpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251bWVy aWMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMKaW5kZXggZDY2ZmI4NjY2MmYu LjkxNjA1MzAwN2VhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvbnVtZXJpYy5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMKQEAgLTQ2NTcsNyArNDY1Nyw4 IEBAIGZsb2F0NF9udW1lcmljKFBHX0ZVTkNUSU9OX0FSR1MpCiAJaW5pdF92YXIoJnJlc3VsdCk7 CiAKIAkvKiBBc3N1bWUgd2UgbmVlZCBub3Qgd29ycnkgYWJvdXQgbGVhZGluZy90cmFpbGluZyBz cGFjZXMgKi8KLQkodm9pZCkgc2V0X3Zhcl9mcm9tX3N0cihidWYsIGJ1ZiwgJnJlc3VsdCwgJmVu ZHB0ciwgTlVMTCk7CisJaWYgKCFzZXRfdmFyX2Zyb21fc3RyKGJ1ZiwgYnVmLCAmcmVzdWx0LCAm ZW5kcHRyLCBmY2luZm8tPmNvbnRleHQpKQorCQlQR19SRVRVUk5fTlVMTCgpOwogCiAJcmVzID0g bWFrZV9yZXN1bHQoJnJlc3VsdCk7CiAKLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0020-refactor-point_dt.patch" Content-Disposition: attachment; filename="v19-0020-refactor-point_dt.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5ni14 RnJvbSA3MTg2ZTMzNTY1YTMwYTcyZDdlMDAyNTNkYTZlNzg5NWFjYTBkMmE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgNSBKYW4gMjAyNiAxMzozMzo1MSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDIwLzIzXSByZWZhY3RvciBwb2ludF9kdAoKcG9pbnRfZHQgaXMgdXNlZCBpbiBtdWx0aXBsZSBs b2NhdGlvbnMgYW5kIHdpbGwgYmUgbmVlZGVkIGJ5IGEgbGF0ZXIgcGF0Y2gsIHRodXMKcmVmYWN0 b3JpbmcgbWFrZSBpdCBlcnJvciBzYWZlLgoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMv bS9DQURrTE09ZnYxSmZZNFVmYS1qY3d3TmJqUWl4TlZpc2tROGpadTNUel9wNjU2aV80aFFAbWFp bC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvZ2VvX29wcy5jIHwgNzkgKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0 aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L2dlb19vcHMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9nZW9fb3BzLmMKaW5kZXggYmZi NDg1OWI0Y2IuLmM2NTViMDE1YzE0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQv Z2VvX29wcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9nZW9fb3BzLmMKQEAgLTgyLDcg KzgyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHBvaW50X3N1Yl9wb2ludChQb2ludCAqcmVzdWx0 LCBQb2ludCAqcHQxLCBQb2ludCAqcHQyKTsKIHN0YXRpYyBpbmxpbmUgdm9pZCBwb2ludF9tdWxf cG9pbnQoUG9pbnQgKnJlc3VsdCwgUG9pbnQgKnB0MSwgUG9pbnQgKnB0Mik7CiBzdGF0aWMgaW5s aW5lIHZvaWQgcG9pbnRfZGl2X3BvaW50KFBvaW50ICpyZXN1bHQsIFBvaW50ICpwdDEsIFBvaW50 ICpwdDIpOwogc3RhdGljIGlubGluZSBib29sIHBvaW50X2VxX3BvaW50KFBvaW50ICpwdDEsIFBv aW50ICpwdDIpOwotc3RhdGljIGlubGluZSBmbG9hdDggcG9pbnRfZHQoUG9pbnQgKnB0MSwgUG9p bnQgKnB0Mik7CitzdGF0aWMgaW5saW5lIGZsb2F0OCBwb2ludF9kdChQb2ludCAqcHQxLCBQb2lu dCAqcHQyLCBOb2RlICplc2NvbnRleHQpOwogc3RhdGljIGlubGluZSBmbG9hdDggcG9pbnRfc2wo UG9pbnQgKnB0MSwgUG9pbnQgKnB0Mik7CiBzdGF0aWMgaW50CXBvaW50X2luc2lkZShQb2ludCAq cCwgaW50IG5wdHMsIFBvaW50ICpwbGlzdCk7CiAKQEAgLTgzOSw3ICs4MzksNyBAQCBib3hfZGlz dGFuY2UoUEdfRlVOQ1RJT05fQVJHUykKIAlib3hfY24oJmEsIGJveDEpOwogCWJveF9jbigmYiwg Ym94Mik7CiAKLQlQR19SRVRVUk5fRkxPQVQ4KHBvaW50X2R0KCZhLCAmYikpOworCVBHX1JFVFVS Tl9GTE9BVDgocG9pbnRfZHQoJmEsICZiLCBmY2luZm8tPmNvbnRleHQpKTsKIH0KIAogCkBAIC0x ODA4LDcgKzE4MDgsOCBAQCBwYXRoX2xlbmd0aChQR19GVU5DVElPTl9BUkdTKQogCQkJaXByZXYg PSBwYXRoLT5ucHRzIC0gMTsgLyogaW5jbHVkZSB0aGUgY2xvc3VyZSBzZWdtZW50ICovCiAJCX0K IAotCQlyZXN1bHQgPSBmbG9hdDhfcGwocmVzdWx0LCBwb2ludF9kdCgmcGF0aC0+cFtpcHJldl0s ICZwYXRoLT5wW2ldKSk7CisJCXJlc3VsdCA9IGZsb2F0OF9wbChyZXN1bHQsCisJCQkJCQkgICBw b2ludF9kdCgmcGF0aC0+cFtpcHJldl0sICZwYXRoLT5wW2ldLCBmY2luZm8tPmNvbnRleHQpKTsK IAl9CiAKIAlQR19SRVRVUk5fRkxPQVQ4KHJlc3VsdCk7CkBAIC0xOTk1LDEzICsxOTk2LDI0IEBA IHBvaW50X2Rpc3RhbmNlKFBHX0ZVTkNUSU9OX0FSR1MpCiAJUG9pbnQJICAgKnB0MSA9IFBHX0dF VEFSR19QT0lOVF9QKDApOwogCVBvaW50CSAgICpwdDIgPSBQR19HRVRBUkdfUE9JTlRfUCgxKTsK IAotCVBHX1JFVFVSTl9GTE9BVDgocG9pbnRfZHQocHQxLCBwdDIpKTsKKwlQR19SRVRVUk5fRkxP QVQ4KHBvaW50X2R0KHB0MSwgcHQyLCBmY2luZm8tPmNvbnRleHQpKTsKIH0KIAogc3RhdGljIGlu bGluZSBmbG9hdDgKLXBvaW50X2R0KFBvaW50ICpwdDEsIFBvaW50ICpwdDIpCitwb2ludF9kdChQ b2ludCAqcHQxLCBQb2ludCAqcHQyLCBOb2RlICplc2NvbnRleHQpCiB7Ci0JcmV0dXJuIGh5cG90 KGZsb2F0OF9taShwdDEtPngsIHB0Mi0+eCksIGZsb2F0OF9taShwdDEtPnksIHB0Mi0+eSkpOwor CWZsb2F0OAkJeDsKKwlmbG9hdDgJCXk7CisKKwl4ID0gZmxvYXQ4X21pX3NhZmUocHQxLT54LCBw dDItPngsIGVzY29udGV4dCk7CisJaWYgKHVubGlrZWx5KFNPRlRfRVJST1JfT0NDVVJSRUQoZXNj b250ZXh0KSkpCisJCXJldHVybiAwLjA7CisKKwl5ID0gZmxvYXQ4X21pX3NhZmUocHQxLT55LCBw dDItPnksIGVzY29udGV4dCk7CisJaWYgKHVubGlrZWx5KFNPRlRfRVJST1JfT0NDVVJSRUQoZXNj b250ZXh0KSkpCisJCXJldHVybiAwLjA7CisKKwlyZXR1cm4gaHlwb3QoeCwgeSk7CiB9CiAKIERh dHVtCkBAIC0yMTczLDcgKzIxODUsNyBAQCBsc2VnX2xlbmd0aChQR19GVU5DVElPTl9BUkdTKQog ewogCUxTRUcJICAgKmxzZWcgPSBQR19HRVRBUkdfTFNFR19QKDApOwogCi0JUEdfUkVUVVJOX0ZM T0FUOChwb2ludF9kdCgmbHNlZy0+cFswXSwgJmxzZWctPnBbMV0pKTsKKwlQR19SRVRVUk5fRkxP QVQ4KHBvaW50X2R0KCZsc2VnLT5wWzBdLCAmbHNlZy0+cFsxXSwgZmNpbmZvLT5jb250ZXh0KSk7 CiB9CiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpAQCAtMjI1OCw4ICsyMjcwLDggQEAgbHNlZ19sdChQR19GVU5DVElPTl9BUkdT KQogCUxTRUcJICAgKmwxID0gUEdfR0VUQVJHX0xTRUdfUCgwKTsKIAlMU0VHCSAgICpsMiA9IFBH X0dFVEFSR19MU0VHX1AoMSk7CiAKLQlQR19SRVRVUk5fQk9PTChGUGx0KHBvaW50X2R0KCZsMS0+ cFswXSwgJmwxLT5wWzFdKSwKLQkJCQkJCXBvaW50X2R0KCZsMi0+cFswXSwgJmwyLT5wWzFdKSkp OworCVBHX1JFVFVSTl9CT09MKEZQbHQocG9pbnRfZHQoJmwxLT5wWzBdLCAmbDEtPnBbMV0sIGZj aW5mby0+Y29udGV4dCksCisJCQkJCQlwb2ludF9kdCgmbDItPnBbMF0sICZsMi0+cFsxXSwgZmNp bmZvLT5jb250ZXh0KSkpOwogfQogCiBEYXR1bQpAQCAtMjI2OCw4ICsyMjgwLDggQEAgbHNlZ19s ZShQR19GVU5DVElPTl9BUkdTKQogCUxTRUcJICAgKmwxID0gUEdfR0VUQVJHX0xTRUdfUCgwKTsK IAlMU0VHCSAgICpsMiA9IFBHX0dFVEFSR19MU0VHX1AoMSk7CiAKLQlQR19SRVRVUk5fQk9PTChG UGxlKHBvaW50X2R0KCZsMS0+cFswXSwgJmwxLT5wWzFdKSwKLQkJCQkJCXBvaW50X2R0KCZsMi0+ cFswXSwgJmwyLT5wWzFdKSkpOworCVBHX1JFVFVSTl9CT09MKEZQbGUocG9pbnRfZHQoJmwxLT5w WzBdLCAmbDEtPnBbMV0sIGZjaW5mby0+Y29udGV4dCksCisJCQkJCQlwb2ludF9kdCgmbDItPnBb MF0sICZsMi0+cFsxXSwgZmNpbmZvLT5jb250ZXh0KSkpOwogfQogCiBEYXR1bQpAQCAtMjI3OCw4 ICsyMjkwLDggQEAgbHNlZ19ndChQR19GVU5DVElPTl9BUkdTKQogCUxTRUcJICAgKmwxID0gUEdf R0VUQVJHX0xTRUdfUCgwKTsKIAlMU0VHCSAgICpsMiA9IFBHX0dFVEFSR19MU0VHX1AoMSk7CiAK LQlQR19SRVRVUk5fQk9PTChGUGd0KHBvaW50X2R0KCZsMS0+cFswXSwgJmwxLT5wWzFdKSwKLQkJ CQkJCXBvaW50X2R0KCZsMi0+cFswXSwgJmwyLT5wWzFdKSkpOworCVBHX1JFVFVSTl9CT09MKEZQ Z3QocG9pbnRfZHQoJmwxLT5wWzBdLCAmbDEtPnBbMV0sIGZjaW5mby0+Y29udGV4dCksCisJCQkJ CQlwb2ludF9kdCgmbDItPnBbMF0sICZsMi0+cFsxXSwgZmNpbmZvLT5jb250ZXh0KSkpOwogfQog CiBEYXR1bQpAQCAtMjI4OCw4ICsyMzAwLDggQEAgbHNlZ19nZShQR19GVU5DVElPTl9BUkdTKQog CUxTRUcJICAgKmwxID0gUEdfR0VUQVJHX0xTRUdfUCgwKTsKIAlMU0VHCSAgICpsMiA9IFBHX0dF VEFSR19MU0VHX1AoMSk7CiAKLQlQR19SRVRVUk5fQk9PTChGUGdlKHBvaW50X2R0KCZsMS0+cFsw XSwgJmwxLT5wWzFdKSwKLQkJCQkJCXBvaW50X2R0KCZsMi0+cFswXSwgJmwyLT5wWzFdKSkpOwor CVBHX1JFVFVSTl9CT09MKEZQZ2UocG9pbnRfZHQoJmwxLT5wWzBdLCAmbDEtPnBbMV0sIGZjaW5m by0+Y29udGV4dCksCisJCQkJCQlwb2ludF9kdCgmbDItPnBbMF0sICZsMi0+cFsxXSwgZmNpbmZv LT5jb250ZXh0KSkpOwogfQogCiAKQEAgLTI3NDMsNyArMjc1NSw3IEBAIGxpbmVfY2xvc2VwdF9w b2ludChQb2ludCAqcmVzdWx0LCBMSU5FICpsaW5lLCBQb2ludCAqcG9pbnQpCiAJaWYgKHJlc3Vs dCAhPSBOVUxMKQogCQkqcmVzdWx0ID0gY2xvc2VwdDsKIAotCXJldHVybiBwb2ludF9kdCgmY2xv c2VwdCwgcG9pbnQpOworCXJldHVybiBwb2ludF9kdCgmY2xvc2VwdCwgcG9pbnQsIE5VTEwpOwog fQogCiBEYXR1bQpAQCAtMjc4NCw3ICsyNzk2LDcgQEAgbHNlZ19jbG9zZXB0X3BvaW50KFBvaW50 ICpyZXN1bHQsIExTRUcgKmxzZWcsIFBvaW50ICpwdCkKIAlpZiAocmVzdWx0ICE9IE5VTEwpCiAJ CSpyZXN1bHQgPSBjbG9zZXB0OwogCi0JcmV0dXJuIHBvaW50X2R0KCZjbG9zZXB0LCBwdCk7CisJ cmV0dXJuIHBvaW50X2R0KCZjbG9zZXB0LCBwdCwgTlVMTCk7CiB9CiAKIERhdHVtCkBAIC0zMTA4 LDkgKzMxMjAsOSBAQCBvbl9wbChQR19GVU5DVElPTl9BUkdTKQogc3RhdGljIGJvb2wKIGxzZWdf Y29udGFpbl9wb2ludChMU0VHICpsc2VnLCBQb2ludCAqcHQpCiB7Ci0JcmV0dXJuIEZQZXEocG9p bnRfZHQocHQsICZsc2VnLT5wWzBdKSArCi0JCQkJcG9pbnRfZHQocHQsICZsc2VnLT5wWzFdKSwK LQkJCQlwb2ludF9kdCgmbHNlZy0+cFswXSwgJmxzZWctPnBbMV0pKTsKKwlyZXR1cm4gRlBlcShw b2ludF9kdChwdCwgJmxzZWctPnBbMF0sIE5VTEwpICsKKwkJCQlwb2ludF9kdChwdCwgJmxzZWct PnBbMV0sIE5VTEwpLAorCQkJCXBvaW50X2R0KCZsc2VnLT5wWzBdLCAmbHNlZy0+cFsxXSwgTlVM TCkpOwogfQogCiBEYXR1bQpAQCAtMzE3NiwxMSArMzE4OCwxMiBAQCBvbl9wcGF0aChQR19GVU5D VElPTl9BUkdTKQogCWlmICghcGF0aC0+Y2xvc2VkKQogCXsKIAkJbiA9IHBhdGgtPm5wdHMgLSAx OwotCQlhID0gcG9pbnRfZHQocHQsICZwYXRoLT5wWzBdKTsKKwkJYSA9IHBvaW50X2R0KHB0LCAm cGF0aC0+cFswXSwgZmNpbmZvLT5jb250ZXh0KTsKIAkJZm9yIChpID0gMDsgaSA8IG47IGkrKykK IAkJewotCQkJYiA9IHBvaW50X2R0KHB0LCAmcGF0aC0+cFtpICsgMV0pOwotCQkJaWYgKEZQZXEo ZmxvYXQ4X3BsKGEsIGIpLCBwb2ludF9kdCgmcGF0aC0+cFtpXSwgJnBhdGgtPnBbaSArIDFdKSkp CisJCQliID0gcG9pbnRfZHQocHQsICZwYXRoLT5wW2kgKyAxXSwgZmNpbmZvLT5jb250ZXh0KTsK KwkJCWlmIChGUGVxKGZsb2F0OF9wbChhLCBiKSwKKwkJCQkJIHBvaW50X2R0KCZwYXRoLT5wW2ld LCAmcGF0aC0+cFtpICsgMV0sIGZjaW5mby0+Y29udGV4dCkpKQogCQkJCVBHX1JFVFVSTl9CT09M KHRydWUpOwogCQkJYSA9IGI7CiAJCX0KQEAgLTQ3NjYsNyArNDc3OSw3IEBAIGNpcmNsZV9vdmVy bGFwKFBHX0ZVTkNUSU9OX0FSR1MpCiAJQ0lSQ0xFCSAgICpjaXJjbGUxID0gUEdfR0VUQVJHX0NJ UkNMRV9QKDApOwogCUNJUkNMRQkgICAqY2lyY2xlMiA9IFBHX0dFVEFSR19DSVJDTEVfUCgxKTsK IAotCVBHX1JFVFVSTl9CT09MKEZQbGUocG9pbnRfZHQoJmNpcmNsZTEtPmNlbnRlciwgJmNpcmNs ZTItPmNlbnRlciksCisJUEdfUkVUVVJOX0JPT0woRlBsZShwb2ludF9kdCgmY2lyY2xlMS0+Y2Vu dGVyLCAmY2lyY2xlMi0+Y2VudGVyLCBmY2luZm8tPmNvbnRleHQpLAogCQkJCQkJZmxvYXQ4X3Bs KGNpcmNsZTEtPnJhZGl1cywgY2lyY2xlMi0+cmFkaXVzKSkpOwogfQogCkBAIC00ODI4LDcgKzQ4 NDEsNyBAQCBjaXJjbGVfY29udGFpbmVkKFBHX0ZVTkNUSU9OX0FSR1MpCiAJQ0lSQ0xFCSAgICpj aXJjbGUxID0gUEdfR0VUQVJHX0NJUkNMRV9QKDApOwogCUNJUkNMRQkgICAqY2lyY2xlMiA9IFBH X0dFVEFSR19DSVJDTEVfUCgxKTsKIAotCVBHX1JFVFVSTl9CT09MKEZQbGUocG9pbnRfZHQoJmNp cmNsZTEtPmNlbnRlciwgJmNpcmNsZTItPmNlbnRlciksCisJUEdfUkVUVVJOX0JPT0woRlBsZShw b2ludF9kdCgmY2lyY2xlMS0+Y2VudGVyLCAmY2lyY2xlMi0+Y2VudGVyLCBmY2luZm8tPmNvbnRl eHQpLAogCQkJCQkJZmxvYXQ4X21pKGNpcmNsZTItPnJhZGl1cywgY2lyY2xlMS0+cmFkaXVzKSkp OwogfQogCkBAIC00ODQwLDcgKzQ4NTMsNyBAQCBjaXJjbGVfY29udGFpbihQR19GVU5DVElPTl9B UkdTKQogCUNJUkNMRQkgICAqY2lyY2xlMSA9IFBHX0dFVEFSR19DSVJDTEVfUCgwKTsKIAlDSVJD TEUJICAgKmNpcmNsZTIgPSBQR19HRVRBUkdfQ0lSQ0xFX1AoMSk7CiAKLQlQR19SRVRVUk5fQk9P TChGUGxlKHBvaW50X2R0KCZjaXJjbGUxLT5jZW50ZXIsICZjaXJjbGUyLT5jZW50ZXIpLAorCVBH X1JFVFVSTl9CT09MKEZQbGUocG9pbnRfZHQoJmNpcmNsZTEtPmNlbnRlciwgJmNpcmNsZTItPmNl bnRlciwgZmNpbmZvLT5jb250ZXh0KSwKIAkJCQkJCWZsb2F0OF9taShjaXJjbGUxLT5yYWRpdXMs IGNpcmNsZTItPnJhZGl1cykpKTsKIH0KIApAQCAtNTA2OSw3ICs1MDgyLDcgQEAgY2lyY2xlX2Rp c3RhbmNlKFBHX0ZVTkNUSU9OX0FSR1MpCiAJQ0lSQ0xFCSAgICpjaXJjbGUyID0gUEdfR0VUQVJH X0NJUkNMRV9QKDEpOwogCWZsb2F0OAkJcmVzdWx0OwogCi0JcmVzdWx0ID0gZmxvYXQ4X21pKHBv aW50X2R0KCZjaXJjbGUxLT5jZW50ZXIsICZjaXJjbGUyLT5jZW50ZXIpLAorCXJlc3VsdCA9IGZs b2F0OF9taShwb2ludF9kdCgmY2lyY2xlMS0+Y2VudGVyLCAmY2lyY2xlMi0+Y2VudGVyLCBmY2lu Zm8tPmNvbnRleHQpLAogCQkJCQkgICBmbG9hdDhfcGwoY2lyY2xlMS0+cmFkaXVzLCBjaXJjbGUy LT5yYWRpdXMpKTsKIAlpZiAocmVzdWx0IDwgMC4wKQogCQlyZXN1bHQgPSAwLjA7CkBAIC01MDg1 LDcgKzUwOTgsNyBAQCBjaXJjbGVfY29udGFpbl9wdChQR19GVU5DVElPTl9BUkdTKQogCVBvaW50 CSAgICpwb2ludCA9IFBHX0dFVEFSR19QT0lOVF9QKDEpOwogCWZsb2F0OAkJZDsKIAotCWQgPSBw b2ludF9kdCgmY2lyY2xlLT5jZW50ZXIsIHBvaW50KTsKKwlkID0gcG9pbnRfZHQoJmNpcmNsZS0+ Y2VudGVyLCBwb2ludCwgZmNpbmZvLT5jb250ZXh0KTsKIAlQR19SRVRVUk5fQk9PTChkIDw9IGNp cmNsZS0+cmFkaXVzKTsKIH0KIApAQCAtNTA5Nyw3ICs1MTEwLDcgQEAgcHRfY29udGFpbmVkX2Np cmNsZShQR19GVU5DVElPTl9BUkdTKQogCUNJUkNMRQkgICAqY2lyY2xlID0gUEdfR0VUQVJHX0NJ UkNMRV9QKDEpOwogCWZsb2F0OAkJZDsKIAotCWQgPSBwb2ludF9kdCgmY2lyY2xlLT5jZW50ZXIs IHBvaW50KTsKKwlkID0gcG9pbnRfZHQoJmNpcmNsZS0+Y2VudGVyLCBwb2ludCwgZmNpbmZvLT5j b250ZXh0KTsKIAlQR19SRVRVUk5fQk9PTChkIDw9IGNpcmNsZS0+cmFkaXVzKTsKIH0KIApAQCAt NTExMiw3ICs1MTI1LDcgQEAgZGlzdF9wYyhQR19GVU5DVElPTl9BUkdTKQogCUNJUkNMRQkgICAq Y2lyY2xlID0gUEdfR0VUQVJHX0NJUkNMRV9QKDEpOwogCWZsb2F0OAkJcmVzdWx0OwogCi0JcmVz dWx0ID0gZmxvYXQ4X21pKHBvaW50X2R0KHBvaW50LCAmY2lyY2xlLT5jZW50ZXIpLAorCXJlc3Vs dCA9IGZsb2F0OF9taShwb2ludF9kdChwb2ludCwgJmNpcmNsZS0+Y2VudGVyLCBmY2luZm8tPmNv bnRleHQpLAogCQkJCQkgICBjaXJjbGUtPnJhZGl1cyk7CiAJaWYgKHJlc3VsdCA8IDAuMCkKIAkJ cmVzdWx0ID0gMC4wOwpAQCAtNTEzMCw3ICs1MTQzLDcgQEAgZGlzdF9jcG9pbnQoUEdfRlVOQ1RJ T05fQVJHUykKIAlQb2ludAkgICAqcG9pbnQgPSBQR19HRVRBUkdfUE9JTlRfUCgxKTsKIAlmbG9h dDgJCXJlc3VsdDsKIAotCXJlc3VsdCA9IGZsb2F0OF9taShwb2ludF9kdChwb2ludCwgJmNpcmNs ZS0+Y2VudGVyKSwgY2lyY2xlLT5yYWRpdXMpOworCXJlc3VsdCA9IGZsb2F0OF9taShwb2ludF9k dChwb2ludCwgJmNpcmNsZS0+Y2VudGVyLCBmY2luZm8tPmNvbnRleHQpLCBjaXJjbGUtPnJhZGl1 cyk7CiAJaWYgKHJlc3VsdCA8IDAuMCkKIAkJcmVzdWx0ID0gMC4wOwogCkBAIC01MjE1LDcgKzUy MjgsNyBAQCBib3hfY2lyY2xlKFBHX0ZVTkNUSU9OX0FSR1MpCiAJY2lyY2xlLT5jZW50ZXIueCA9 IGZsb2F0OF9kaXYoZmxvYXQ4X3BsKGJveC0+aGlnaC54LCBib3gtPmxvdy54KSwgMi4wKTsKIAlj aXJjbGUtPmNlbnRlci55ID0gZmxvYXQ4X2RpdihmbG9hdDhfcGwoYm94LT5oaWdoLnksIGJveC0+ bG93LnkpLCAyLjApOwogCi0JY2lyY2xlLT5yYWRpdXMgPSBwb2ludF9kdCgmY2lyY2xlLT5jZW50 ZXIsICZib3gtPmhpZ2gpOworCWNpcmNsZS0+cmFkaXVzID0gcG9pbnRfZHQoJmNpcmNsZS0+Y2Vu dGVyLCAmYm94LT5oaWdoLCBmY2luZm8tPmNvbnRleHQpOwogCiAJUEdfUkVUVVJOX0NJUkNMRV9Q KGNpcmNsZSk7CiB9CkBAIC01Mjk5LDcgKzUzMTIsNyBAQCBwb2x5X3RvX2NpcmNsZShDSVJDTEUg KnJlc3VsdCwgUE9MWUdPTiAqcG9seSkKIAogCWZvciAoaSA9IDA7IGkgPCBwb2x5LT5ucHRzOyBp KyspCiAJCXJlc3VsdC0+cmFkaXVzID0gZmxvYXQ4X3BsKHJlc3VsdC0+cmFkaXVzLAotCQkJCQkJ CQkgICBwb2ludF9kdCgmcG9seS0+cFtpXSwgJnJlc3VsdC0+Y2VudGVyKSk7CisJCQkJCQkJCSAg IHBvaW50X2R0KCZwb2x5LT5wW2ldLCAmcmVzdWx0LT5jZW50ZXIsIE5VTEwpKTsKIAlyZXN1bHQt PnJhZGl1cyA9IGZsb2F0OF9kaXYocmVzdWx0LT5yYWRpdXMsIHBvbHktPm5wdHMpOwogfQogCi0t IAoyLjM0LjEKCg== --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0023-error-safe-for-user-defined-CREATE-CAST.patch" Content-Disposition: attachment; filename="v19-0023-error-safe-for-user-defined-CREATE-CAST.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nb11 RnJvbSBjNWZlMDFmNTAwZDYyZTZkNDI1YTJiNDY5YmNkNThjZTg1Mzg0NWU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMTIgTWFyIDIwMjYgMTc6MTA6NDUgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAyMy8yM10gZXJyb3Igc2FmZSBmb3IgdXNlciBkZWZpbmVkIENSRUFURSBDQVNUCgpwZ19jYXN0 LmNhc3RlcnJvcnNhZmUgY29sdW1uIHRvIGluZGljYXRlIGNhc3RmdW5jIGlzIGVycm9yIHNhZmUg b3Igbm90LgpjaGFuZ2Ugc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jYXN0LmRhdCB0byBpbmRpY2F0 ZSB0aGF0IG1vc3Qgb2YgdGhlIHN5c3RlbSBjYXN0CmZ1bmN0aW9uIHN1cHBvcnQgc29mdCBlcnJv ciBldmFsdWF0aW9uLgoKVGhlIFNBRkUga2V5d29yZCBpcyBpbnRyb2R1Y2VkIGZvciBhbGxvdyB1 c2VyLWRlZmluZWQgQ1JFQVRFIENBU1QgY2FuIGFsc28gYmUKZXZhbHVhdGVkIGluIHNvZnQtZXJy b3IuCgpUaGUgbmV3IHN5bm9wc2lzIG9mIENSRUFURSBDQVNUIGlzOgpDUkVBVEUgQ0FTVCAoc291 cmNlX3R5cGUgQVMgdGFyZ2V0X3R5cGUpCiAgICBXSVRIIFtTQUZFXSBGVU5DVElPTiBmdW5jdGlv bl9uYW1lIFsgKGFyZ3VtZW50X3R5cGUgWywgLi4uXSkgXQogICAgWyBBUyBBU1NJR05NRU5UIHwg QVMgSU1QTElDSVQgXQoKVGhlIGZvbGxvd2luZyBjYXN0IGluIGNpdGV4dCwgaHN0b3JlIGNvbnRy aWIgbW9kdWxlIHJlZmFjdG9yZWQgdG8gZXJyb3Igc2FmZToKQ0FTVCAoYnBjaGFyIEFTIGNpdGV4 dCkKQ0FTVCAoYm9vbGVhbiBBUyBjaXRleHQpCkNBU1QgKGluZXQgQVMgY2l0ZXh0KQpDQVNUICh0 ZXh0W10gQVMgaHN0b3JlKQpDQVNUIChoc3RvcmUgQVMganNvbikKQ0FTVCAoaHN0b3JlIEFTIGpz b25iKQoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQURrTE09ZnYxSmZZNFVmYS1q Y3d3TmJqUWl4TlZpc2tROGpadTNUel9wNjU2aV80aFFAbWFpbC5nbWFpbC5jb20KY29tbWl0ZmVz dDogaHR0cHM6Ly9jb21taXRmZXN0LnBvc3RncmVzcWwub3JnL3BhdGNoLzU5NDEKLS0tCiBjb250 cmliL2NpdGV4dC9jaXRleHQtLTEuNC5zcWwgICAgICAgICAgICB8ICAgNiArLQogY29udHJpYi9j aXRleHQvZXhwZWN0ZWQvY2l0ZXh0Lm91dCAgICAgICAgfCAgMjQgKy0KIGNvbnRyaWIvY2l0ZXh0 L2V4cGVjdGVkL2NpdGV4dF8xLm91dCAgICAgIHwgIDI0ICstCiBjb250cmliL2NpdGV4dC9zcWwv Y2l0ZXh0LnNxbCAgICAgICAgICAgICB8ICAgNSArLQogY29udHJpYi9oc3RvcmUvZXhwZWN0ZWQv aHN0b3JlLm91dCAgICAgICAgfCAgMzcgKysrCiBjb250cmliL2hzdG9yZS9oc3RvcmUtLTEuMi0t MS4zLnNxbCAgICAgICB8ICAgMiArLQogY29udHJpYi9oc3RvcmUvaHN0b3JlLS0xLjQuc3FsICAg ICAgICAgICAgfCAgIDYgKy0KIGNvbnRyaWIvaHN0b3JlL2hzdG9yZV9pby5jICAgICAgICAgICAg ICAgIHwgICA4ICstCiBjb250cmliL2hzdG9yZS9zcWwvaHN0b3JlLnNxbCAgICAgICAgICAgICB8 ICAxMSArCiBkb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbCAgICAgICAgICAgICAgICB8ICAxNSAr CiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9jYXN0LnNnbWwgICAgICAgICB8ICAxNCArLQogZG9j L3NyYy9zZ21sL3N5bnRheC5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfY2FzdC5jICAgICAgICAgICAgIHwgICA0ICstCiBzcmMvYmFja2VuZC9j b21tYW5kcy9mdW5jdGlvbmNtZHMuYyAgICAgICB8ICAgOSArLQogc3JjL2JhY2tlbmQvY29tbWFu ZHMvdHlwZWNtZHMuYyAgICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eSAgICAgICAgICAgICAgICAgfCAgMTggKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHBy LmMgICAgICAgICAgIHwgIDEyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuZGF0ICAg ICAgICAgICB8IDMzMCArKysrKysrKysrKy0tLS0tLS0tLS0tCiBzcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2Nhc3QuaCAgICAgICAgICAgICB8ICAgNSArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5v ZGVzLmggICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggICAg ICAgICAgICAgICB8ICAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9jYXN0 Lm91dCB8ICAgOCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91dCAg fCAgMjQgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9jYXN0LnNxbCAgICAgIHwgICA1 ICsKIDI0IGZpbGVzIGNoYW5nZWQsIDM1NCBpbnNlcnRpb25zKCspLCAyMTkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQvY2l0ZXh0LS0xLjQuc3FsIGIvY29udHJpYi9j aXRleHQvY2l0ZXh0LS0xLjQuc3FsCmluZGV4IDdiMDYxOTg5MzUyLi41Yzg3ODIwMzg4ZiAxMDA2 NDQKLS0tIGEvY29udHJpYi9jaXRleHQvY2l0ZXh0LS0xLjQuc3FsCisrKyBiL2NvbnRyaWIvY2l0 ZXh0L2NpdGV4dC0tMS40LnNxbApAQCAtODUsOSArODUsOSBAQCBDUkVBVEUgQ0FTVCAoY2l0ZXh0 IEFTIHZhcmNoYXIpIFdJVEhPVVQgRlVOQ1RJT04gQVMgSU1QTElDSVQ7CiBDUkVBVEUgQ0FTVCAo Y2l0ZXh0IEFTIGJwY2hhcikgIFdJVEhPVVQgRlVOQ1RJT04gQVMgQVNTSUdOTUVOVDsKIENSRUFU RSBDQVNUICh0ZXh0IEFTIGNpdGV4dCkgICAgV0lUSE9VVCBGVU5DVElPTiBBUyBBU1NJR05NRU5U OwogQ1JFQVRFIENBU1QgKHZhcmNoYXIgQVMgY2l0ZXh0KSBXSVRIT1VUIEZVTkNUSU9OIEFTIEFT U0lHTk1FTlQ7Ci1DUkVBVEUgQ0FTVCAoYnBjaGFyIEFTIGNpdGV4dCkgIFdJVEggRlVOQ1RJT04g Y2l0ZXh0KGJwY2hhcikgIEFTIEFTU0lHTk1FTlQ7Ci1DUkVBVEUgQ0FTVCAoYm9vbGVhbiBBUyBj aXRleHQpIFdJVEggRlVOQ1RJT04gY2l0ZXh0KGJvb2xlYW4pIEFTIEFTU0lHTk1FTlQ7Ci1DUkVB VEUgQ0FTVCAoaW5ldCBBUyBjaXRleHQpICAgIFdJVEggRlVOQ1RJT04gY2l0ZXh0KGluZXQpICAg IEFTIEFTU0lHTk1FTlQ7CitDUkVBVEUgQ0FTVCAoYnBjaGFyIEFTIGNpdGV4dCkgIFdJVEggU0FG RSBGVU5DVElPTiBjaXRleHQoYnBjaGFyKSAgQVMgQVNTSUdOTUVOVDsKK0NSRUFURSBDQVNUIChi b29sZWFuIEFTIGNpdGV4dCkgV0lUSCBTQUZFIEZVTkNUSU9OIGNpdGV4dChib29sZWFuKSBBUyBB U1NJR05NRU5UOworQ1JFQVRFIENBU1QgKGluZXQgQVMgY2l0ZXh0KSAgICBXSVRIIFNBRkUgRlVO Q1RJT04gY2l0ZXh0KGluZXQpICAgIEFTIEFTU0lHTk1FTlQ7CiAKIC0tCiAtLSBPcGVyYXRvciBG dW5jdGlvbnMuCmRpZmYgLS1naXQgYS9jb250cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHQub3V0 IGIvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0Lm91dAppbmRleCBlY2ZhZjJhYTg1YS4u YmUzMjg3MTU0OTIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dC5v dXQKKysrIGIvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0Lm91dApAQCAtMTAsMTEgKzEw LDEyIEBAIFdIRVJFIG9wYy5vaWQgPj0gMTYzODQgQU5EIE5PVCBhbXZhbGlkYXRlKG9wYy5vaWQp OwogLS0tLS0tLS0rLS0tLS0tLS0tCiAoMCByb3dzKQogCi1TRUxFQ1QgQ0FTVCgnYWJjJzo6YnBj aGFyIEFTIGNpdGV4dCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9y Ci1FUlJPUjogIGNhbm5vdCBjYXN0IHR5cGUgY2hhcmFjdGVyIHRvIGNpdGV4dCB3aGVuIERFRkFV TFQgZXhwcmVzc2lvbiBpcyBzcGVjaWZpZWQgaW4gQ0FTVCAuLi4gT04gQ09OVkVSU0lPTiBFUlJP UgotTElORSAxOiBTRUxFQ1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFTIGNpdGV4dCBERUZBVUxUIE5V TEwgT04gQ09OVkVSU0kuLi4KLSAgICAgICAgICAgICAgICAgICAgXgotSElOVDogIFNhZmUgdHlw ZSBjYXN0IGZvciB1c2VyLWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLgorU0VM RUNUIENBU1QoJ2FiYyc6OmJwY2hhciBBUyBjaXRleHQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpOworIGNpdGV4dCAKKy0tLS0tLS0tCisgYWJjCisoMSByb3cpCisKIC0tIFRlc3Qg dGhlIG9wZXJhdG9ycyBhbmQgaW5kZXhpbmcgZnVuY3Rpb25zCiAtLSBUZXN0ID0gYW5kIDw+Lgog U0VMRUNUICdhJzo6Y2l0ZXh0ID0gJ2EnOjpjaXRleHQgQVMgdDsKQEAgLTUyMyw2ICs1MjQsMTIg QEAgU0VMRUNUIHRydWU6OmNpdGV4dCA9ICd0cnVlJyBBUyB0OwogIHQKICgxIHJvdykKIAorU0VM RUNUIENBU1QodHJ1ZSBBUyBjaXRleHQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip OworIGNpdGV4dCAKKy0tLS0tLS0tCisgdHJ1ZQorKDEgcm93KQorCiBTRUxFQ1QgJ3RydWUnOjpj aXRleHQ6OmJvb2xlYW4gPSB0cnVlIEFTIHQ7CiAgdCAKIC0tLQpAQCAtNzg3LDYgKzc5NCwxMyBA QCBTRUxFQ1QgJzE5Mi4xNjguMTAwLjEyOCc6OmNpdGV4dDo6aW5ldCA9ICcxOTIuMTY4LjEwMC4x MjgnOjppbmV0IEFTIHQ7CiAgdAogKDEgcm93KQogCitTRUxFQ1QgQ0FTVChpbmV0ICcxOTIuMTY4 LjEwMC4xMjgnIEFTIGNpdGV4dAorICAgICAgICAgICBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lP TiBFUlJPUikgPSAnMTkyLjE2OC4xMDAuMTI4LzMyJyBBUyB0OworIHQgCistLS0KKyB0CisoMSBy b3cpCisKIFNFTEVDVCAnMDg6MDA6MmI6MDE6MDI6MDMnOjptYWNhZGRyOjpjaXRleHQgPSAnMDg6 MDA6MmI6MDE6MDI6MDMnIEFTIHQ7CiAgdCAKIC0tLQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRl eHQvZXhwZWN0ZWQvY2l0ZXh0XzEub3V0IGIvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0 XzEub3V0CmluZGV4IDNlMTJjZDc5M2FkLi5lOWY4NDU0YzY2MiAxMDA2NDQKLS0tIGEvY29udHJp Yi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0XzEub3V0CisrKyBiL2NvbnRyaWIvY2l0ZXh0L2V4cGVj dGVkL2NpdGV4dF8xLm91dApAQCAtMTAsMTEgKzEwLDEyIEBAIFdIRVJFIG9wYy5vaWQgPj0gMTYz ODQgQU5EIE5PVCBhbXZhbGlkYXRlKG9wYy5vaWQpOwogLS0tLS0tLS0rLS0tLS0tLS0tCiAoMCBy b3dzKQogCi1TRUxFQ1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFTIGNpdGV4dCBERUZBVUxUIE5VTEwg T04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCi1FUlJPUjogIGNhbm5vdCBjYXN0IHR5cGUg Y2hhcmFjdGVyIHRvIGNpdGV4dCB3aGVuIERFRkFVTFQgZXhwcmVzc2lvbiBpcyBzcGVjaWZpZWQg aW4gQ0FTVCAuLi4gT04gQ09OVkVSU0lPTiBFUlJPUgotTElORSAxOiBTRUxFQ1QgQ0FTVCgnYWJj Jzo6YnBjaGFyIEFTIGNpdGV4dCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0kuLi4KLSAgICAgICAg ICAgICAgICAgICAgXgotSElOVDogIFNhZmUgdHlwZSBjYXN0IGZvciB1c2VyLWRlZmluZWQgdHlw ZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLgorU0VMRUNUIENBU1QoJ2FiYyc6OmJwY2hhciBBUyBj aXRleHQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworIGNpdGV4dCAKKy0tLS0t LS0tCisgYWJjCisoMSByb3cpCisKIC0tIFRlc3QgdGhlIG9wZXJhdG9ycyBhbmQgaW5kZXhpbmcg ZnVuY3Rpb25zCiAtLSBUZXN0ID0gYW5kIDw+LgogU0VMRUNUICdhJzo6Y2l0ZXh0ID0gJ2EnOjpj aXRleHQgQVMgdDsKQEAgLTUyMyw2ICs1MjQsMTIgQEAgU0VMRUNUIHRydWU6OmNpdGV4dCA9ICd0 cnVlJyBBUyB0OwogIHQKICgxIHJvdykKIAorU0VMRUNUIENBU1QodHJ1ZSBBUyBjaXRleHQgREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworIGNpdGV4dCAKKy0tLS0tLS0tCisgdHJ1 ZQorKDEgcm93KQorCiBTRUxFQ1QgJ3RydWUnOjpjaXRleHQ6OmJvb2xlYW4gPSB0cnVlIEFTIHQ7 CiAgdCAKIC0tLQpAQCAtNzg3LDYgKzc5NCwxMyBAQCBTRUxFQ1QgJzE5Mi4xNjguMTAwLjEyOCc6 OmNpdGV4dDo6aW5ldCA9ICcxOTIuMTY4LjEwMC4xMjgnOjppbmV0IEFTIHQ7CiAgdAogKDEgcm93 KQogCitTRUxFQ1QgQ0FTVChpbmV0ICcxOTIuMTY4LjEwMC4xMjgnIEFTIGNpdGV4dAorICAgICAg ICAgICBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgPSAnMTkyLjE2OC4xMDAuMTI4 LzMyJyBBUyB0OworIHQgCistLS0KKyB0CisoMSByb3cpCisKIFNFTEVDVCAnMDg6MDA6MmI6MDE6 MDI6MDMnOjptYWNhZGRyOjpjaXRleHQgPSAnMDg6MDA6MmI6MDE6MDI6MDMnIEFTIHQ7CiAgdCAK IC0tLQpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQvc3FsL2NpdGV4dC5zcWwgYi9jb250cmli L2NpdGV4dC9zcWwvY2l0ZXh0LnNxbAppbmRleCBjODIwYjBiZDRkOS4uNjJmODNkNzQ5ZjkgMTAw NjQ0Ci0tLSBhL2NvbnRyaWIvY2l0ZXh0L3NxbC9jaXRleHQuc3FsCisrKyBiL2NvbnRyaWIvY2l0 ZXh0L3NxbC9jaXRleHQuc3FsCkBAIC05LDcgKzksNyBAQCBTRUxFQ1QgYW1uYW1lLCBvcGNuYW1l CiBGUk9NIHBnX29wY2xhc3Mgb3BjIExFRlQgSk9JTiBwZ19hbSBhbSBPTiBhbS5vaWQgPSBvcGNt ZXRob2QKIFdIRVJFIG9wYy5vaWQgPj0gMTYzODQgQU5EIE5PVCBhbXZhbGlkYXRlKG9wYy5vaWQp OwogCi1TRUxFQ1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFTIGNpdGV4dCBERUZBVUxUIE5VTEwgT04g Q09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCitTRUxFQ1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFT IGNpdGV4dCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CiAKIC0tIFRlc3QgdGhl IG9wZXJhdG9ycyBhbmQgaW5kZXhpbmcgZnVuY3Rpb25zCiAKQEAgLTE2NSw2ICsxNjUsNyBAQCBT RUxFQ1QgbmFtZSBGUk9NIHNydCBXSEVSRSBuYW1lIFNJTUlMQVIgVE8gJyVBLionOwogCiAtLSBF eHBsaWNpdCBjYXN0cy4KIFNFTEVDVCB0cnVlOjpjaXRleHQgPSAndHJ1ZScgQVMgdDsKK1NFTEVD VCBDQVNUKHRydWUgQVMgY2l0ZXh0IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsK IFNFTEVDVCAndHJ1ZSc6OmNpdGV4dDo6Ym9vbGVhbiA9IHRydWUgQVMgdDsKIAogU0VMRUNUIDQ6 OmNpdGV4dCA9ICc0JyBBUyB0OwpAQCAtMjI0LDYgKzIyNSw4IEBAIFNFTEVDVCAnMTkyLjE2OC4x MDAuMTI4LzI1Jzo6Y2l0ZXh0OjpjaWRyID0gJzE5Mi4xNjguMTAwLjEyOC8yNSc6OmNpZHIgQVMg dDsKIAogU0VMRUNUICcxOTIuMTY4LjEwMC4xMjgnOjppbmV0OjpjaXRleHQgPSAnMTkyLjE2OC4x MDAuMTI4LzMyJyBBUyB0OwogU0VMRUNUICcxOTIuMTY4LjEwMC4xMjgnOjpjaXRleHQ6OmluZXQg PSAnMTkyLjE2OC4xMDAuMTI4Jzo6aW5ldCBBUyB0OworU0VMRUNUIENBU1QoaW5ldCAnMTkyLjE2 OC4xMDAuMTI4JyBBUyBjaXRleHQKKyAgICAgICAgICAgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpID0gJzE5Mi4xNjguMTAwLjEyOC8zMicgQVMgdDsKIAogU0VMRUNUICcwODowMDoy YjowMTowMjowMyc6Om1hY2FkZHI6OmNpdGV4dCA9ICcwODowMDoyYjowMTowMjowMycgQVMgdDsK IFNFTEVDVCAnMDg6MDA6MmI6MDE6MDI6MDMnOjpjaXRleHQ6Om1hY2FkZHIgPSAnMDg6MDA6MmI6 MDE6MDI6MDMnOjptYWNhZGRyIEFTIHQ7CmRpZmYgLS1naXQgYS9jb250cmliL2hzdG9yZS9leHBl Y3RlZC9oc3RvcmUub3V0IGIvY29udHJpYi9oc3RvcmUvZXhwZWN0ZWQvaHN0b3JlLm91dAppbmRl eCBhY2VhODgwNmJhNC4uMTkwODRmMzM3MWQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvaHN0b3JlL2V4 cGVjdGVkL2hzdG9yZS5vdXQKKysrIGIvY29udHJpYi9oc3RvcmUvZXhwZWN0ZWQvaHN0b3JlLm91 dApAQCAtODQwLDEyICs4NDAsMjggQEAgc2VsZWN0ICd7fSc6OnRleHRbXTo6aHN0b3JlOwogCiBz ZWxlY3QgQVJSQVlbJ2EnLCdnJywnYicsJ2gnLCdhc2QnXTo6aHN0b3JlOwogRVJST1I6ICBhcnJh eSBtdXN0IGhhdmUgZXZlbiBudW1iZXIgb2YgZWxlbWVudHMKK3NlbGVjdCBDQVNUKEFSUkFZWydh JywnZycsJ2InLCdoJywnYXNkJ10gQVMgaHN0b3JlCisgICAgICAgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpOworIGFycmF5IAorLS0tLS0tLQorIAorKDEgcm93KQorCiBzZWxlY3Qg QVJSQVlbJ2EnLCdnJywnYicsJ2gnLCdhc2QnLCdpJ106OmhzdG9yZTsKICAgICAgICAgICAgICBh cnJheSAgICAgICAgICAgICAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICJh Ij0+ImciLCAiYiI9PiJoIiwgImFzZCI9PiJpIgogKDEgcm93KQogCitzZWxlY3QgQVJSQVlbJ2En LCdnJywnYicsJ2gnLG51bGwsJ2knXTo6aHN0b3JlOworRVJST1I6ICBudWxsIHZhbHVlIG5vdCBh bGxvd2VkIGZvciBoc3RvcmUga2V5CitzZWxlY3QgQ0FTVChBUlJBWVsnYScsJ2cnLCdiJywnaCcs bnVsbCwnaSddIEFTIGhzdG9yZQorICAgICAgIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVS Uk9SKTsKKyBhcnJheSAKKy0tLS0tLS0KKyAKKygxIHJvdykKKwogc2VsZWN0IEFSUkFZW1snYScs J2cnXSxbJ2InLCdoJ10sWydhc2QnLCdpJ11dOjpoc3RvcmU7CiAgICAgICAgICAgICAgYXJyYXkg ICAgICAgICAgICAgIAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTg1NCw2 ICs4NzAsMTMgQEAgc2VsZWN0IEFSUkFZW1snYScsJ2cnXSxbJ2InLCdoJ10sWydhc2QnLCdpJ11d Ojpoc3RvcmU7CiAKIHNlbGVjdCBBUlJBWVtbJ2EnLCdnJywnYiddLFsnaCcsJ2FzZCcsJ2knXV06 OmhzdG9yZTsKIEVSUk9SOiAgYXJyYXkgbXVzdCBoYXZlIHR3byBjb2x1bW5zCitzZWxlY3QgQ0FT VChBUlJBWVtbJ2EnLCdnJywnYiddLFsnaCcsJ2FzZCcsJ2knXV0gQVMgaHN0b3JlCisgICAgICAg REVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworIGFycmF5IAorLS0tLS0tLQorIAor KDEgcm93KQorCiBzZWxlY3QgQVJSQVlbW1snYScsJ2cnXSxbJ2InLCdoJ10sWydhc2QnLCdpJ11d XTo6aHN0b3JlOwogRVJST1I6ICB3cm9uZyBudW1iZXIgb2YgYXJyYXkgc3Vic2NyaXB0cwogc2Vs ZWN0IGhzdG9yZSgne30nOjp0ZXh0W10pOwpAQCAtMTU1Miw2ICsxNTc1LDEzIEBAIHNlbGVjdCBj YXN0KCBoc3RvcmUgICciYSBrZXkiID0+MSwgYiA9PiB0LCBjID0+IG51bGwsIGQ9PiAxMjM0NSwg ZSA9PiAwMTIzNDUsIGY9CiAgeyJiIjogInQiLCAiYyI6IG51bGwsICJkIjogIjEyMzQ1IiwgImUi OiAiMDEyMzQ1IiwgImYiOiAiMS4yMzQiLCAiZyI6ICIyLjM0NWUrNCIsICJhIGtleSI6ICIxIn0K ICgxIHJvdykKIAorc2VsZWN0IGNhc3QoIGhzdG9yZSAgJyJhIGtleSIgPT4xLCBiID0+IHQsIGMg PT4gbnVsbCwgZD0+IDEyMzQ1LCBlID0+IDAxMjM0NSwgZj0+IDEuMjM0LCBnPT4gMi4zNDVlKzQn IGFzIGpzb24KKyAgICAgICAgICAgIGRlZmF1bHQgbnVsbCBvbiBjb252ZXJzaW9uIGVycm9yKTsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7ImIiOiAidCIsICJjIjogbnVsbCwgImQiOiAi MTIzNDUiLCAiZSI6ICIwMTIzNDUiLCAiZiI6ICIxLjIzNCIsICJnIjogIjIuMzQ1ZSs0IiwgImEg a2V5IjogIjEifQorKDEgcm93KQorCiBzZWxlY3QgaHN0b3JlX3RvX2pzb25fbG9vc2UoJyJhIGtl eSIgPT4xLCBiID0+IHQsIGMgPT4gbnVsbCwgZD0+IDEyMzQ1LCBlID0+IDAxMjM0NSwgZj0+IDEu MjM0LCBnPT4gMi4zNDVlKzQsIGg9PiAiMjAxNi0wMS0wMSInKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHN0b3JlX3RvX2pzb25fbG9vc2UgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTE1NzAsNiArMTYwMCwxMyBAQCBz ZWxlY3QgY2FzdCggaHN0b3JlICAnImEga2V5IiA9PjEsIGIgPT4gdCwgYyA9PiBudWxsLCBkPT4g MTIzNDUsIGUgPT4gMDEyMzQ1LCBmPQogIHsiYiI6ICJ0IiwgImMiOiBudWxsLCAiZCI6ICIxMjM0 NSIsICJlIjogIjAxMjM0NSIsICJmIjogIjEuMjM0IiwgImciOiAiMi4zNDVlKzQiLCAiYSBrZXki OiAiMSJ9CiAoMSByb3cpCiAKK3NlbGVjdCBjYXN0KCBoc3RvcmUgICciYSBrZXkiID0+MSwgYiA9 PiB0LCBjID0+IG51bGwsIGQ9PiAxMjM0NSwgZSA9PiAwMTIzNDUsIGY9PiAxLjIzNCwgZz0+IDIu MzQ1ZSs0JyBhcyBqc29uYgorICAgICAgICAgICAgZGVmYXVsdCBudWxsIG9uIGNvbnZlcnNpb24g ZXJyb3IpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpz b25iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHsiYiI6ICJ0IiwgImMiOiBudWxs LCAiZCI6ICIxMjM0NSIsICJlIjogIjAxMjM0NSIsICJmIjogIjEuMjM0IiwgImciOiAiMi4zNDVl KzQiLCAiYSBrZXkiOiAiMSJ9CisoMSByb3cpCisKIHNlbGVjdCBoc3RvcmVfdG9fanNvbmJfbG9v c2UoJyJhIGtleSIgPT4xLCBiID0+IHQsIGMgPT4gbnVsbCwgZD0+IDEyMzQ1LCBlID0+IDAxMjM0 NSwgZj0+IDEuMjM0LCBnPT4gMi4zNDVlKzQsIGg9PiAiMjAxNi0wMS0wMSInKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhzdG9yZV90b19qc29uYl9sb29zZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2NvbnRyaWIv aHN0b3JlL2hzdG9yZS0tMS4yLS0xLjMuc3FsIGIvY29udHJpYi9oc3RvcmUvaHN0b3JlLS0xLjIt LTEuMy5zcWwKaW5kZXggMGE3MDU2MDE1YjcuLmNiYjFhMTM5ZTY5IDEwMDY0NAotLS0gYS9jb250 cmliL2hzdG9yZS9oc3RvcmUtLTEuMi0tMS4zLnNxbAorKysgYi9jb250cmliL2hzdG9yZS9oc3Rv cmUtLTEuMi0tMS4zLnNxbApAQCAtOSw3ICs5LDcgQEAgQVMgJ01PRFVMRV9QQVRITkFNRScsICdo c3RvcmVfdG9fanNvbmInCiBMQU5HVUFHRSBDIElNTVVUQUJMRSBTVFJJQ1Q7CiAKIENSRUFURSBD QVNUIChoc3RvcmUgQVMganNvbmIpCi0gIFdJVEggRlVOQ1RJT04gaHN0b3JlX3RvX2pzb25iKGhz dG9yZSk7CisgIFdJVEggU0FGRSBGVU5DVElPTiBoc3RvcmVfdG9fanNvbmIoaHN0b3JlKTsKIAog Q1JFQVRFIEZVTkNUSU9OIGhzdG9yZV90b19qc29uYl9sb29zZShoc3RvcmUpCiBSRVRVUk5TIGpz b25iCmRpZmYgLS1naXQgYS9jb250cmliL2hzdG9yZS9oc3RvcmUtLTEuNC5zcWwgYi9jb250cmli L2hzdG9yZS9oc3RvcmUtLTEuNC5zcWwKaW5kZXggNDI5NGQxNGNlYjUuLjQ1MWMyZWQ4MTg3IDEw MDY0NAotLS0gYS9jb250cmliL2hzdG9yZS9oc3RvcmUtLTEuNC5zcWwKKysrIGIvY29udHJpYi9o c3RvcmUvaHN0b3JlLS0xLjQuc3FsCkBAIC0yMzIsNyArMjMyLDcgQEAgQVMgJ01PRFVMRV9QQVRI TkFNRScsICdoc3RvcmVfZnJvbV9hcnJheScKIExBTkdVQUdFIEMgSU1NVVRBQkxFIFNUUklDVCBQ QVJBTExFTCBTQUZFOwogCiBDUkVBVEUgQ0FTVCAodGV4dFtdIEFTIGhzdG9yZSkKLSAgV0lUSCBG VU5DVElPTiBoc3RvcmUodGV4dFtdKTsKKyAgV0lUSCBTQUZFIEZVTkNUSU9OIGhzdG9yZSh0ZXh0 W10pOwogCiBDUkVBVEUgRlVOQ1RJT04gaHN0b3JlX3RvX2pzb24oaHN0b3JlKQogUkVUVVJOUyBq c29uCkBAIC0yNDAsNyArMjQwLDcgQEAgQVMgJ01PRFVMRV9QQVRITkFNRScsICdoc3RvcmVfdG9f anNvbicKIExBTkdVQUdFIEMgSU1NVVRBQkxFIFNUUklDVCBQQVJBTExFTCBTQUZFOwogCiBDUkVB VEUgQ0FTVCAoaHN0b3JlIEFTIGpzb24pCi0gIFdJVEggRlVOQ1RJT04gaHN0b3JlX3RvX2pzb24o aHN0b3JlKTsKKyAgV0lUSCBTQUZFIEZVTkNUSU9OIGhzdG9yZV90b19qc29uKGhzdG9yZSk7CiAK IENSRUFURSBGVU5DVElPTiBoc3RvcmVfdG9fanNvbl9sb29zZShoc3RvcmUpCiBSRVRVUk5TIGpz b24KQEAgLTI1Myw3ICsyNTMsNyBAQCBBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2hzdG9yZV90b19q c29uYicKIExBTkdVQUdFIEMgSU1NVVRBQkxFIFNUUklDVCBQQVJBTExFTCBTQUZFOwogCiBDUkVB VEUgQ0FTVCAoaHN0b3JlIEFTIGpzb25iKQotICBXSVRIIEZVTkNUSU9OIGhzdG9yZV90b19qc29u Yihoc3RvcmUpOworICBXSVRIIFNBRkUgRlVOQ1RJT04gaHN0b3JlX3RvX2pzb25iKGhzdG9yZSk7 CiAKIENSRUFURSBGVU5DVElPTiBoc3RvcmVfdG9fanNvbmJfbG9vc2UoaHN0b3JlKQogUkVUVVJO UyBqc29uYgpkaWZmIC0tZ2l0IGEvY29udHJpYi9oc3RvcmUvaHN0b3JlX2lvLmMgYi9jb250cmli L2hzdG9yZS9oc3RvcmVfaW8uYwppbmRleCA5YjcyZWZiODY3NC4uNTlhNDViNTJhOWUgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvaHN0b3JlL2hzdG9yZV9pby5jCisrKyBiL2NvbnRyaWIvaHN0b3JlL2hz dG9yZV9pby5jCkBAIC03MzksMjAgKzczOSwyMCBAQCBoc3RvcmVfZnJvbV9hcnJheShQR19GVU5D VElPTl9BUkdTKQogCiAJCWNhc2UgMToKIAkJCWlmICgoQVJSX0RJTVMoaW5fYXJyYXkpWzBdKSAl IDIpCi0JCQkJZXJlcG9ydChFUlJPUiwKKwkJCQllcmV0dXJuKGZjaW5mby0+Y29udGV4dCwgKERh dHVtKSAwLAogCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9BUlJBWV9TVUJTQ1JJUFRfRVJST1IpLAog CQkJCQkJIGVycm1zZygiYXJyYXkgbXVzdCBoYXZlIGV2ZW4gbnVtYmVyIG9mIGVsZW1lbnRzIikp KTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgMjoKIAkJCWlmICgoQVJSX0RJTVMoaW5fYXJyYXkpWzFd KSAhPSAyKQotCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJZXJldHVybihmY2luZm8tPmNvbnRleHQs IChEYXR1bSkgMCwKIAkJCQkJCShlcnJjb2RlKEVSUkNPREVfQVJSQVlfU1VCU0NSSVBUX0VSUk9S KSwKIAkJCQkJCSBlcnJtc2coImFycmF5IG11c3QgaGF2ZSB0d28gY29sdW1ucyIpKSk7CiAJCQli cmVhazsKIAogCQlkZWZhdWx0OgotCQkJZXJlcG9ydChFUlJPUiwKKwkJCQllcmV0dXJuKGZjaW5m by0+Y29udGV4dCwgKERhdHVtKSAwLAogCQkJCQkoZXJyY29kZShFUlJDT0RFX0FSUkFZX1NVQlND UklQVF9FUlJPUiksCiAJCQkJCSBlcnJtc2coIndyb25nIG51bWJlciBvZiBhcnJheSBzdWJzY3Jp cHRzIikpKTsKIAl9CkBAIC03NzMsNyArNzczLDcgQEAgaHN0b3JlX2Zyb21fYXJyYXkoUEdfRlVO Q1RJT05fQVJHUykKIAlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKIAl7CiAJCWlmIChpbl9u dWxsc1tpICogMl0pCi0JCQllcmVwb3J0KEVSUk9SLAorCQkJZXJldHVybihmY2luZm8tPmNvbnRl eHQsIChEYXR1bSkgMCwKIAkJCQkJKGVycmNvZGUoRVJSQ09ERV9OVUxMX1ZBTFVFX05PVF9BTExP V0VEKSwKIAkJCQkJIGVycm1zZygibnVsbCB2YWx1ZSBub3QgYWxsb3dlZCBmb3IgaHN0b3JlIGtl eSIpKSk7CiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaHN0b3JlL3NxbC9oc3RvcmUuc3FsIGIvY29u dHJpYi9oc3RvcmUvc3FsL2hzdG9yZS5zcWwKaW5kZXggOGFlOTVlOGE1MTAuLmE4MDNlMTFlYzg0 IDEwMDY0NAotLS0gYS9jb250cmliL2hzdG9yZS9zcWwvaHN0b3JlLnNxbAorKysgYi9jb250cmli L2hzdG9yZS9zcWwvaHN0b3JlLnNxbApAQCAtMTkwLDkgKzE5MCwxNiBAQCBzZWxlY3QgcGdfY29s dW1uX3NpemUoc2xpY2UoaHN0b3JlICdhYT0+MSwgYj0+MiwgYz0+MycsIEFSUkFZWydjJywnYics J2FhJ10pKQogLS0gYXJyYXkgaW5wdXQKIHNlbGVjdCAne30nOjp0ZXh0W106OmhzdG9yZTsKIHNl bGVjdCBBUlJBWVsnYScsJ2cnLCdiJywnaCcsJ2FzZCddOjpoc3RvcmU7CitzZWxlY3QgQ0FTVChB UlJBWVsnYScsJ2cnLCdiJywnaCcsJ2FzZCddIEFTIGhzdG9yZQorICAgICAgIERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKIHNlbGVjdCBBUlJBWVsnYScsJ2cnLCdiJywnaCcsJ2Fz ZCcsJ2knXTo6aHN0b3JlOworc2VsZWN0IEFSUkFZWydhJywnZycsJ2InLCdoJyxudWxsLCdpJ106 OmhzdG9yZTsKK3NlbGVjdCBDQVNUKEFSUkFZWydhJywnZycsJ2InLCdoJyxudWxsLCdpJ10gQVMg aHN0b3JlCisgICAgICAgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOwogc2VsZWN0 IEFSUkFZW1snYScsJ2cnXSxbJ2InLCdoJ10sWydhc2QnLCdpJ11dOjpoc3RvcmU7CiBzZWxlY3Qg QVJSQVlbWydhJywnZycsJ2InXSxbJ2gnLCdhc2QnLCdpJ11dOjpoc3RvcmU7CitzZWxlY3QgQ0FT VChBUlJBWVtbJ2EnLCdnJywnYiddLFsnaCcsJ2FzZCcsJ2knXV0gQVMgaHN0b3JlCisgICAgICAg REVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOwogc2VsZWN0IEFSUkFZW1tbJ2EnLCdn J10sWydiJywnaCddLFsnYXNkJywnaSddXV06OmhzdG9yZTsKIHNlbGVjdCBoc3RvcmUoJ3t9Jzo6 dGV4dFtdKTsKIHNlbGVjdCBoc3RvcmUoQVJSQVlbJ2EnLCdnJywnYicsJ2gnLCdhc2QnXSk7CkBA IC0zNjEsMTAgKzM2OCwxNCBAQCBzZWxlY3QgY291bnQoKikgZnJvbSB0ZXN0aHN0b3JlIHdoZXJl IGggPSAncG9zPT45OCwgbGluZT0+MzcxLCBub2RlPT5DQkEsIGluZGV4ZQogLS0ganNvbiBhbmQg anNvbmIKIHNlbGVjdCBoc3RvcmVfdG9fanNvbignImEga2V5IiA9PjEsIGIgPT4gdCwgYyA9PiBu dWxsLCBkPT4gMTIzNDUsIGUgPT4gMDEyMzQ1LCBmPT4gMS4yMzQsIGc9PiAyLjM0NWUrNCcpOwog c2VsZWN0IGNhc3QoIGhzdG9yZSAgJyJhIGtleSIgPT4xLCBiID0+IHQsIGMgPT4gbnVsbCwgZD0+ IDEyMzQ1LCBlID0+IDAxMjM0NSwgZj0+IDEuMjM0LCBnPT4gMi4zNDVlKzQnIGFzIGpzb24pOwor c2VsZWN0IGNhc3QoIGhzdG9yZSAgJyJhIGtleSIgPT4xLCBiID0+IHQsIGMgPT4gbnVsbCwgZD0+ IDEyMzQ1LCBlID0+IDAxMjM0NSwgZj0+IDEuMjM0LCBnPT4gMi4zNDVlKzQnIGFzIGpzb24KKyAg ICAgICAgICAgIGRlZmF1bHQgbnVsbCBvbiBjb252ZXJzaW9uIGVycm9yKTsKIHNlbGVjdCBoc3Rv cmVfdG9fanNvbl9sb29zZSgnImEga2V5IiA9PjEsIGIgPT4gdCwgYyA9PiBudWxsLCBkPT4gMTIz NDUsIGUgPT4gMDEyMzQ1LCBmPT4gMS4yMzQsIGc9PiAyLjM0NWUrNCwgaD0+ICIyMDE2LTAxLTAx IicpOwogCiBzZWxlY3QgaHN0b3JlX3RvX2pzb25iKCciYSBrZXkiID0+MSwgYiA9PiB0LCBjID0+ IG51bGwsIGQ9PiAxMjM0NSwgZSA9PiAwMTIzNDUsIGY9PiAxLjIzNCwgZz0+IDIuMzQ1ZSs0Jyk7 CiBzZWxlY3QgY2FzdCggaHN0b3JlICAnImEga2V5IiA9PjEsIGIgPT4gdCwgYyA9PiBudWxsLCBk PT4gMTIzNDUsIGUgPT4gMDEyMzQ1LCBmPT4gMS4yMzQsIGc9PiAyLjM0NWUrNCcgYXMganNvbmIp Oworc2VsZWN0IGNhc3QoIGhzdG9yZSAgJyJhIGtleSIgPT4xLCBiID0+IHQsIGMgPT4gbnVsbCwg ZD0+IDEyMzQ1LCBlID0+IDAxMjM0NSwgZj0+IDEuMjM0LCBnPT4gMi4zNDVlKzQnIGFzIGpzb25i CisgICAgICAgICAgICBkZWZhdWx0IG51bGwgb24gY29udmVyc2lvbiBlcnJvcik7CiBzZWxlY3Qg aHN0b3JlX3RvX2pzb25iX2xvb3NlKCciYSBrZXkiID0+MSwgYiA9PiB0LCBjID0+IG51bGwsIGQ9 PiAxMjM0NSwgZSA9PiAwMTIzNDUsIGY9PiAxLjIzNCwgZz0+IDIuMzQ1ZSs0LCBoPT4gIjIwMTYt MDEtMDEiJyk7CiAKIGNyZWF0ZSB0YWJsZSB0ZXN0X2pzb25fYWdnIChmMSB0ZXh0LCBmMiBoc3Rv cmUpOwpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvY2F0YWxvZ3Muc2dtbAppbmRleCA2OTU4ODkzNzcxOS4uMzIyYjA1Mjk2YjQgMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9jYXRhbG9n cy5zZ21sCkBAIC0xODQ5LDYgKzE4NDksMjEgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+ Jmx0O2l0ZXJhdGlvbiBjb3VudCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKICAg ICAgICA8bGl0ZXJhbD5iPC9saXRlcmFsPiBtZWFucyB0aGF0IHRoZSB0eXBlcyBhcmUgYmluYXJ5 LWNvZXJjaWJsZSwgdGh1cyBubyBjb252ZXJzaW9uIGlzIHJlcXVpcmVkLgogICAgICAgPC9wYXJh PjwvZW50cnk+CiAgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5jYXN0ZXJyb3JzYWZlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+Ym9vbDwv dHlwZT4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIFRoaXMgZmxhZyBp bmRpY2F0ZXMgd2hldGhlciB0aGUgPHN0cnVjdGZpZWxkPmNhc3RmdW5jPC9zdHJ1Y3RmaWVsZD4g ZnVuY3Rpb24KKyAgICAgICAgaXMgZXJyb3Itc2FmZS4gSXQgaXMgbWVhbmluZ2Z1bCBvbmx5IHdo ZW4gPHN0cnVjdGZpZWxkPmNhc3RmdW5jPC9zdHJ1Y3RmaWVsZD4KKyAgICAgICAgaXMgbm90IHpl cm8uIFVzZXItZGVmaW5lZCBjYXN0cyBjYW4gc2V0IGl0CisgICAgICAgIHRvIDxsaXRlcmFsPnRy dWU8L2xpdGVyYWw+IHZpYSA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlY2FzdCI+Q1JFQVRFIENB U1Q8L2xpbms+LgorICAgICAgICBGb3IgZXJyb3Itc2FmZSB0eXBlIGNhc3QsIHNlZSA8eHJlZiBs aW5rZW5kPSJzcWwtc3ludGF4LXR5cGUtY2FzdHMtc2FmZSIvPi4KKyAgICAgICA8L3BhcmE+Cisg ICAgICA8L2VudHJ5PgorICAgICA8L3Jvdz4KKwogICAgIDwvdGJvZHk+CiAgICA8L3Rncm91cD4K ICAgPC90YWJsZT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2Nhc3Quc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2Nhc3Quc2dtbAppbmRleCBiYWQ3NWJjMWRjZS4u ODg4ZDcxNDJlNDIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX2Nhc3Quc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9jYXN0LnNnbWwKQEAgLTIyLDcgKzIyLDcg QEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lz PgogQ1JFQVRFIENBU1QgKDxyZXBsYWNlYWJsZT5zb3VyY2VfdHlwZTwvcmVwbGFjZWFibGU+IEFT IDxyZXBsYWNlYWJsZT50YXJnZXRfdHlwZTwvcmVwbGFjZWFibGU+KQotICAgIFdJVEggRlVOQ1RJ T04gPHJlcGxhY2VhYmxlPmZ1bmN0aW9uX25hbWU8L3JlcGxhY2VhYmxlPiBbICg8cmVwbGFjZWFi bGU+YXJndW1lbnRfdHlwZTwvcmVwbGFjZWFibGU+IFssIC4uLl0pIF0KKyAgICBXSVRIIFtTQUZF XSBGVU5DVElPTiA8cmVwbGFjZWFibGU+ZnVuY3Rpb25fbmFtZTwvcmVwbGFjZWFibGU+IFsgKDxy ZXBsYWNlYWJsZT5hcmd1bWVudF90eXBlPC9yZXBsYWNlYWJsZT4gWywgLi4uXSkgXQogICAgIFsg QVMgQVNTSUdOTUVOVCB8IEFTIElNUExJQ0lUIF0KIAogQ1JFQVRFIENBU1QgKDxyZXBsYWNlYWJs ZT5zb3VyY2VfdHlwZTwvcmVwbGFjZWFibGU+IEFTIDxyZXBsYWNlYWJsZT50YXJnZXRfdHlwZTwv cmVwbGFjZWFibGU+KQpAQCAtMTk0LDYgKzE5NCwxOCBAQCBTRUxFQ1QgQ0FTVCAoIDIgQVMgbnVt ZXJpYyApICsgNC4wOwogICAgICA8L2xpc3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgogCisg ICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgPHRlcm0+PGxpdGVyYWw+U0FGRTwvbGl0ZXJhbD48L3Rl cm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRoZSBmdW5jdGlvbiB1 c2VkIHRvIHBlcmZvcm0gdGhlIGNhc3Qgc3VwcG9ydCBzb2Z0LWVycm9yIGV2YWx1YXRpb24sCisg ICAgICAgQ3VycmVudGx5LCBvbmx5IGZ1bmN0aW9ucyB3cml0dGVuIGluIEMgb3IgdGhlIGludGVy bmFsIGxhbmd1YWdlIGFyZSBzdXBwb3J0ZWQuCisgICAgICAgQW4gYWx0ZXJuYXRlIGV4cHJlc3Np b24gY2FuIGJlIHNwZWNpZmllZCB0byBiZSBldmFsdWF0ZWQgaWYgdGhlIGNhc3QKKyAgICAgICBl cnJvciBvY2N1cnMuICBTZWUgPGxpbmsgbGlua2VuZD0ic3FsLXN5bnRheC10eXBlLWNhc3RzLXNh ZmUiPnNhZmUgdHlwZSBjYXN0PC9saW5rPi4KKyAgICAgIDwvcGFyYT4KKyAgICAgPC9saXN0aXRl bT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgIDx0ZXJt PjxsaXRlcmFsPjxyZXBsYWNlYWJsZT5mdW5jdGlvbl9uYW1lPC9yZXBsYWNlYWJsZT5bKDxyZXBs YWNlYWJsZT5hcmd1bWVudF90eXBlPC9yZXBsYWNlYWJsZT4gWywgLi4uXSldPC9saXRlcmFsPjwv dGVybT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3N5bnRheC5zZ21sIGIvZG9jL3NyYy9z Z21sL3N5bnRheC5zZ21sCmluZGV4IDRhYmQ1ZTY3MWFlLi4wZDY2MzViYmViZCAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL3N5bnRheC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9zeW50YXguc2dt bApAQCAtMjE0Miw5ICsyMTQyLDggQEAgQ0FTVCAoIDxyZXBsYWNlYWJsZT5leHByZXNzaW9uPC9y ZXBsYWNlYWJsZT4gQVMgPHJlcGxhY2VhYmxlPnR5cGU8L3JlcGxhY2VhYmxlPgogICAgIElmIHRo ZSB0eXBlIGNhc3QgZmFpbHMsIGFuIGVycm9yIGlzIG5vdCByYWlzZWQuICBJbnN0ZWFkLCBldmFs dWF0aW9uIGZhbGxzCiAgICAgYmFjayB0byB0aGUgZGVmYXVsdCA8cmVwbGFjZWFibGU+ZXhwcmVz c2lvbjwvcmVwbGFjZWFibGU+IHNwZWNpZmllZCBpbiB0aGUKICAgICA8bGl0ZXJhbD5PTiBDT05W RVJTSU9OIEVSUk9SPC9saXRlcmFsPiBjbGF1c2UuCi0gICAgQXQgcHJlc2VudCwgdGhpcyBvbmx5 IHN1cHBvcnQgYnVpbHQtaW4gdHlwZSBjYXN0cywgc2VlIDx4cmVmIGxpbmtlbmQ9ImNhdGFsb2ct cGctY2FzdCIvPi4KICAgICBVc2VyLWRlZmluZWQgdHlwZSBjYXN0cyBjcmVhdGVkIHdpdGggPGxp bmsgbGlua2VuZD0ic3FsLWNyZWF0ZWNhc3QiPkNSRUFURSBDQVNUPC9saW5rPgotICAgIGFyZSBu b3Qgc3VwcG9ydGVkLgorICAgIGFyZSBzdXBwb3J0ZWQgdG9vLgogICA8L3BhcmE+CiAKICAgICA8 cGFyYT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY2FzdC5jIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9wZ19jYXN0LmMKaW5kZXggNTExOWMyYWNkYTIuLjllZmY5NDFlYWJiIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2Nhc3QuYworKysgYi9zcmMvYmFja2Vu ZC9jYXRhbG9nL3BnX2Nhc3QuYwpAQCAtNDgsNyArNDgsOCBAQAogT2JqZWN0QWRkcmVzcwogQ2Fz dENyZWF0ZShPaWQgc291cmNldHlwZWlkLCBPaWQgdGFyZ2V0dHlwZWlkLAogCQkgICBPaWQgZnVu Y2lkLCBPaWQgaW5jYXN0aWQsIE9pZCBvdXRjYXN0aWQsCi0JCSAgIGNoYXIgY2FzdGNvbnRleHQs IGNoYXIgY2FzdG1ldGhvZCwgRGVwZW5kZW5jeVR5cGUgYmVoYXZpb3IpCisJCSAgIGNoYXIgY2Fz dGNvbnRleHQsIGNoYXIgY2FzdG1ldGhvZCwgYm9vbCBjYXN0ZXJyb3JzYWZlLAorCQkgICBEZXBl bmRlbmN5VHlwZSBiZWhhdmlvcikKIHsKIAlSZWxhdGlvbglyZWxhdGlvbjsKIAlIZWFwVHVwbGUJ dHVwbGU7CkBAIC04NCw2ICs4NSw3IEBAIENhc3RDcmVhdGUoT2lkIHNvdXJjZXR5cGVpZCwgT2lk IHRhcmdldHR5cGVpZCwKIAl2YWx1ZXNbQW51bV9wZ19jYXN0X2Nhc3RmdW5jIC0gMV0gPSBPYmpl Y3RJZEdldERhdHVtKGZ1bmNpZCk7CiAJdmFsdWVzW0FudW1fcGdfY2FzdF9jYXN0Y29udGV4dCAt IDFdID0gQ2hhckdldERhdHVtKGNhc3Rjb250ZXh0KTsKIAl2YWx1ZXNbQW51bV9wZ19jYXN0X2Nh c3RtZXRob2QgLSAxXSA9IENoYXJHZXREYXR1bShjYXN0bWV0aG9kKTsKKwl2YWx1ZXNbQW51bV9w Z19jYXN0X2Nhc3RlcnJvcnNhZmUgLSAxXSA9IEJvb2xHZXREYXR1bShjYXN0ZXJyb3JzYWZlKTsK IAogCXR1cGxlID0gaGVhcF9mb3JtX3R1cGxlKFJlbGF0aW9uR2V0RGVzY3IocmVsYXRpb24pLCB2 YWx1ZXMsIG51bGxzKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZnVuY3Rp b25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9mdW5jdGlvbmNtZHMuYwppbmRleCAyNDIz NzJiMWU2OC4uMDBkOWRjNzk3YzUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Z1 bmN0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Z1bmN0aW9uY21kcy5jCkBA IC0xNjY4LDYgKzE2NjgsMTMgQEAgQ3JlYXRlQ2FzdChDcmVhdGVDYXN0U3RtdCAqc3RtdCkKIAkJ CQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKIAkJCQkJIGVy cm1zZygiY2FzdCBmdW5jdGlvbiBtdXN0IG5vdCByZXR1cm4gYSBzZXQiKSkpOwogCisJCWlmIChz dG10LT5zYWZlICYmCisJCQlwcm9jc3RydWN0LT5wcm9sYW5nICE9IElOVEVSTkFMbGFuZ3VhZ2VJ ZCAmJgorCQkJcHJvY3N0cnVjdC0+cHJvbGFuZyAhPSBDbGFuZ3VhZ2VJZCkKKwkJCWVyZXBvcnQo RVJST1IsCisJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJ CQllcnJtc2coInNhZmUgdHlwZSBjYXN0IGZ1bmN0aW9ucyBhcmUgb25seSBzdXBwb3J0ZWQgZm9y IEMgYW5kIGludGVybmFsIGxhbmd1YWdlcyIpKTsKKwogCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUp OwogCX0KIAllbHNlCkBAIC0xNzk2LDcgKzE4MDMsNyBAQCBDcmVhdGVDYXN0KENyZWF0ZUNhc3RT dG10ICpzdG10KQogCX0KIAogCW15c2VsZiA9IENhc3RDcmVhdGUoc291cmNldHlwZWlkLCB0YXJn ZXR0eXBlaWQsIGZ1bmNpZCwgaW5jYXN0aWQsIG91dGNhc3RpZCwKLQkJCQkJCWNhc3Rjb250ZXh0 LCBjYXN0bWV0aG9kLCBERVBFTkRFTkNZX05PUk1BTCk7CisJCQkJCQljYXN0Y29udGV4dCwgY2Fz dG1ldGhvZCwgc3RtdC0+c2FmZSwgREVQRU5ERU5DWV9OT1JNQUwpOwogCXJldHVybiBteXNlbGY7 CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3R5cGVjbWRzLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy90eXBlY21kcy5jCmluZGV4IDNkYWI2YmI1YTc5Li5iMzcxM2I4NTEz YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdHlwZWNtZHMuYworKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy90eXBlY21kcy5jCkBAIC0xNzY1LDYgKzE3NjUsNyBAQCBEZWZpbmVS YW5nZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVJhbmdlU3RtdCAqc3RtdCkKIAkvKiBDcmVh dGUgY2FzdCBmcm9tIHRoZSByYW5nZSB0eXBlIHRvIGl0cyBtdWx0aXJhbmdlIHR5cGUgKi8KIAlD YXN0Q3JlYXRlKHR5cG9pZCwgbXVsdGlyYW5nZU9pZCwgY2FzdEZ1bmNPaWQsIEludmFsaWRPaWQs IEludmFsaWRPaWQsCiAJCQkgICBDT0VSQ0lPTl9DT0RFX0VYUExJQ0lULCBDT0VSQ0lPTl9NRVRI T0RfRlVOQ1RJT04sCisJCQkgICBmYWxzZSwKIAkJCSAgIERFUEVOREVOQ1lfSU5URVJOQUwpOwog CiAJcGZyZWUobXVsdGlyYW5nZUFycmF5TmFtZSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9w YXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCA3NjEyYjg4NGFl My4uMDI0ZDcxOGJlYTAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysr IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMzU3LDcgKzM1Nyw3IEBAIHN0YXRpYyBO b2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2Vz LCBOb2RlICpxdWVyeSk7CiAldHlwZSA8ZGVmZWx0Pglkcm9wX29wdGlvbgogJXR5cGUgPGJvb2xl YW4+CW9wdF9vcl9yZXBsYWNlIG9wdF9ubwogCQkJCW9wdF9ncmFudF9ncmFudF9vcHRpb24KLQkJ CQlvcHRfbm93YWl0IG9wdF9pZl9leGlzdHMgb3B0X3dpdGhfZGF0YQorCQkJCW9wdF9ub3dhaXQg b3B0X3NhZmUgb3B0X2lmX2V4aXN0cyBvcHRfd2l0aF9kYXRhCiAJCQkJb3B0X3RyYW5zYWN0aW9u X2NoYWluCiAldHlwZSA8bGlzdD4JZ3JhbnRfcm9sZV9vcHRfbGlzdAogJXR5cGUgPGRlZmVsdD4J Z3JhbnRfcm9sZV9vcHQKQEAgLTc4Miw3ICs3ODIsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vy c2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkp OwogCVJFU0VUIFJFU1BFQ1RfUCBSRVNUQVJUIFJFU1RSSUNUIFJFVFVSTiBSRVRVUk5JTkcgUkVU VVJOUyBSRVZPS0UgUklHSFQgUk9MRSBST0xMQkFDSyBST0xMVVAKIAlST1VUSU5FIFJPVVRJTkVT IFJPVyBST1dTIFJVTEUKIAotCVNBVkVQT0lOVCBTQ0FMQVIgU0NIRU1BIFNDSEVNQVMgU0NST0xM IFNFQVJDSCBTRUNPTkRfUCBTRUNVUklUWSBTRUxFQ1QKKwlTQUZFIFNBVkVQT0lOVCBTQ0FMQVIg U0NIRU1BIFNDSEVNQVMgU0NST0xMIFNFQVJDSCBTRUNPTkRfUCBTRUNVUklUWSBTRUxFQ1QKIAlT RVFVRU5DRSBTRVFVRU5DRVMKIAlTRVJJQUxJWkFCTEUgU0VSVkVSIFNFU1NJT04gU0VTU0lPTl9V U0VSIFNFVCBTRVRTIFNFVE9GIFNIQVJFIFNIT1cKIAlTSU1JTEFSIFNJTVBMRSBTS0lQIFNNQUxM SU5UIFNOQVBTSE9UIFNPTUUgU1BMSVQgU09VUkNFIFNRTF9QIFNUQUJMRSBTVEFOREFMT05FX1AK QEAgLTkzNjAsMTQgKzkzNjAsMTUgQEAgZG9zdG10X29wdF9pdGVtOgogICoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLwogCiBDcmVhdGVDYXN0U3RtdDogQ1JFQVRFIENBU1QgJygnIFR5cGVuYW1lIEFTIFR5 cGVuYW1lICcpJwotCQkJCQlXSVRIIEZVTkNUSU9OIGZ1bmN0aW9uX3dpdGhfYXJndHlwZXMgY2Fz dF9jb250ZXh0CisJCQkJCVdJVEggb3B0X3NhZmUgRlVOQ1RJT04gZnVuY3Rpb25fd2l0aF9hcmd0 eXBlcyBjYXN0X2NvbnRleHQKIAkJCQl7CiAJCQkJCUNyZWF0ZUNhc3RTdG10ICpuID0gbWFrZU5v ZGUoQ3JlYXRlQ2FzdFN0bXQpOwogCiAJCQkJCW4tPnNvdXJjZXR5cGUgPSAkNDsKIAkJCQkJbi0+ dGFyZ2V0dHlwZSA9ICQ2OwotCQkJCQluLT5mdW5jID0gJDEwOwotCQkJCQluLT5jb250ZXh0ID0g KENvZXJjaW9uQ29udGV4dCkgJDExOworCQkJCQluLT5zYWZlID0gJDk7CisJCQkJCW4tPmZ1bmMg PSAkMTE7CisJCQkJCW4tPmNvbnRleHQgPSAoQ29lcmNpb25Db250ZXh0KSAkMTI7CiAJCQkJCW4t Pmlub3V0ID0gZmFsc2U7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CkBAIC05Mzc4LDYg KzkzNzksNyBAQCBDcmVhdGVDYXN0U3RtdDogQ1JFQVRFIENBU1QgJygnIFR5cGVuYW1lIEFTIFR5 cGVuYW1lICcpJwogCiAJCQkJCW4tPnNvdXJjZXR5cGUgPSAkNDsKIAkJCQkJbi0+dGFyZ2V0dHlw ZSA9ICQ2OworCQkJCQluLT5zYWZlID0gZmFsc2U7CiAJCQkJCW4tPmZ1bmMgPSBOVUxMOwogCQkJ CQluLT5jb250ZXh0ID0gKENvZXJjaW9uQ29udGV4dCkgJDEwOwogCQkJCQluLT5pbm91dCA9IGZh bHNlOwpAQCAtOTM5MCw2ICs5MzkyLDcgQEAgQ3JlYXRlQ2FzdFN0bXQ6IENSRUFURSBDQVNUICco JyBUeXBlbmFtZSBBUyBUeXBlbmFtZSAnKScKIAogCQkJCQluLT5zb3VyY2V0eXBlID0gJDQ7CiAJ CQkJCW4tPnRhcmdldHR5cGUgPSAkNjsKKwkJCQkJbi0+c2FmZSA9IGZhbHNlOwogCQkJCQluLT5m dW5jID0gTlVMTDsKIAkJCQkJbi0+Y29udGV4dCA9IChDb2VyY2lvbkNvbnRleHQpICQxMDsKIAkJ CQkJbi0+aW5vdXQgPSB0cnVlOwpAQCAtOTQwMiw2ICs5NDA1LDkgQEAgY2FzdF9jb250ZXh0OiAg QVMgSU1QTElDSVRfUAkJCQkJeyAkJCA9IENPRVJDSU9OX0lNUExJQ0lUOyB9CiAJCXwgLypFTVBU WSovCQkJCQkJCQl7ICQkID0gQ09FUkNJT05fRVhQTElDSVQ7IH0KIAkJOwogCitvcHRfc2FmZTog U0FGRQkJCQkJCXsgJCQgPSB0cnVlOyB9CisJCXwgLypFTVBUWSovCQkJCQl7ICQkID0gZmFsc2U7 IH0KKwkJOwogCiBEcm9wQ2FzdFN0bXQ6IERST1AgQ0FTVCBvcHRfaWZfZXhpc3RzICcoJyBUeXBl bmFtZSBBUyBUeXBlbmFtZSAnKScgb3B0X2Ryb3BfYmVoYXZpb3IKIAkJCQl7CkBAIC0xODI3NCw2 ICsxODI4MCw3IEBAIHVucmVzZXJ2ZWRfa2V5d29yZDoKIAkJCXwgUk9VVElORVMKIAkJCXwgUk9X UwogCQkJfCBSVUxFCisJCQl8IFNBRkUKIAkJCXwgU0FWRVBPSU5UCiAJCQl8IFNDQUxBUgogCQkJ fCBTQ0hFTUEKQEAgLTE4OTEzLDYgKzE4OTIwLDcgQEAgYmFyZV9sYWJlbF9rZXl3b3JkOgogCQkJ fCBST1cKIAkJCXwgUk9XUwogCQkJfCBSVUxFCisJCQl8IFNBRkUKIAkJCXwgU0FWRVBPSU5UCiAJ CQl8IFNDQUxBUgogCQkJfCBTQ0hFTUEKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV9leHByLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCmluZGV4IDk5N2Nj ODc2NDlkLi5kZTAyZjFmYmM2MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X2V4cHIuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCkBAIC0yOTk0LDcg KzI5OTQsNiBAQCBDb2VyY2lvbkVycm9yU2FmZUNoZWNrKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9k ZSAqY2FzdGV4cHIsIE5vZGUgKnNvdXJjZSwKIAkJCQkJICAgT2lkIGlucHV0VHlwZSwgT2lkIHRh cmdldFR5cGUpCiB7CiAJYm9vbAkJZXJyb3JzYWZlX2NvZXJjaW9uID0gdHJ1ZTsKLQlib29sCQl1 c2VyZGVmaW5lZCA9IGZhbHNlOwogCU9pZAkJCWlucHV0QmFzZVR5cGU7CiAJT2lkCQkJdGFyZ2V0 QmFzZVR5cGU7CiAJT2lkCQkJaW5wdXRFbGVtZW50VHlwZTsKQEAgLTMwNjUsMTEgKzMwNjQsOCBA QCBDb2VyY2lvbkVycm9yU2FmZUNoZWNrKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqY2FzdGV4 cHIsIE5vZGUgKnNvdXJjZSwKIAkJewogCQkJRm9ybV9wZ19jYXN0IGNhc3RGb3JtID0gKEZvcm1f cGdfY2FzdCkgR0VUU1RSVUNUKHR1cGxlKTsKIAotCQkJaWYgKGNhc3RGb3JtLT5vaWQgPiBGaXJz dFVucGlubmVkT2JqZWN0SWQpCi0JCQl7Ci0JCQkJZXJyb3JzYWZlX2NvZXJjaW9uID0gZmFsc2U7 Ci0JCQkJdXNlcmRlZmluZWQgPSB0cnVlOwotCQkJfQorCQkJaWYgKE9pZElzVmFsaWQoY2FzdEZv cm0tPmNhc3RmdW5jKSkKKwkJCQllcnJvcnNhZmVfY29lcmNpb24gPSBjYXN0Rm9ybS0+Y2FzdGVy cm9yc2FmZTsKIAogCQkJUmVsZWFzZVN5c0NhY2hlKHR1cGxlKTsKIAkJfQpAQCAtMzA4Myw5ICsz MDc5LDcgQEAgQ29lcmNpb25FcnJvclNhZmVDaGVjayhQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUg KmNhc3RleHByLCBOb2RlICpzb3VyY2UsCiAJCQkJCSAgIGZvcm1hdF90eXBlX2JlKHRhcmdldFR5 cGUpLAogCQkJCQkgICAiREVGQVVMVCIsCiAJCQkJCSAgICJDQVNUIC4uLiBPTiBDT05WRVJTSU9O IEVSUk9SIiksCi0JCQkJdXNlcmRlZmluZWQKLQkJCQk/IGVycmhpbnQoIlNhZmUgdHlwZSBjYXN0 IGZvciB1c2VyLWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLiIpCi0JCQkJOiBl cnJoaW50KCJFeHBsaWNpdCBjYXN0IGlzIGRlZmluZWQgYnV0IGRlZmluaXRpb24gaXMgbm90IGVy cm9yIHNhZmUuIiksCisJCQkJZXJyaGludCgiRXhwbGljaXQgY2FzdCBpcyBkZWZpbmVkIGJ1dCBk ZWZpbml0aW9uIGlzIG5vdCBlcnJvciBzYWZlLiIpLAogCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihw c3RhdGUsIGV4cHJMb2NhdGlvbihzb3VyY2UpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfY2FzdC5kYXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuZGF0 CmluZGV4IDliMWNmYjFiNTkwLi5kM2I1ZjI3YjE1YyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19jYXN0LmRhdAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuZGF0 CkBAIC0xOSw2NSArMTksNjUgQEAKICMgaW50Mi0+aW50NC0+aW50OC0+bnVtZXJpYy0+ZmxvYXQ0 LT5mbG9hdDgsIHdoaWxlIGNhc3RzIGluIHRoZQogIyByZXZlcnNlIGRpcmVjdGlvbiBhcmUgYXNz aWdubWVudC1vbmx5LgogeyBjYXN0c291cmNlID0+ICdpbnQ4JywgY2FzdHRhcmdldCA9PiAnaW50 MicsIGNhc3RmdW5jID0+ICdpbnQyKGludDgpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0 bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2Yn LCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0 YXJnZXQgPT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnaW50NChpbnQ4KScsCi0gIGNhc3Rjb250ZXh0 ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0 bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4g J2ludDgnLCBjYXN0dGFyZ2V0ID0+ICdmbG9hdDQnLCBjYXN0ZnVuYyA9PiAnZmxvYXQ0KGludDgp JywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwK IHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0YXJnZXQgPT4gJ2Zsb2F0OCcsIGNhc3RmdW5j ID0+ICdmbG9hdDgoaW50OCknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4g J2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJy b3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQ4JywgY2FzdHRhcmdldCA9PiAn bnVtZXJpYycsIGNhc3RmdW5jID0+ICdudW1lcmljKGludDgpJywKLSAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRo b2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50 MicsIGNhc3R0YXJnZXQgPT4gJ2ludDgnLCBjYXN0ZnVuYyA9PiAnaW50OChpbnQyKScsCi0gIGNh c3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rz b3VyY2UgPT4gJ2ludDInLCBjYXN0dGFyZ2V0ID0+ICdpbnQ0JywgY2FzdGZ1bmMgPT4gJ2ludDQo aW50MiknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNh c3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0 JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQyJywgY2FzdHRhcmdldCA9PiAnZmxvYXQ0JywgY2Fz dGZ1bmMgPT4gJ2Zsb2F0NChpbnQyKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhv ZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNh c3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDInLCBjYXN0dGFyZ2V0 ID0+ICdmbG9hdDgnLCBjYXN0ZnVuYyA9PiAnZmxvYXQ4KGludDIpJywKLSAgY2FzdGNvbnRleHQg PT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3Rt ZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAn aW50MicsIGNhc3R0YXJnZXQgPT4gJ251bWVyaWMnLCBjYXN0ZnVuYyA9PiAnbnVtZXJpYyhpbnQy KScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNv bnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0s CiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDQnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ4JywgY2FzdGZ1bmMg PT4gJ2ludDgoaW50NCknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3Jz YWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQ0JywgY2FzdHRhcmdldCA9PiAnaW50 MicsIGNhc3RmdW5jID0+ICdpbnQyKGludDQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0 bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2Yn LCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0 YXJnZXQgPT4gJ2Zsb2F0NCcsIGNhc3RmdW5jID0+ICdmbG9hdDQoaW50NCknLAotICBjYXN0Y29u dGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywg Y2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNl ID0+ICdpbnQ0JywgY2FzdHRhcmdldCA9PiAnZmxvYXQ4JywgY2FzdGZ1bmMgPT4gJ2Zsb2F0OChp bnQ0KScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2Fz dGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3Qn IH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDQnLCBjYXN0dGFyZ2V0ID0+ICdudW1lcmljJywgY2Fz dGZ1bmMgPT4gJ251bWVyaWMoaW50NCknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRo b2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBj YXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdmbG9hdDQnLCBjYXN0dGFy Z2V0ID0+ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgoZmxvYXQ0KScsCi0gIGNhc3Rjb250ZXh0 ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0 bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4g J2Zsb2F0NCcsIGNhc3R0YXJnZXQgPT4gJ2ludDInLCBjYXN0ZnVuYyA9PiAnaW50MihmbG9hdDQp JywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwK IHsgY2FzdHNvdXJjZSA9PiAnZmxvYXQ0JywgY2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5j ID0+ICdpbnQ0KGZsb2F0NCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4g J2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJy b3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdmbG9hdDQnLCBjYXN0dGFyZ2V0ID0+ ICdmbG9hdDgnLCBjYXN0ZnVuYyA9PiAnZmxvYXQ4KGZsb2F0NCknLAotICBjYXN0Y29udGV4dCA9 PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1l dGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdm bG9hdDQnLCBjYXN0dGFyZ2V0ID0+ICdudW1lcmljJywKLSAgY2FzdGZ1bmMgPT4gJ251bWVyaWMo ZmxvYXQ0KScsIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2Fz dGZ1bmMgPT4gJ251bWVyaWMoZmxvYXQ0KScsIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhv ZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdmbG9h dDgnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgoZmxvYXQ4KScsCi0g IGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQg PT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ2Zsb2F0OCcsIGNhc3R0YXJnZXQgPT4gJ2ludDInLCBjYXN0ZnVuYyA9PiAn aW50MihmbG9hdDgpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9 LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2Fm ZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnZmxvYXQ4JywgY2FzdHRhcmdldCA9PiAnaW50 NCcsIGNhc3RmdW5jID0+ICdpbnQ0KGZsb2F0OCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNh c3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAn ZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdmbG9hdDgnLCBj YXN0dGFyZ2V0ID0+ICdmbG9hdDQnLCBjYXN0ZnVuYyA9PiAnZmxvYXQ0KGZsb2F0OCknLAotICBj YXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0 c291cmNlID0+ICdmbG9hdDgnLCBjYXN0dGFyZ2V0ID0+ICdudW1lcmljJywKLSAgY2FzdGZ1bmMg PT4gJ251bWVyaWMoZmxvYXQ4KScsIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAn ZicgfSwKKyAgY2FzdGZ1bmMgPT4gJ251bWVyaWMoZmxvYXQ4KScsIGNhc3Rjb250ZXh0ID0+ICdh JywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291 cmNlID0+ICdudW1lcmljJywgY2FzdHRhcmdldCA9PiAnaW50OCcsIGNhc3RmdW5jID0+ICdpbnQ4 KG51bWVyaWMpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAor ICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9 PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnbnVtZXJpYycsIGNhc3R0YXJnZXQgPT4gJ2ludDIn LCBjYXN0ZnVuYyA9PiAnaW50MihudW1lcmljKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywgY2Fz dG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdm JywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ251bWVyaWMnLCBj YXN0dGFyZ2V0ID0+ICdpbnQ0JywgY2FzdGZ1bmMgPT4gJ2ludDQobnVtZXJpYyknLAotICBjYXN0 Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdh JywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291 cmNlID0+ICdudW1lcmljJywgY2FzdHRhcmdldCA9PiAnZmxvYXQ0JywKLSAgY2FzdGZ1bmMgPT4g J2Zsb2F0NChudW1lcmljKScsIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicg fSwKKyAgY2FzdGZ1bmMgPT4gJ2Zsb2F0NChudW1lcmljKScsIGNhc3Rjb250ZXh0ID0+ICdpJywg Y2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNl ID0+ICdudW1lcmljJywgY2FzdHRhcmdldCA9PiAnZmxvYXQ4JywKLSAgY2FzdGZ1bmMgPT4gJ2Zs b2F0OChudW1lcmljKScsIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwK KyAgY2FzdGZ1bmMgPT4gJ2Zsb2F0OChudW1lcmljKScsIGNhc3Rjb250ZXh0ID0+ICdpJywgY2Fz dG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ ICdtb25leScsIGNhc3R0YXJnZXQgPT4gJ251bWVyaWMnLCBjYXN0ZnVuYyA9PiAnbnVtZXJpYyht b25leSknLAogICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ251bWVyaWMnLCBjYXN0dGFyZ2V0ID0+ICdtb25leScsIGNhc3RmdW5jID0+ ICdtb25leShudW1lcmljKScsCkBAIC04OSwxMyArODksMTMgQEAKIAogIyBBbGxvdyBleHBsaWNp dCBjb2VyY2lvbnMgYmV0d2VlbiBpbnQ0IGFuZCBib29sCiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDQn LCBjYXN0dGFyZ2V0ID0+ICdib29sJywgY2FzdGZ1bmMgPT4gJ2Jvb2woaW50NCknLAotICBjYXN0 Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdl JywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291 cmNlID0+ICdib29sJywgY2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5jID0+ICdpbnQ0KGJv b2wpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0 Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcg fSwKIAogIyBBbGxvdyBleHBsaWNpdCBjb2VyY2lvbnMgYmV0d2VlbiB4aWQ4IGFuZCB4aWQKIHsg Y2FzdHNvdXJjZSA9PiAneGlkOCcsIGNhc3R0YXJnZXQgPT4gJ3hpZCcsIGNhc3RmdW5jID0+ICd4 aWQoeGlkOCknLAotICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisg IGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ ICd0JyB9LAogCiAjIE9JRCBjYXRlZ29yeTogYWxsb3cgaW1wbGljaXQgY29udmVyc2lvbiBmcm9t IGFueSBpbnRlZ3JhbCB0eXBlIChpbmNsdWRpbmcKICMgaW50OCwgdG8gc3VwcG9ydCBPSUQgbGl0 ZXJhbHMgPiAyRykgdG8gT0lELCBhcyB3ZWxsIGFzIGFzc2lnbm1lbnQgY29lcmNpb24KQEAgLTEw NiwxMyArMTA2LDEzIEBACiAjIGNhc3RzIGZyb20gdGV4dCBhbmQgdmFyY2hhciB0byByZWdjbGFz cywgd2hpY2ggZXhpc3QgbWFpbmx5IHRvIHN1cHBvcnQKICMgbGVnYWN5IGZvcm1zIG9mIG5leHR2 YWwoKSBhbmQgcmVsYXRlZCBmdW5jdGlvbnMuCiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDgnLCBjYXN0 dGFyZ2V0ID0+ICdvaWQnLCBjYXN0ZnVuYyA9PiAnb2lkJywKLSAgY2FzdGNvbnRleHQgPT4gJ2kn LCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2Qg PT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50Mics IGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNhc3RmdW5jID0+ICdpbnQ0KGludDIpJywKLSAgY2FzdGNv bnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScs IGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJj ZSA9PiAnaW50NCcsIGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2Fz dGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdv aWQnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgob2lkKScsCi0gIGNh c3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rz b3VyY2UgPT4gJ29pZCcsIGNhc3R0YXJnZXQgPT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAg IGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9 PiAnb2lkJywgY2FzdHRhcmdldCA9PiAncmVncHJvYycsIGNhc3RmdW5jID0+ICcwJywKQEAgLTEy MCwxMyArMTIwLDEzIEBACiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ3Byb2MnLCBjYXN0dGFyZ2V0ID0+ ICdvaWQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhv ZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ3By b2MnLCBjYXN0ZnVuYyA9PiAnb2lkJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9k ID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2Fz dGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50MicsIGNhc3R0YXJnZXQg PT4gJ3JlZ3Byb2MnLCBjYXN0ZnVuYyA9PiAnaW50NChpbnQyKScsCi0gIGNhc3Rjb250ZXh0ID0+ ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0 aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2lu dDQnLCBjYXN0dGFyZ2V0ID0+ICdyZWdwcm9jJywgY2FzdGZ1bmMgPT4gJzAnLAogICBjYXN0Y29u dGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2InIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ3By b2MnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgob2lkKScsCi0gIGNh c3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rz b3VyY2UgPT4gJ3JlZ3Byb2MnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ0JywgY2FzdGZ1bmMgPT4gJzAn LAogICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2InIH0sCiB7IGNhc3Rzb3Vy Y2UgPT4gJ3JlZ3Byb2MnLCBjYXN0dGFyZ2V0ID0+ICdyZWdwcm9jZWR1cmUnLCBjYXN0ZnVuYyA9 PiAnMCcsCkBAIC0xMzgsMTMgKzEzOCwxMyBAQAogeyBjYXN0c291cmNlID0+ICdyZWdwcm9jZWR1 cmUnLCBjYXN0dGFyZ2V0ID0+ICdvaWQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0 ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNh c3R0YXJnZXQgPT4gJ3JlZ3Byb2NlZHVyZScsIGNhc3RmdW5jID0+ICdvaWQnLAotICBjYXN0Y29u dGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywg Y2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNl ID0+ICdpbnQyJywgY2FzdHRhcmdldCA9PiAncmVncHJvY2VkdXJlJywgY2FzdGZ1bmMgPT4gJ2lu dDQoaW50MiknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisg IGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQ0JywgY2FzdHRhcmdldCA9PiAncmVncHJvY2Vk dXJlJywgY2FzdGZ1bmMgPT4gJzAnLAogICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2Qg PT4gJ2InIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ3Byb2NlZHVyZScsIGNhc3R0YXJnZXQgPT4g J2ludDgnLCBjYXN0ZnVuYyA9PiAnaW50OChvaWQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBj YXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4g J2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVncHJvY2Vk dXJlJywgY2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRl eHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdvaWQnLCBj YXN0dGFyZ2V0ID0+ICdyZWdvcGVyJywgY2FzdGZ1bmMgPT4gJzAnLApAQCAtMTUyLDEzICsxNTIs MTMgQEAKIHsgY2FzdHNvdXJjZSA9PiAncmVnb3BlcicsIGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNh c3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9 LAogeyBjYXN0c291cmNlID0+ICdpbnQ4JywgY2FzdHRhcmdldCA9PiAncmVnb3BlcicsIGNhc3Rm dW5jID0+ICdvaWQnLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0s CisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZl ID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQyJywgY2FzdHRhcmdldCA9PiAncmVnb3Bl cicsIGNhc3RmdW5jID0+ICdpbnQ0KGludDIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0 bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2Yn LCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0 YXJnZXQgPT4gJ3JlZ29wZXInLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdp JywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVnb3BlcicsIGNhc3R0 YXJnZXQgPT4gJ2ludDgnLCBjYXN0ZnVuYyA9PiAnaW50OChvaWQpJywKLSAgY2FzdGNvbnRleHQg PT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3Rt ZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAn cmVnb3BlcicsIGNhc3R0YXJnZXQgPT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rj b250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVn b3BlcicsIGNhc3R0YXJnZXQgPT4gJ3JlZ29wZXJhdG9yJywgY2FzdGZ1bmMgPT4gJzAnLApAQCAt MTcwLDEzICsxNzAsMTMgQEAKIHsgY2FzdHNvdXJjZSA9PiAncmVnb3BlcmF0b3InLCBjYXN0dGFy Z2V0ID0+ICdvaWQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2Fz dG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0YXJnZXQgPT4g J3JlZ29wZXJhdG9yJywgY2FzdGZ1bmMgPT4gJ29pZCcsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywg Y2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDInLCBj YXN0dGFyZ2V0ID0+ICdyZWdvcGVyYXRvcicsIGNhc3RmdW5jID0+ICdpbnQ0KGludDIpJywKLSAg Y2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9 PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2Fz dHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ29wZXJhdG9yJywgY2FzdGZ1bmMg PT4gJzAnLAogICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2InIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ3JlZ29wZXJhdG9yJywgY2FzdHRhcmdldCA9PiAnaW50OCcsIGNhc3RmdW5j ID0+ICdpbnQ4KG9pZCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3Jz YWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdyZWdvcGVyYXRvcicsIGNhc3R0YXJnZXQg PT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1l dGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnb2lkJywgY2FzdHRhcmdldCA9PiAncmVn Y2xhc3MnLCBjYXN0ZnVuYyA9PiAnMCcsCkBAIC0xODQsMTMgKzE4NCwxMyBAQAogeyBjYXN0c291 cmNlID0+ICdyZWdjbGFzcycsIGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNhc3RmdW5jID0+ICcwJywK ICAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNl ID0+ICdpbnQ4JywgY2FzdHRhcmdldCA9PiAncmVnY2xhc3MnLCBjYXN0ZnVuYyA9PiAnb2lkJywK LSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4 dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsg Y2FzdHNvdXJjZSA9PiAnaW50MicsIGNhc3R0YXJnZXQgPT4gJ3JlZ2NsYXNzJywgY2FzdGZ1bmMg PT4gJ2ludDQoaW50MiknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3Jz YWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQ0JywgY2FzdHRhcmdldCA9PiAncmVn Y2xhc3MnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhv ZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVnY2xhc3MnLCBjYXN0dGFyZ2V0ID0+ICdp bnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgob2lkKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywgY2Fz dG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdm JywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ2NsYXNzJywg Y2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4g J2EnLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdvaWQnLCBjYXN0dGFy Z2V0ID0+ICdyZWdjb2xsYXRpb24nLCBjYXN0ZnVuYyA9PiAnMCcsCkBAIC0xOTgsMTMgKzE5OCwx MyBAQAogeyBjYXN0c291cmNlID0+ICdyZWdjb2xsYXRpb24nLCBjYXN0dGFyZ2V0ID0+ICdvaWQn LCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAn YicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ2NvbGxhdGlv bicsIGNhc3RmdW5jID0+ICdvaWQnLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2Qg PT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0 ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQyJywgY2FzdHRhcmdldCA9 PiAncmVnY29sbGF0aW9uJywgY2FzdGZ1bmMgPT4gJ2ludDQoaW50MiknLAotICBjYXN0Y29udGV4 dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2Fz dG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ ICdpbnQ0JywgY2FzdHRhcmdldCA9PiAncmVnY29sbGF0aW9uJywgY2FzdGZ1bmMgPT4gJzAnLAog ICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2InIH0sCiB7IGNhc3Rzb3VyY2Ug PT4gJ3JlZ2NvbGxhdGlvbicsIGNhc3R0YXJnZXQgPT4gJ2ludDgnLCBjYXN0ZnVuYyA9PiAnaW50 OChvaWQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBj YXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAn dCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVnY29sbGF0aW9uJywgY2FzdHRhcmdldCA9PiAnaW50 NCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdvaWQnLCBjYXN0dGFyZ2V0ID0+ICdyZWd0eXBlJywg Y2FzdGZ1bmMgPT4gJzAnLApAQCAtMjEyLDEzICsyMTIsMTMgQEAKIHsgY2FzdHNvdXJjZSA9PiAn cmVndHlwZScsIGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNv bnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQ4 JywgY2FzdHRhcmdldCA9PiAncmVndHlwZScsIGNhc3RmdW5jID0+ICdvaWQnLAotICBjYXN0Y29u dGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywg Y2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNl ID0+ICdpbnQyJywgY2FzdHRhcmdldCA9PiAncmVndHlwZScsIGNhc3RmdW5jID0+ICdpbnQ0KGlu dDIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0 Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcg fSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ3R5cGUnLCBjYXN0 ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnYicgfSwK IHsgY2FzdHNvdXJjZSA9PiAncmVndHlwZScsIGNhc3R0YXJnZXQgPT4gJ2ludDgnLCBjYXN0ZnVu YyA9PiAnaW50OChvaWQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdm JyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9y c2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVndHlwZScsIGNhc3R0YXJnZXQgPT4g J2ludDQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhv ZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnb2lkJywgY2FzdHRhcmdldCA9PiAncmVnY29u ZmlnJywgY2FzdGZ1bmMgPT4gJzAnLApAQCAtMjI2LDEzICsyMjYsMTMgQEAKIHsgY2FzdHNvdXJj ZSA9PiAncmVnY29uZmlnJywgY2FzdHRhcmdldCA9PiAnb2lkJywgY2FzdGZ1bmMgPT4gJzAnLAog ICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2InIH0sCiB7IGNhc3Rzb3VyY2Ug PT4gJ2ludDgnLCBjYXN0dGFyZ2V0ID0+ICdyZWdjb25maWcnLCBjYXN0ZnVuYyA9PiAnb2lkJywK LSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4 dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsg Y2FzdHNvdXJjZSA9PiAnaW50MicsIGNhc3R0YXJnZXQgPT4gJ3JlZ2NvbmZpZycsIGNhc3RmdW5j ID0+ICdpbnQ0KGludDIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdm JyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9y c2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0YXJnZXQgPT4gJ3Jl Z2NvbmZpZycsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0 aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdyZWdjb25maWcnLCBjYXN0dGFyZ2V0ID0+ ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgob2lkKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywg Y2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ2NvbmZp ZycsIGNhc3R0YXJnZXQgPT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0 ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnb2lkJywgY2Fz dHRhcmdldCA9PiAncmVnZGljdGlvbmFyeScsIGNhc3RmdW5jID0+ICcwJywKQEAgLTI0MCwzMSAr MjQwLDMxIEBACiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ2RpY3Rpb25hcnknLCBjYXN0dGFyZ2V0ID0+ ICdvaWQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhv ZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ2Rp Y3Rpb25hcnknLCBjYXN0ZnVuYyA9PiAnb2lkJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0 bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2Yn LCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50MicsIGNhc3R0 YXJnZXQgPT4gJ3JlZ2RpY3Rpb25hcnknLCBjYXN0ZnVuYyA9PiAnaW50NChpbnQyKScsCi0gIGNh c3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rz b3VyY2UgPT4gJ2ludDQnLCBjYXN0dGFyZ2V0ID0+ICdyZWdkaWN0aW9uYXJ5JywgY2FzdGZ1bmMg PT4gJzAnLAogICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2InIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ3JlZ2RpY3Rpb25hcnknLCBjYXN0dGFyZ2V0ID0+ICdpbnQ4JywgY2FzdGZ1 bmMgPT4gJ2ludDgob2lkKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAn ZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJv cnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ2RpY3Rpb25hcnknLCBjYXN0dGFy Z2V0ID0+ICdpbnQ0JywgY2FzdGZ1bmMgPT4gJzAnLAogICBjYXN0Y29udGV4dCA9PiAnYScsIGNh c3RtZXRob2QgPT4gJ2InIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3RleHQnLCBjYXN0dGFyZ2V0ID0+ ICdyZWdjbGFzcycsIGNhc3RmdW5jID0+ICdyZWdjbGFzcycsCi0gIGNhc3Rjb250ZXh0ID0+ICdp JywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9k ID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3ZhcmNo YXInLCBjYXN0dGFyZ2V0ID0+ICdyZWdjbGFzcycsIGNhc3RmdW5jID0+ICdyZWdjbGFzcycsCi0g IGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQg PT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ29pZCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ3JvbGUnLCBjYXN0ZnVuYyA9PiAn MCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNv dXJjZSA9PiAncmVncm9sZScsIGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNhc3RmdW5jID0+ICcwJywK ICAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNl ID0+ICdpbnQ4JywgY2FzdHRhcmdldCA9PiAncmVncm9sZScsIGNhc3RmdW5jID0+ICdvaWQnLAot ICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0 ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBj YXN0c291cmNlID0+ICdpbnQyJywgY2FzdHRhcmdldCA9PiAncmVncm9sZScsIGNhc3RmdW5jID0+ ICdpbnQ0KGludDIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9 LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2Fm ZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ3Jv bGUnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9 PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVncm9sZScsIGNhc3R0YXJnZXQgPT4gJ2ludDgn LCBjYXN0ZnVuYyA9PiAnaW50OChvaWQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0 aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAg Y2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVncm9sZScsIGNhc3R0 YXJnZXQgPT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdhJywg Y2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAnb2lkJywgY2FzdHRhcmdldCA9 PiAncmVnbmFtZXNwYWNlJywgY2FzdGZ1bmMgPT4gJzAnLApAQCAtMjcyLDEzICsyNzIsMTMgQEAK IHsgY2FzdHNvdXJjZSA9PiAncmVnbmFtZXNwYWNlJywgY2FzdHRhcmdldCA9PiAnb2lkJywgY2Fz dGZ1bmMgPT4gJzAnLAogICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2InIH0s CiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDgnLCBjYXN0dGFyZ2V0ID0+ICdyZWduYW1lc3BhY2UnLCBj YXN0ZnVuYyA9PiAnb2lkJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdm JyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9y c2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50MicsIGNhc3R0YXJnZXQgPT4gJ3Jl Z25hbWVzcGFjZScsIGNhc3RmdW5jID0+ICdpbnQ0KGludDIpJywKLSAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRo b2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50 NCcsIGNhc3R0YXJnZXQgPT4gJ3JlZ25hbWVzcGFjZScsIGNhc3RmdW5jID0+ICcwJywKICAgY2Fz dGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdy ZWduYW1lc3BhY2UnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgob2lk KScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNv bnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0s CiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ25hbWVzcGFjZScsIGNhc3R0YXJnZXQgPT4gJ2ludDQnLCBj YXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnYicg fSwKIHsgY2FzdHNvdXJjZSA9PiAnb2lkJywgY2FzdHRhcmdldCA9PiAncmVnZGF0YWJhc2UnLCBj YXN0ZnVuYyA9PiAnMCcsCkBAIC0yODYsMTMgKzI4NiwxMyBAQAogeyBjYXN0c291cmNlID0+ICdy ZWdkYXRhYmFzZScsIGNhc3R0YXJnZXQgPT4gJ29pZCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2Fz dGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdp bnQ4JywgY2FzdHRhcmdldCA9PiAncmVnZGF0YWJhc2UnLCBjYXN0ZnVuYyA9PiAnb2lkJywKLSAg Y2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9 PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2Fz dHNvdXJjZSA9PiAnaW50MicsIGNhc3R0YXJnZXQgPT4gJ3JlZ2RhdGFiYXNlJywgY2FzdGZ1bmMg PT4gJ2ludDQoaW50MiknLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3Jz YWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbnQ0JywgY2FzdHRhcmdldCA9PiAncmVn ZGF0YWJhc2UnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1l dGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAncmVnZGF0YWJhc2UnLCBjYXN0dGFyZ2V0 ID0+ICdpbnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgob2lkKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdh JywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9k ID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3JlZ2Rh dGFiYXNlJywgY2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNv bnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogCkBAIC0zMTYsNTcgKzMxNiw1NyBA QAogeyBjYXN0c291cmNlID0+ICd0ZXh0JywgY2FzdHRhcmdldCA9PiAndmFyY2hhcicsIGNhc3Rm dW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAog eyBjYXN0c291cmNlID0+ICdicGNoYXInLCBjYXN0dGFyZ2V0ID0+ICd0ZXh0JywgY2FzdGZ1bmMg PT4gJ3RleHQoYnBjaGFyKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAn ZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJv cnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2JwY2hhcicsIGNhc3R0YXJnZXQgPT4g J3ZhcmNoYXInLCBjYXN0ZnVuYyA9PiAndGV4dChicGNoYXIpJywKLSAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRo b2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAndmFy Y2hhcicsIGNhc3R0YXJnZXQgPT4gJ3RleHQnLCBjYXN0ZnVuYyA9PiAnMCcsCiAgIGNhc3Rjb250 ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJjZSA9PiAndmFyY2hh cicsIGNhc3R0YXJnZXQgPT4gJ2JwY2hhcicsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRl eHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdjaGFyJywg Y2FzdHRhcmdldCA9PiAndGV4dCcsIGNhc3RmdW5jID0+ICd0ZXh0KGNoYXIpJywKLSAgY2FzdGNv bnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScs IGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJj ZSA9PiAnY2hhcicsIGNhc3R0YXJnZXQgPT4gJ2JwY2hhcicsIGNhc3RmdW5jID0+ICdicGNoYXIo Y2hhciknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNh c3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0 JyB9LAogeyBjYXN0c291cmNlID0+ICdjaGFyJywgY2FzdHRhcmdldCA9PiAndmFyY2hhcicsIGNh c3RmdW5jID0+ICd0ZXh0KGNoYXIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9k ID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2Fz dGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnbmFtZScsIGNhc3R0YXJnZXQg PT4gJ3RleHQnLCBjYXN0ZnVuYyA9PiAndGV4dChuYW1lKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdp JywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9k ID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ25hbWUn LCBjYXN0dGFyZ2V0ID0+ICdicGNoYXInLCBjYXN0ZnVuYyA9PiAnYnBjaGFyKG5hbWUpJywKLSAg Y2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9 PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2Fz dHNvdXJjZSA9PiAnbmFtZScsIGNhc3R0YXJnZXQgPT4gJ3ZhcmNoYXInLCBjYXN0ZnVuYyA9PiAn dmFyY2hhcihuYW1lKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicg fSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNh ZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3RleHQnLCBjYXN0dGFyZ2V0ID0+ICdjaGFy JywgY2FzdGZ1bmMgPT4gJ2NoYXIodGV4dCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3Rt ZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZics ICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdicGNoYXInLCBjYXN0 dGFyZ2V0ID0+ICdjaGFyJywgY2FzdGZ1bmMgPT4gJ2NoYXIodGV4dCknLAotICBjYXN0Y29udGV4 dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2Fz dG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ ICd2YXJjaGFyJywgY2FzdHRhcmdldCA9PiAnY2hhcicsIGNhc3RmdW5jID0+ICdjaGFyKHRleHQp JywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwK IHsgY2FzdHNvdXJjZSA9PiAndGV4dCcsIGNhc3R0YXJnZXQgPT4gJ25hbWUnLCBjYXN0ZnVuYyA9 PiAnbmFtZSh0ZXh0KScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicg fSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNh ZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2JwY2hhcicsIGNhc3R0YXJnZXQgPT4gJ25h bWUnLCBjYXN0ZnVuYyA9PiAnbmFtZShicGNoYXIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2knLCBj YXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4g J2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAndmFyY2hhcics IGNhc3R0YXJnZXQgPT4gJ25hbWUnLCBjYXN0ZnVuYyA9PiAnbmFtZSh2YXJjaGFyKScsCi0gIGNh c3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiAKICMgQWxs b3cgZXhwbGljaXQgY29lcmNpb25zIGJldHdlZW4gYnl0ZWEgYW5kIGludGVnZXIgdHlwZXMKIHsg Y2FzdHNvdXJjZSA9PiAnaW50MicsIGNhc3R0YXJnZXQgPT4gJ2J5dGVhJywgY2FzdGZ1bmMgPT4g J2J5dGVhKGludDIpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9 LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2Fm ZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcsIGNhc3R0YXJnZXQgPT4gJ2J5dGVh JywgY2FzdGZ1bmMgPT4gJ2J5dGVhKGludDQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0 bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2Yn LCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50OCcsIGNhc3R0 YXJnZXQgPT4gJ2J5dGVhJywgY2FzdGZ1bmMgPT4gJ2J5dGVhKGludDgpJywKLSAgY2FzdGNvbnRl eHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNh c3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9 PiAnYnl0ZWEnLCBjYXN0dGFyZ2V0ID0+ICdpbnQyJywgY2FzdGZ1bmMgPT4gJ2ludDIoYnl0ZWEp JywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwK IHsgY2FzdHNvdXJjZSA9PiAnYnl0ZWEnLCBjYXN0dGFyZ2V0ID0+ICdpbnQ0JywgY2FzdGZ1bmMg PT4gJ2ludDQoYnl0ZWEpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdm JyB9LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9y c2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnYnl0ZWEnLCBjYXN0dGFyZ2V0ID0+ICdp bnQ4JywgY2FzdGZ1bmMgPT4gJ2ludDgoYnl0ZWEpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBj YXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4g J2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIAogIyBBbGxvdyBleHBsaWNpdCBjb2VyY2lv bnMgYmV0d2VlbiBpbnQ0IGFuZCAiY2hhciIKIHsgY2FzdHNvdXJjZSA9PiAnY2hhcicsIGNhc3R0 YXJnZXQgPT4gJ2ludDQnLCBjYXN0ZnVuYyA9PiAnaW50NChjaGFyKScsCi0gIGNhc3Rjb250ZXh0 ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0 bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4g J2ludDQnLCBjYXN0dGFyZ2V0ID0+ICdjaGFyJywgY2FzdGZ1bmMgPT4gJ2NoYXIoaW50NCknLAot ICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0 ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogCiAj IHBnX25vZGVfdHJlZSBjYW4gYmUgY29lcmNlZCB0bywgYnV0IG5vdCBmcm9tLCB0ZXh0CiB7IGNh c3Rzb3VyY2UgPT4gJ3BnX25vZGVfdHJlZScsIGNhc3R0YXJnZXQgPT4gJ3RleHQnLCBjYXN0ZnVu YyA9PiAnMCcsCkBAIC0zOTIsNzMgKzM5Miw3MyBAQAogCiAjIERhdGV0aW1lIGNhdGVnb3J5CiB7 IGNhc3Rzb3VyY2UgPT4gJ2RhdGUnLCBjYXN0dGFyZ2V0ID0+ICd0aW1lc3RhbXAnLAotICBjYXN0 ZnVuYyA9PiAndGltZXN0YW1wKGRhdGUpJywgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9k ID0+ICdmJyB9LAorICBjYXN0ZnVuYyA9PiAndGltZXN0YW1wKGRhdGUpJywgY2FzdGNvbnRleHQg PT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ2RhdGUnLCBjYXN0dGFyZ2V0ID0+ICd0aW1lc3RhbXB0eicsCi0gIGNhc3Rm dW5jID0+ICd0aW1lc3RhbXB0eihkYXRlKScsIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhv ZCA9PiAnZicgfSwKKyAgY2FzdGZ1bmMgPT4gJ3RpbWVzdGFtcHR6KGRhdGUpJywgY2FzdGNvbnRl eHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7 IGNhc3Rzb3VyY2UgPT4gJ3RpbWUnLCBjYXN0dGFyZ2V0ID0+ICdpbnRlcnZhbCcsIGNhc3RmdW5j ID0+ICdpbnRlcnZhbCh0aW1lKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9 PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3Rl cnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3RpbWUnLCBjYXN0dGFyZ2V0ID0+ ICd0aW1ldHonLCBjYXN0ZnVuYyA9PiAndGltZXR6KHRpbWUpJywKLSAgY2FzdGNvbnRleHQgPT4g J2knLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRo b2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAndGlt ZXN0YW1wJywgY2FzdHRhcmdldCA9PiAnZGF0ZScsCi0gIGNhc3RmdW5jID0+ICdkYXRlKHRpbWVz dGFtcCknLCBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rm dW5jID0+ICdkYXRlKHRpbWVzdGFtcCknLCBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2Qg PT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAndGltZXN0 YW1wJywgY2FzdHRhcmdldCA9PiAndGltZScsCi0gIGNhc3RmdW5jID0+ICd0aW1lKHRpbWVzdGFt cCknLCBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3RmdW5j ID0+ICd0aW1lKHRpbWVzdGFtcCknLCBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4g J2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAndGltZXN0YW1w JywgY2FzdHRhcmdldCA9PiAndGltZXN0YW1wdHonLAotICBjYXN0ZnVuYyA9PiAndGltZXN0YW1w dHoodGltZXN0YW1wKScsIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwK KyAgY2FzdGZ1bmMgPT4gJ3RpbWVzdGFtcHR6KHRpbWVzdGFtcCknLCBjYXN0Y29udGV4dCA9PiAn aScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNv dXJjZSA9PiAndGltZXN0YW1wdHonLCBjYXN0dGFyZ2V0ID0+ICdkYXRlJywKLSAgY2FzdGZ1bmMg PT4gJ2RhdGUodGltZXN0YW1wdHopJywgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ ICdmJyB9LAorICBjYXN0ZnVuYyA9PiAnZGF0ZSh0aW1lc3RhbXB0eiknLCBjYXN0Y29udGV4dCA9 PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2Fz dHNvdXJjZSA9PiAndGltZXN0YW1wdHonLCBjYXN0dGFyZ2V0ID0+ICd0aW1lJywKLSAgY2FzdGZ1 bmMgPT4gJ3RpbWUodGltZXN0YW1wdHopJywgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9k ID0+ICdmJyB9LAorICBjYXN0ZnVuYyA9PiAndGltZSh0aW1lc3RhbXB0eiknLCBjYXN0Y29udGV4 dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsg Y2FzdHNvdXJjZSA9PiAndGltZXN0YW1wdHonLCBjYXN0dGFyZ2V0ID0+ICd0aW1lc3RhbXAnLAot ICBjYXN0ZnVuYyA9PiAndGltZXN0YW1wKHRpbWVzdGFtcHR6KScsIGNhc3Rjb250ZXh0ID0+ICdh JywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGZ1bmMgPT4gJ3RpbWVzdGFtcCh0aW1lc3Rh bXB0eiknLCBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9y c2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAndGltZXN0YW1wdHonLCBjYXN0dGFyZ2V0 ID0+ICd0aW1ldHonLAotICBjYXN0ZnVuYyA9PiAndGltZXR6KHRpbWVzdGFtcHR6KScsIGNhc3Rj b250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGZ1bmMgPT4gJ3RpbWV0 eih0aW1lc3RhbXB0eiknLCBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAg Y2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50ZXJ2YWwnLCBjYXN0 dGFyZ2V0ID0+ICd0aW1lJywgY2FzdGZ1bmMgPT4gJ3RpbWUoaW50ZXJ2YWwpJywKLSAgY2FzdGNv bnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScs IGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJj ZSA9PiAndGltZXR6JywgY2FzdHRhcmdldCA9PiAndGltZScsIGNhc3RmdW5jID0+ICd0aW1lKHRp bWV0eiknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNh c3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0 JyB9LAogCiAjIEdlb21ldHJpYyBjYXRlZ29yeQogeyBjYXN0c291cmNlID0+ICdwb2ludCcsIGNh c3R0YXJnZXQgPT4gJ2JveCcsIGNhc3RmdW5jID0+ICdib3gocG9pbnQpJywKLSAgY2FzdGNvbnRl eHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNh c3RtZXRob2QgPT4gJ2YnLCBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ ICdsc2VnJywgY2FzdHRhcmdldCA9PiAncG9pbnQnLCBjYXN0ZnVuYyA9PiAncG9pbnQobHNlZykn LAotICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250 ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicsIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7 IGNhc3Rzb3VyY2UgPT4gJ3BhdGgnLCBjYXN0dGFyZ2V0ID0+ICdwb2x5Z29uJywgY2FzdGZ1bmMg PT4gJ3BvbHlnb24ocGF0aCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4g J2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsIGNhc3RlcnJv cnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2JveCcsIGNhc3R0YXJnZXQgPT4gJ3Bv aW50JywgY2FzdGZ1bmMgPT4gJ3BvaW50KGJveCknLAotICBjYXN0Y29udGV4dCA9PiAnZScsIGNh c3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAn ZicsIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2JveCcsIGNhc3R0 YXJnZXQgPT4gJ2xzZWcnLCBjYXN0ZnVuYyA9PiAnbHNlZyhib3gpJywKLSAgY2FzdGNvbnRleHQg PT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3Rt ZXRob2QgPT4gJ2YnLCBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdi b3gnLCBjYXN0dGFyZ2V0ID0+ICdwb2x5Z29uJywgY2FzdGZ1bmMgPT4gJ3BvbHlnb24oYm94KScs Ci0gIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRl eHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJywgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsg Y2FzdHNvdXJjZSA9PiAnYm94JywgY2FzdHRhcmdldCA9PiAnY2lyY2xlJywgY2FzdGZ1bmMgPT4g J2NpcmNsZShib3gpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9 LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCBjYXN0ZXJyb3JzYWZl ID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdwb2x5Z29uJywgY2FzdHRhcmdldCA9PiAncG9p bnQnLCBjYXN0ZnVuYyA9PiAncG9pbnQocG9seWdvbiknLAotICBjYXN0Y29udGV4dCA9PiAnZScs IGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9 PiAnZicsIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3BvbHlnb24n LCBjYXN0dGFyZ2V0ID0+ICdwYXRoJywgY2FzdGZ1bmMgPT4gJ3BhdGgnLAotICBjYXN0Y29udGV4 dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2Fz dG1ldGhvZCA9PiAnZicsIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4g J3BvbHlnb24nLCBjYXN0dGFyZ2V0ID0+ICdib3gnLCBjYXN0ZnVuYyA9PiAnYm94KHBvbHlnb24p JywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAog eyBjYXN0c291cmNlID0+ICdwb2x5Z29uJywgY2FzdHRhcmdldCA9PiAnY2lyY2xlJywKLSAgY2Fz dGZ1bmMgPT4gJ2NpcmNsZShwb2x5Z29uKScsIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhv ZCA9PiAnZicgfSwKKyAgY2FzdGZ1bmMgPT4gJ2NpcmNsZShwb2x5Z29uKScsIGNhc3Rjb250ZXh0 ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicsIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ2NpcmNsZScsIGNhc3R0YXJnZXQgPT4gJ3BvaW50JywgY2FzdGZ1bmMgPT4g J3BvaW50KGNpcmNsZSknLAotICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicsIGNhc3RlcnJvcnNh ZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2NpcmNsZScsIGNhc3R0YXJnZXQgPT4gJ2Jv eCcsIGNhc3RmdW5jID0+ICdib3goY2lyY2xlKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdlJywgY2Fz dG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdm JywgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnY2lyY2xlJywgY2Fz dHRhcmdldCA9PiAncG9seWdvbicsCi0gIGNhc3RmdW5jID0+ICdwb2x5Z29uKGNpcmNsZSknLCBj YXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3RmdW5jID0+ICdw b2x5Z29uKGNpcmNsZSknLCBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnfSwK IAogIyBNQUMgYWRkcmVzcyBjYXRlZ29yeQogeyBjYXN0c291cmNlID0+ICdtYWNhZGRyJywgY2Fz dHRhcmdldCA9PiAnbWFjYWRkcjgnLCBjYXN0ZnVuYyA9PiAnbWFjYWRkcjgnLAotICBjYXN0Y29u dGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdpJywg Y2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNl ID0+ICdtYWNhZGRyOCcsIGNhc3R0YXJnZXQgPT4gJ21hY2FkZHInLCBjYXN0ZnVuYyA9PiAnbWFj YWRkcicsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2Fz dGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3Qn IH0sCiAKICMgSU5FVCBjYXRlZ29yeQogeyBjYXN0c291cmNlID0+ICdjaWRyJywgY2FzdHRhcmdl dCA9PiAnaW5ldCcsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0 bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICdpbmV0JywgY2FzdHRhcmdldCA9PiAn Y2lkcicsIGNhc3RmdW5jID0+ICdjaWRyJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0 aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAg Y2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIAogIyBCaXRTdHJpbmcgY2F0ZWdvcnkKIHsgY2FzdHNv dXJjZSA9PiAnYml0JywgY2FzdHRhcmdldCA9PiAndmFyYml0JywgY2FzdGZ1bmMgPT4gJzAnLApA QCAtNDY4LDEzICs0NjgsMTMgQEAKIAogIyBDcm9zcy1jYXRlZ29yeSBjYXN0cyBiZXR3ZWVuIGJp dCBhbmQgaW50NCwgaW50OAogeyBjYXN0c291cmNlID0+ICdpbnQ4JywgY2FzdHRhcmdldCA9PiAn Yml0JywgY2FzdGZ1bmMgPT4gJ2JpdChpbnQ4LGludDQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2Un LCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2Qg PT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50NCcs IGNhc3R0YXJnZXQgPT4gJ2JpdCcsIGNhc3RmdW5jID0+ICdiaXQoaW50NCxpbnQ0KScsCi0gIGNh c3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2UnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rz b3VyY2UgPT4gJ2JpdCcsIGNhc3R0YXJnZXQgPT4gJ2ludDgnLCBjYXN0ZnVuYyA9PiAnaW50OChi aXQpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0 Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcg fSwKIHsgY2FzdHNvdXJjZSA9PiAnYml0JywgY2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5j ID0+ICdpbnQ0KGJpdCknLAotICBjYXN0Y29udGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3Jz YWZlID0+ICd0JyB9LAogCiAjIENyb3NzLWNhdGVnb3J5IGNhc3RzIHRvIGFuZCBmcm9tIFRFWFQK ICMgV2UgbmVlZCBlbnRyaWVzIGhlcmUgb25seSBmb3IgYSBmZXcgc3BlY2lhbGl6ZWQgY2FzZXMg d2hlcmUgdGhlIGJlaGF2aW9yCkBAIC00ODUsNjggKzQ4NSw2OCBAQAogIyBiZWhhdmlvciB3aWxs IGVuc3VlIHdoZW4gdGhlIGF1dG9tYXRpYyBjYXN0IGlzIGFwcGxpZWQgaW5zdGVhZCBvZiB0aGUK ICMgcGdfY2FzdCBlbnRyeSEKIHsgY2FzdHNvdXJjZSA9PiAnY2lkcicsIGNhc3R0YXJnZXQgPT4g J3RleHQnLCBjYXN0ZnVuYyA9PiAndGV4dChpbmV0KScsCi0gIGNhc3Rjb250ZXh0ID0+ICdhJywg Y2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2luZXQnLCBj YXN0dGFyZ2V0ID0+ICd0ZXh0JywgY2FzdGZ1bmMgPT4gJ3RleHQoaW5ldCknLAotICBjYXN0Y29u dGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywg Y2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNl ID0+ICdib29sJywgY2FzdHRhcmdldCA9PiAndGV4dCcsIGNhc3RmdW5jID0+ICd0ZXh0KGJvb2wp JywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwK IHsgY2FzdHNvdXJjZSA9PiAneG1sJywgY2FzdHRhcmdldCA9PiAndGV4dCcsIGNhc3RmdW5jID0+ ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0 c291cmNlID0+ICd0ZXh0JywgY2FzdHRhcmdldCA9PiAneG1sJywgY2FzdGZ1bmMgPT4gJ3htbCcs Ci0gIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRl eHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiAK ICMgQ3Jvc3MtY2F0ZWdvcnkgY2FzdHMgdG8gYW5kIGZyb20gVkFSQ0hBUgogIyBXZSBzdXBwb3J0 IGFsbCB0aGUgc2FtZSBjYXN0cyBhcyBmb3IgVEVYVC4KIHsgY2FzdHNvdXJjZSA9PiAnY2lkcics IGNhc3R0YXJnZXQgPT4gJ3ZhcmNoYXInLCBjYXN0ZnVuYyA9PiAndGV4dChpbmV0KScsCi0gIGNh c3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4g J2EnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rz b3VyY2UgPT4gJ2luZXQnLCBjYXN0dGFyZ2V0ID0+ICd2YXJjaGFyJywgY2FzdGZ1bmMgPT4gJ3Rl eHQoaW5ldCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisg IGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdib29sJywgY2FzdHRhcmdldCA9PiAndmFyY2hhcics IGNhc3RmdW5jID0+ICd0ZXh0KGJvb2wpJywKLSAgY2FzdGNvbnRleHQgPT4gJ2EnLCBjYXN0bWV0 aG9kID0+ICdmJyB9LAorICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnLCAg Y2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAneG1sJywgY2FzdHRhcmdl dCA9PiAndmFyY2hhcicsIGNhc3RmdW5jID0+ICcwJywKICAgY2FzdGNvbnRleHQgPT4gJ2EnLCBj YXN0bWV0aG9kID0+ICdiJyB9LAogeyBjYXN0c291cmNlID0+ICd2YXJjaGFyJywgY2FzdHRhcmdl dCA9PiAneG1sJywgY2FzdGZ1bmMgPT4gJ3htbCcsCi0gIGNhc3Rjb250ZXh0ID0+ICdlJywgY2Fz dG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdm JywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiAKICMgQ3Jvc3MtY2F0ZWdvcnkgY2FzdHMgdG8g YW5kIGZyb20gQlBDSEFSCiAjIFdlIHN1cHBvcnQgYWxsIHRoZSBzYW1lIGNhc3RzIGFzIGZvciBU RVhULgogeyBjYXN0c291cmNlID0+ICdjaWRyJywgY2FzdHRhcmdldCA9PiAnYnBjaGFyJywgY2Fz dGZ1bmMgPT4gJ3RleHQoaW5ldCknLAotICBjYXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2Qg PT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0 ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdpbmV0JywgY2FzdHRhcmdldCA9 PiAnYnBjaGFyJywgY2FzdGZ1bmMgPT4gJ3RleHQoaW5ldCknLAotICBjYXN0Y29udGV4dCA9PiAn YScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhv ZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdib29s JywgY2FzdHRhcmdldCA9PiAnYnBjaGFyJywgY2FzdGZ1bmMgPT4gJ3RleHQoYm9vbCknLAotICBj YXN0Y29udGV4dCA9PiAnYScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ ICdhJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0 c291cmNlID0+ICd4bWwnLCBjYXN0dGFyZ2V0ID0+ICdicGNoYXInLCBjYXN0ZnVuYyA9PiAnMCcs CiAgIGNhc3Rjb250ZXh0ID0+ICdhJywgY2FzdG1ldGhvZCA9PiAnYicgfSwKIHsgY2FzdHNvdXJj ZSA9PiAnYnBjaGFyJywgY2FzdHRhcmdldCA9PiAneG1sJywgY2FzdGZ1bmMgPT4gJ3htbCcsCi0g IGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQg PT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiAKICMg TGVuZ3RoLWNvZXJjaW9uIGZ1bmN0aW9ucwogeyBjYXN0c291cmNlID0+ICdicGNoYXInLCBjYXN0 dGFyZ2V0ID0+ICdicGNoYXInLAogICBjYXN0ZnVuYyA9PiAnYnBjaGFyKGJwY2hhcixpbnQ0LGJv b2wpJywgY2FzdGNvbnRleHQgPT4gJ2knLAotICBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0 bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4g J3ZhcmNoYXInLCBjYXN0dGFyZ2V0ID0+ICd2YXJjaGFyJywKICAgY2FzdGZ1bmMgPT4gJ3ZhcmNo YXIodmFyY2hhcixpbnQ0LGJvb2wpJywgY2FzdGNvbnRleHQgPT4gJ2knLAotICBjYXN0bWV0aG9k ID0+ICdmJyB9LAorICBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0s CiB7IGNhc3Rzb3VyY2UgPT4gJ3RpbWUnLCBjYXN0dGFyZ2V0ID0+ICd0aW1lJywgY2FzdGZ1bmMg PT4gJ3RpbWUodGltZSxpbnQ0KScsCi0gIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9 PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3Rl cnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ3RpbWVzdGFtcCcsIGNhc3R0YXJn ZXQgPT4gJ3RpbWVzdGFtcCcsCiAgIGNhc3RmdW5jID0+ICd0aW1lc3RhbXAodGltZXN0YW1wLGlu dDQpJywgY2FzdGNvbnRleHQgPT4gJ2knLAotICBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0 bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4g J3RpbWVzdGFtcHR6JywgY2FzdHRhcmdldCA9PiAndGltZXN0YW1wdHonLAogICBjYXN0ZnVuYyA9 PiAndGltZXN0YW1wdHoodGltZXN0YW1wdHosaW50NCknLCBjYXN0Y29udGV4dCA9PiAnaScsCi0g IGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2Fm ZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnaW50ZXJ2YWwnLCBjYXN0dGFyZ2V0ID0+ICdp bnRlcnZhbCcsCiAgIGNhc3RmdW5jID0+ICdpbnRlcnZhbChpbnRlcnZhbCxpbnQ0KScsIGNhc3Rj b250ZXh0ID0+ICdpJywKLSAgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdG1ldGhvZCA9PiAn ZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICd0aW1ldHonLCBj YXN0dGFyZ2V0ID0+ICd0aW1ldHonLAotICBjYXN0ZnVuYyA9PiAndGltZXR6KHRpbWV0eixpbnQ0 KScsIGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGZ1bmMg PT4gJ3RpbWV0eih0aW1ldHosaW50NCknLCBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2Qg PT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9PiAnYml0Jywg Y2FzdHRhcmdldCA9PiAnYml0JywgY2FzdGZ1bmMgPT4gJ2JpdChiaXQsaW50NCxib29sKScsCi0g IGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQg PT4gJ2knLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNh c3Rzb3VyY2UgPT4gJ3ZhcmJpdCcsIGNhc3R0YXJnZXQgPT4gJ3ZhcmJpdCcsIGNhc3RmdW5jID0+ ICd2YXJiaXQnLAotICBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisg IGNhc3Rjb250ZXh0ID0+ICdpJywgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdudW1lcmljJywgY2FzdHRhcmdldCA9PiAnbnVtZXJp YycsCi0gIGNhc3RmdW5jID0+ICdudW1lcmljKG51bWVyaWMsaW50NCknLCBjYXN0Y29udGV4dCA9 PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3RmdW5jID0+ICdudW1lcmljKG51bWVy aWMsaW50NCknLCBjYXN0Y29udGV4dCA9PiAnaScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVy cm9yc2FmZSA9PiAndCcgfSwKIAogIyBqc29uIHRvL2Zyb20ganNvbmIKIHsgY2FzdHNvdXJjZSA9 PiAnanNvbicsIGNhc3R0YXJnZXQgPT4gJ2pzb25iJywgY2FzdGZ1bmMgPT4gJzAnLApAQCAtNTU2 LDM2ICs1NTYsMzYgQEAKIAogIyBqc29uYiB0byBudW1lcmljIGFuZCBib29sIHR5cGVzCiB7IGNh c3Rzb3VyY2UgPT4gJ2pzb25iJywgY2FzdHRhcmdldCA9PiAnYm9vbCcsIGNhc3RmdW5jID0+ICdi b29sKGpzb25iKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwK KyAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUg PT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2pzb25iJywgY2FzdHRhcmdldCA9PiAnbnVtZXJp YycsIGNhc3RmdW5jID0+ICdudW1lcmljKGpzb25iKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdlJywg Y2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2pzb25iJywg Y2FzdHRhcmdldCA9PiAnaW50MicsIGNhc3RmdW5jID0+ICdpbnQyKGpzb25iKScsCi0gIGNhc3Rj b250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2Un LCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3Vy Y2UgPT4gJ2pzb25iJywgY2FzdHRhcmdldCA9PiAnaW50NCcsIGNhc3RmdW5jID0+ICdpbnQ0KGpz b25iKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2Fz dGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3Qn IH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2pzb25iJywgY2FzdHRhcmdldCA9PiAnaW50OCcsIGNhc3Rm dW5jID0+ICdpbnQ4KGpzb25iKScsCi0gIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9 PiAnZicgfSwKKyAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3Rl cnJvcnNhZmUgPT4gJ3QnIH0sCiB7IGNhc3Rzb3VyY2UgPT4gJ2pzb25iJywgY2FzdHRhcmdldCA9 PiAnZmxvYXQ0JywgY2FzdGZ1bmMgPT4gJ2Zsb2F0NChqc29uYiknLAotICBjYXN0Y29udGV4dCA9 PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1l dGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdq c29uYicsIGNhc3R0YXJnZXQgPT4gJ2Zsb2F0OCcsIGNhc3RmdW5jID0+ICdmbG9hdDgoanNvbmIp JywKLSAgY2FzdGNvbnRleHQgPT4gJ2UnLCBjYXN0bWV0aG9kID0+ICdmJyB9LAorICBjYXN0Y29u dGV4dCA9PiAnZScsIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwK IAogIyByYW5nZSB0byBtdWx0aXJhbmdlCiB7IGNhc3Rzb3VyY2UgPT4gJ2ludDRyYW5nZScsIGNh c3R0YXJnZXQgPT4gJ2ludDRtdWx0aXJhbmdlJywKICAgY2FzdGZ1bmMgPT4gJ2ludDRtdWx0aXJh bmdlKGludDRyYW5nZSknLCBjYXN0Y29udGV4dCA9PiAnZScsCi0gIGNhc3RtZXRob2QgPT4gJ2Yn IH0sCisgIGNhc3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2Fz dHNvdXJjZSA9PiAnaW50OHJhbmdlJywgY2FzdHRhcmdldCA9PiAnaW50OG11bHRpcmFuZ2UnLAog ICBjYXN0ZnVuYyA9PiAnaW50OG11bHRpcmFuZ2UoaW50OHJhbmdlKScsIGNhc3Rjb250ZXh0ID0+ ICdlJywKLSAgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0 ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICdudW1yYW5nZScsIGNhc3R0YXJn ZXQgPT4gJ251bW11bHRpcmFuZ2UnLAogICBjYXN0ZnVuYyA9PiAnbnVtbXVsdGlyYW5nZShudW1y YW5nZSknLCBjYXN0Y29udGV4dCA9PiAnZScsCi0gIGNhc3RtZXRob2QgPT4gJ2YnIH0sCisgIGNh c3RtZXRob2QgPT4gJ2YnLCAgY2FzdGVycm9yc2FmZSA9PiAndCcgfSwKIHsgY2FzdHNvdXJjZSA9 PiAnZGF0ZXJhbmdlJywgY2FzdHRhcmdldCA9PiAnZGF0ZW11bHRpcmFuZ2UnLAogICBjYXN0ZnVu YyA9PiAnZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKScsIGNhc3Rjb250ZXh0ID0+ICdlJywKLSAg Y2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdG1ldGhvZCA9PiAnZicsICBjYXN0ZXJyb3JzYWZl ID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICd0c3JhbmdlJywgY2FzdHRhcmdldCA9PiAndHNt dWx0aXJhbmdlJywKLSAgY2FzdGZ1bmMgPT4gJ3RzbXVsdGlyYW5nZSh0c3JhbmdlKScsIGNhc3Rj b250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZicgfSwKKyAgY2FzdGZ1bmMgPT4gJ3RzbXVs dGlyYW5nZSh0c3JhbmdlKScsIGNhc3Rjb250ZXh0ID0+ICdlJywgY2FzdG1ldGhvZCA9PiAnZics ICBjYXN0ZXJyb3JzYWZlID0+ICd0JyB9LAogeyBjYXN0c291cmNlID0+ICd0c3R6cmFuZ2UnLCBj YXN0dGFyZ2V0ID0+ICd0c3R6bXVsdGlyYW5nZScsCiAgIGNhc3RmdW5jID0+ICd0c3R6bXVsdGly YW5nZSh0c3R6cmFuZ2UpJywgY2FzdGNvbnRleHQgPT4gJ2UnLAotICBjYXN0bWV0aG9kID0+ICdm JyB9LAorICBjYXN0bWV0aG9kID0+ICdmJywgIGNhc3RlcnJvcnNhZmUgPT4gJ3QnIH0sCiBdCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuaCBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfY2FzdC5oCmluZGV4IGQ4MTMxNDk0NmVlLi42ZGVkZWQzZTA0ZSAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jYXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19jYXN0LmgKQEAgLTQ5LDYgKzQ5LDEwIEBAIENBVEFMT0cocGdfY2FzdCwyNjA1LENhc3RS ZWxhdGlvbklkKQogCiAJLyogY2FzdCBtZXRob2QgKi8KIAljaGFyCQljYXN0bWV0aG9kOworCisJ LyogY2FzdCBmdW5jdGlvbiBlcnJvciBzYWZlICovCisJYm9vbAkJY2FzdGVycm9yc2FmZSBCS0lf REVGQVVMVChmKTsKKwogfSBGb3JtRGF0YV9wZ19jYXN0OwogCiBFTkRfQ0FUQUxPR19TVFJVQ1QK QEAgLTEwNSw2ICsxMDksNyBAQCBleHRlcm4gT2JqZWN0QWRkcmVzcyBDYXN0Q3JlYXRlKE9pZCBz b3VyY2V0eXBlaWQsCiAJCQkJCQkJCU9pZCBvdXRjYXN0aWQsCiAJCQkJCQkJCWNoYXIgY2FzdGNv bnRleHQsCiAJCQkJCQkJCWNoYXIgY2FzdG1ldGhvZCwKKwkJCQkJCQkJYm9vbCBjYXN0ZXJyb3Jz YWZlLAogCQkJCQkJCQlEZXBlbmRlbmN5VHlwZSBiZWhhdmlvcik7CiAKICNlbmRpZgkJCQkJCQkv KiBQR19DQVNUX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA4YjBlZDNhZWZhNS4uMTAz OTQxMzllMGMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTQxODUsNiArNDE4NSw3IEBAIHR5 cGVkZWYgc3RydWN0IENyZWF0ZUNhc3RTdG10CiAJT2JqZWN0V2l0aEFyZ3MgKmZ1bmM7CiAJQ29l cmNpb25Db250ZXh0IGNvbnRleHQ7CiAJYm9vbAkJaW5vdXQ7CisJYm9vbAkJc2FmZTsKIH0gQ3Jl YXRlQ2FzdFN0bXQ7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaApp bmRleCA2Zjc0YThjMDVjNy4uYWZjZjlhNTNiNGMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bh cnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKQEAgLTM5OCw2 ICszOTgsNyBAQCBQR19LRVlXT1JEKCJyb3V0aW5lcyIsIFJPVVRJTkVTLCBVTlJFU0VSVkVEX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJyb3ciLCBST1csIENPTF9OQU1FX0tFWVdP UkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJyb3dzIiwgUk9XUywgVU5SRVNFUlZFRF9LRVlX T1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicnVsZSIsIFJVTEUsIFVOUkVTRVJWRURfS0VZ V09SRCwgQkFSRV9MQUJFTCkKK1BHX0tFWVdPUkQoInNhZmUiLCBTQUZFLCBVTlJFU0VSVkVEX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJzYXZlcG9pbnQiLCBTQVZFUE9JTlQsIFVO UkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInNjYWxhciIsIFNDQUxB UiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgic2NoZW1hIiwg U0NIRU1BLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9jYXN0Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvY3JlYXRlX2Nhc3Qub3V0CmluZGV4IDY4ZTY5ZDFjNTg0Li5iM2M3ZDYyZTUyNiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfY2FzdC5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfY2FzdC5vdXQKQEAgLTgxLDYgKzgx LDEyIEBAIE5PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY2FzdCBmcm9tIGludGVnZXIgdG8gY2Fz dHRlc3R0eXBlCiAtLSBUcnkgaXQgd2l0aCBhIGZ1bmN0aW9uIHRoYXQgcmVxdWlyZXMgYW4gaW1w bGljaXQgY2FzdAogQ1JFQVRFIEZVTkNUSU9OIGJhcl9pbnQ0X3RleHQoaW50NCkgUkVUVVJOUyB0 ZXh0IExBTkdVQUdFIFNRTCBBUwogJCQgU0VMRUNUICgnYmFyJzo6dGV4dCB8fCAkMTo6dGV4dCk7 ICQkOworQ1JFQVRFIEZVTkNUSU9OIGJhcl9pbnQ0X3RleHRfcGxwZyhpbnQ0KSBSRVRVUk5TIHRl eHQgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQgQkVHSU4gUkVUVVJOICgnYmFyJzo6dGV4dCB8fCAk MTo6dGV4dCk7IEVORCAkJDsKK0NSRUFURSBDQVNUIChpbnQ0IEFTIGNhc3R0ZXN0dHlwZSkgV0lU SCBTQUZFIEZVTkNUSU9OIGJhcl9pbnQ0X3RleHQoaW50NCkgQVMgSU1QTElDSVQ7IC0tIGVycm9y CitFUlJPUjogIHNhZmUgdHlwZSBjYXN0IGZ1bmN0aW9ucyBhcmUgb25seSBzdXBwb3J0ZWQgZm9y IEMgYW5kIGludGVybmFsIGxhbmd1YWdlcworQ1JFQVRFIENBU1QgKGludDQgQVMgY2FzdHRlc3R0 eXBlKSBXSVRIIFNBRkUgRlVOQ1RJT04gYmFyX2ludDRfdGV4dF9wbHBnKGludDQpIEFTIElNUExJ Q0lUOyAtLSBlcnJvcgorRVJST1I6ICBzYWZlIHR5cGUgY2FzdCBmdW5jdGlvbnMgYXJlIG9ubHkg c3VwcG9ydGVkIGZvciBDIGFuZCBpbnRlcm5hbCBsYW5ndWFnZXMKIENSRUFURSBDQVNUIChpbnQ0 IEFTIGNhc3R0ZXN0dHlwZSkgV0lUSCBGVU5DVElPTiBiYXJfaW50NF90ZXh0KGludDQpIEFTIElN UExJQ0lUOwogU0VMRUNUIDEyMzQ6OmludDQ6OmNhc3R0ZXN0dHlwZTsgLS0gU2hvdWxkIHdvcmsg bm93CiAgY2FzdHRlc3R0eXBlIApAQCAtOTIsNyArOTgsNyBAQCBTRUxFQ1QgQ0FTVCgxMjM0Ojpp bnQ0IEFTIGNhc3R0ZXN0dHlwZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0t IGVycgogRVJST1I6ICBjYW5ub3QgY2FzdCB0eXBlIGludGVnZXIgdG8gY2FzdHRlc3R0eXBlIHdo ZW4gREVGQVVMVCBleHByZXNzaW9uIGlzIHNwZWNpZmllZCBpbiBDQVNUIC4uLiBPTiBDT05WRVJT SU9OIEVSUk9SCiBMSU5FIDE6IFNFTEVDVCBDQVNUKDEyMzQ6OmludDQgQVMgY2FzdHRlc3R0eXBl IERFRkFVTFQgTlVMTCBPTiBDT05WRS4uLgogICAgICAgICAgICAgICAgICAgICBeCi1ISU5UOiAg U2FmZSB0eXBlIGNhc3QgZm9yIHVzZXItZGVmaW5lZCB0eXBlcyBhcmUgbm90IHlldCBzdXBwb3J0 ZWQuCitISU5UOiAgRXhwbGljaXQgY2FzdCBpcyBkZWZpbmVkIGJ1dCBkZWZpbml0aW9uIGlzIG5v dCBlcnJvciBzYWZlLgogLS0gY2hlY2sgZGVwZW5kZW5jaWVzIGdlbmVyYXRlZCBmb3IgdGhhdAog U0VMRUNUIHBnX2Rlc2NyaWJlX29iamVjdChjbGFzc2lkLCBvYmppZCwgb2Jqc3ViaWQpIGFzIG9i aiwKICAgICAgICBwZ19kZXNjcmliZV9vYmplY3QocmVmY2xhc3NpZCwgcmVmb2JqaWQsIHJlZm9i anN1YmlkKSBhcyBvYmpyZWYsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L29wcl9zYW5pdHkub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9vcHJfc2FuaXR5Lm91 dAppbmRleCA2ZmY0ZDdlZTkwMS4uOTk0M2E0MTk2OTUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvb3ByX3Nhbml0eS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9vcHJfc2FuaXR5Lm91dApAQCAtOTUwLDggKzk1MCw4IEBAIFNFTEVDVCAqCiBGUk9NIHBn X2Nhc3QgYwogV0hFUkUgY2FzdHNvdXJjZSA9IDAgT1IgY2FzdHRhcmdldCA9IDAgT1IgY2FzdGNv bnRleHQgTk9UIElOICgnZScsICdhJywgJ2knKQogICAgIE9SIGNhc3RtZXRob2QgTk9UIElOICgn ZicsICdiJyAsJ2knKTsKLSBvaWQgfCBjYXN0c291cmNlIHwgY2FzdHRhcmdldCB8IGNhc3RmdW5j IHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIAotLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgb2lkIHwgY2FzdHNv dXJjZSB8IGNhc3R0YXJnZXQgfCBjYXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8 IGNhc3RlcnJvcnNhZmUgCistLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCiAoMCByb3dzKQog CiAtLSBDaGVjayB0aGF0IGNhc3RmdW5jIGlzIG5vbnplcm8gb25seSBmb3IgY2FzdCBtZXRob2Rz IHRoYXQgbmVlZCBhIGZ1bmN0aW9uLApAQCAtOTYwLDggKzk2MCw4IEBAIFNFTEVDVCAqCiBGUk9N IHBnX2Nhc3QgYwogV0hFUkUgKGNhc3RtZXRob2QgPSAnZicgQU5EIGNhc3RmdW5jID0gMCkKICAg IE9SIChjYXN0bWV0aG9kIElOICgnYicsICdpJykgQU5EIGNhc3RmdW5jIDw+IDApOwotIG9pZCB8 IGNhc3Rzb3VyY2UgfCBjYXN0dGFyZ2V0IHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3Rt ZXRob2QgCi0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0KKyBvaWQgfCBjYXN0c291cmNlIHwgY2FzdHRhcmdldCB8IGNh c3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIHwgY2FzdGVycm9yc2FmZSAKKy0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KICgwIHJvd3MpCiAKIC0tIExvb2sgZm9yIGNhc3RzIHRv L2Zyb20gdGhlIHNhbWUgdHlwZSB0aGF0IGFyZW4ndCBsZW5ndGggY29lcmNpb24gZnVuY3Rpb25z LgpAQCAtOTcwLDE1ICs5NzAsMTUgQEAgV0hFUkUgKGNhc3RtZXRob2QgPSAnZicgQU5EIGNhc3Rm dW5jID0gMCkKIFNFTEVDVCAqCiBGUk9NIHBnX2Nhc3QgYwogV0hFUkUgY2FzdHNvdXJjZSA9IGNh c3R0YXJnZXQgQU5EIGNhc3RmdW5jID0gMDsKLSBvaWQgfCBjYXN0c291cmNlIHwgY2FzdHRhcmdl dCB8IGNhc3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIAotLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg b2lkIHwgY2FzdHNvdXJjZSB8IGNhc3R0YXJnZXQgfCBjYXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwg Y2FzdG1ldGhvZCB8IGNhc3RlcnJvcnNhZmUgCistLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t CiAoMCByb3dzKQogCiBTRUxFQ1QgYy4qCiBGUk9NIHBnX2Nhc3QgYywgcGdfcHJvYyBwCiBXSEVS RSBjLmNhc3RmdW5jID0gcC5vaWQgQU5EIHAucHJvbmFyZ3MgPCAyIEFORCBjYXN0c291cmNlID0g Y2FzdHRhcmdldDsKLSBvaWQgfCBjYXN0c291cmNlIHwgY2FzdHRhcmdldCB8IGNhc3RmdW5jIHwg Y2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIAotLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgb2lkIHwgY2FzdHNvdXJj ZSB8IGNhc3R0YXJnZXQgfCBjYXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8IGNh c3RlcnJvcnNhZmUgCistLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCiAoMCByb3dzKQogCiAt LSBMb29rIGZvciBjYXN0IGZ1bmN0aW9ucyB0aGF0IGRvbid0IGhhdmUgdGhlIHJpZ2h0IHNpZ25h dHVyZS4gIFRoZQpAQCAtOTk2LDggKzk5Niw4IEBAIFdIRVJFIGMuY2FzdGZ1bmMgPSBwLm9pZCBB TkQKICAgICAgICAgICAgICBPUiAoYy5jYXN0c291cmNlID0gJ2NoYXJhY3Rlcic6OnJlZ3R5cGUg QU5ECiAgICAgICAgICAgICAgICAgIHAucHJvYXJndHlwZXNbMF0gPSAndGV4dCc6OnJlZ3R5cGUp KQogICAgICBPUiBOT1QgYmluYXJ5X2NvZXJjaWJsZShwLnByb3JldHR5cGUsIGMuY2FzdHRhcmdl dCkpOwotIG9pZCB8IGNhc3Rzb3VyY2UgfCBjYXN0dGFyZ2V0IHwgY2FzdGZ1bmMgfCBjYXN0Y29u dGV4dCB8IGNhc3RtZXRob2QgCi0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBvaWQgfCBjYXN0c291cmNlIHwgY2Fz dHRhcmdldCB8IGNhc3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIHwgY2FzdGVycm9y c2FmZSAKKy0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KICgwIHJvd3MpCiAKIFNFTEVDVCBj LioKQEAgLTEwMDUsOCArMTAwNSw4IEBAIEZST00gcGdfY2FzdCBjLCBwZ19wcm9jIHAKIFdIRVJF IGMuY2FzdGZ1bmMgPSBwLm9pZCBBTkQKICAgICAoKHAucHJvbmFyZ3MgPiAxIEFORCBwLnByb2Fy Z3R5cGVzWzFdICE9ICdpbnQ0Jzo6cmVndHlwZSkgT1IKICAgICAgKHAucHJvbmFyZ3MgPiAyIEFO RCBwLnByb2FyZ3R5cGVzWzJdICE9ICdib29sJzo6cmVndHlwZSkpOwotIG9pZCB8IGNhc3Rzb3Vy Y2UgfCBjYXN0dGFyZ2V0IHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgCi0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBvaWQgfCBjYXN0c291cmNlIHwgY2FzdHRhcmdldCB8IGNhc3RmdW5jIHwg Y2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIHwgY2FzdGVycm9yc2FmZSAKKy0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KICgwIHJvd3MpCiAKIC0tIExvb2sgZm9yIGJpbmFyeSBjb21wYXRpYmxl IGNhc3RzIHRoYXQgZG8gbm90IGhhdmUgdGhlIHJldmVyc2UKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9jYXN0LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0 ZV9jYXN0LnNxbAppbmRleCAwYTE1YTc5NWQ4Ny4uMzBhMGZmMDc3YzkgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9jYXN0LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC9jcmVhdGVfY2FzdC5zcWwKQEAgLTYwLDYgKzYwLDExIEBAIERST1AgRlVOQ1RJT04gaW50 NF9jYXN0dGVzdHR5cGUoaW50NCkgQ0FTQ0FERTsKIENSRUFURSBGVU5DVElPTiBiYXJfaW50NF90 ZXh0KGludDQpIFJFVFVSTlMgdGV4dCBMQU5HVUFHRSBTUUwgQVMKICQkIFNFTEVDVCAoJ2Jhcic6 OnRleHQgfHwgJDE6OnRleHQpOyAkJDsKIAorQ1JFQVRFIEZVTkNUSU9OIGJhcl9pbnQ0X3RleHRf cGxwZyhpbnQ0KSBSRVRVUk5TIHRleHQgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQgQkVHSU4gUkVU VVJOICgnYmFyJzo6dGV4dCB8fCAkMTo6dGV4dCk7IEVORCAkJDsKKworQ1JFQVRFIENBU1QgKGlu dDQgQVMgY2FzdHRlc3R0eXBlKSBXSVRIIFNBRkUgRlVOQ1RJT04gYmFyX2ludDRfdGV4dChpbnQ0 KSBBUyBJTVBMSUNJVDsgLS0gZXJyb3IKK0NSRUFURSBDQVNUIChpbnQ0IEFTIGNhc3R0ZXN0dHlw ZSkgV0lUSCBTQUZFIEZVTkNUSU9OIGJhcl9pbnQ0X3RleHRfcGxwZyhpbnQ0KSBBUyBJTVBMSUNJ VDsgLS0gZXJyb3IKIENSRUFURSBDQVNUIChpbnQ0IEFTIGNhc3R0ZXN0dHlwZSkgV0lUSCBGVU5D VElPTiBiYXJfaW50NF90ZXh0KGludDQpIEFTIElNUExJQ0lUOwogU0VMRUNUIDEyMzQ6OmludDQ6 OmNhc3R0ZXN0dHlwZTsgLS0gU2hvdWxkIHdvcmsgbm93CiBTRUxFQ1QgQ0FTVCgxMjM0OjppbnQ0 IEFTIGNhc3R0ZXN0dHlwZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVy cm9yCi0tIAoyLjM0LjEKCg== --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="UTF-8"; name="v19-0022-CAST-expr-AS-newtype-DEFAULT-expr-ON-CONVERSION-ERROR.patch" Content-Disposition: attachment; filename="v19-0022-CAST-expr-AS-newtype-DEFAULT-expr-ON-CONVERSION-ERROR.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5ne12 RnJvbSA0MjdlMGZiZTFmMzUyYjQ2OTQ5Y2Y5ZDI5NjYxMDI0ZjM2ODYxNWZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTMgTWFyIDIwMjYgMDg6Mzc6MzMgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAyMi8yM10gQ0FTVChleHByIEFTIG5ld3R5cGUgREVGQVVMVCBleHByIE9OIENPTlZFUlNJT04K IEVSUk9SKQoKSW50cm9kdWNlIFNRTC1zdGFuZGFyZCBzYWZlIHR5cGUgY2FzdCBzeW50YXg6CiAg ICBDQVNUKGV4cHIgQVMgbmV3dHlwZSBERUZBVUxUIGV4cHIgT04gQ09OVkVSU0lPTiBFUlJPUikK VGhpcyBhbGxvdyB1c2VycyB0byBzcGVjaWZ5IGEgZGVmYXVsdCBmYWxsYmFjayBleHByZXNzaW9u IGlmIGEgdHlwZSBjb252ZXJzaW9uCmZhaWxzLCByYXRoZXIgdGhhbiByYWlzaW5nIGFuIGVycm9y LgoKV2l0aCB0aGlzIHBhdGNoc2V0LCBhbG1vc3QgYWxsIG9mIHRoZSBjYXN0IGZ1bmN0aW9ucyBp biBwZ19jYXN0LmNhc3RmdW5jIGFyZSBub3cKZXJyb3Itc2FmZS4gIENvZXJjZVZpYUlPIGFuZCBD b2VyY2VUb0RvbWFpbiB3ZXJlIGFscmVhZHkgZXJyb3Itc2FmZSBpbiB0aGUgSEVBRCwKc2VlIFsw XSwgdGhpcyBwYXRjaCBleHRlbmRzIGVycm9yLXNhZmUgYmVoYXZpb3IgdG8gQXJyYXlDb2VyY2VF eHByLgoKRXhhbXBsZToKICAgIC0tIFJldHVybnMgJzIwMTEtMDEtMDEnIGluc3RlYWQgb2YgdGhy b3dpbmcgYW4gaW52YWxpZCBpbnB1dCBzeW50YXggZXJyb3IuCiAgICBTRUxFQ1QgQ0FTVCgnMScg QVMgZGF0ZSBERUZBVUxUICcyMDExLTAxLTAxJyBPTiBDT05WRVJTSU9OIEVSUk9SKTsKCiMgQnVt cHMgY2F0dmVyc2lvbiByZXF1aXJlZAoKWzBdOiBodHRwczovL2dpdC5wb3N0Z3Jlc3FsLm9yZy9j Z2l0L3Bvc3RncmVzcWwuZ2l0L2NvbW1pdC8/aWQ9YWFhZjk0NDllYzZiZTYyY2IwZDMwZWQzNTg4 ZGMzODRmNTYyNzRiCmRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FEa0xNPWZ2MUpm WTRVZmEtamN3d05ialFpeE5WaXNrUThqWnUzVHpfcDY1NmlfNGhRQG1haWwuZ21haWwuY29tCmNv bW1pdGZlc3Q6IGh0dHBzOi8vY29tbWl0ZmVzdC5wb3N0Z3Jlc3FsLm9yZy9wYXRjaC81OTQxCi0t LQogY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0Lm91dCAgICAgICAgICAgIHwgICA1ICsK IGNvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF8xLm91dCAgICAgICAgICB8ICAgNSArCiBj b250cmliL2NpdGV4dC9zcWwvY2l0ZXh0LnNxbCAgICAgICAgICAgICAgICAgfCAgIDIgKwogLi4u L3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9zZWxlY3Qub3V0ICAgIHwgIDI0ICstCiBjb250 cmliL3BnX3N0YXRfc3RhdGVtZW50cy9zcWwvc2VsZWN0LnNxbCAgICAgfCAgIDUgKwogZG9jL3Ny Yy9zZ21sL3N5bnRheC5zZ21sICAgICAgICAgICAgICAgICAgICAgIHwgIDMyICsKIHNyYy9iYWNr ZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgICAgICAgICAgICAgICB8ICA2OSArLQogc3JjL2JhY2tl bmQvZXhlY3V0b3IvZXhlY0V4cHJJbnRlcnAuYyAgICAgICAgIHwgIDI5ICsKIHNyYy9iYWNrZW5k L2ppdC9sbHZtL2xsdm1qaXRfZXhwci5jICAgICAgICAgICB8ICAyNyArCiBzcmMvYmFja2VuZC9u b2Rlcy9ub2RlRnVuY3MuYyAgICAgICAgICAgICAgICAgfCAgNTMgKysKIHNyYy9iYWNrZW5kL29w dGltaXplci91dGlsL2NsYXVzZXMuYyAgICAgICAgICB8ICA1MiArLQogc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDIzICsKIHNyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9hZ2cuYyAgICAgICAgICAgICAgICB8ICAgOSArCiBzcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfY29lcmNlLmMgICAgICAgICAgICAgfCAgNjkgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV9leHByLmMgICAgICAgICAgICAgICB8IDM3MyArKysrKysrLQogc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX2Z1bmMuYyAgICAgICAgICAgICAgIHwgICAzICsKIHNyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV90eXBlLmMgICAgICAgICAgICAgICB8ICAxOCArCiBzcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9hcnJheWZ1bmNzLmMgICAgICAgICAgICB8ICAgOSArCiBzcmMvYmFja2VuZC91dGlscy9hZHQv cnVsZXV0aWxzLmMgICAgICAgICAgICAgfCAgMjUgKwogc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9m bWdyLmMgICAgICAgICAgICAgICAgIHwgIDEzICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNF eHByLmggICAgICAgICAgICAgICB8ICAgNyArCiBzcmMvaW5jbHVkZS9mbWdyLmggICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDMgKwogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgg ICAgICAgICAgICAgICAgIHwgIDIxICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAg ICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaCAgICAg ICAgICAgICAgICAgfCAgMjUgKwogc3JjL2luY2x1ZGUvb3B0aW1pemVyL29wdGltaXplci5oICAg ICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfY29lcmNlLmggICAg ICAgICAgICAgfCAgMTMgKwogc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaCAgICAgICAg ICAgICAgIHwgICAyICsKIHNyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV90eXBlLmggICAgICAgICAg ICAgICB8ICAgMiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Nhc3Qub3V0ICAgICAgICAg ICAgfCA4MDkgKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Ny ZWF0ZV9jYXN0Lm91dCAgICAgfCAgIDUgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9lcXVp dmNsYXNzLm91dCAgICAgIHwgICA3ICsKIHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1 bGUgICAgICAgICAgICB8ICAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvY2FzdC5zcWwgICAg ICAgICAgICAgICAgIHwgMzQ3ICsrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVf Y2FzdC5zcWwgICAgICAgICAgfCAgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvZXF1aXZjbGFz cy5zcWwgICAgICAgICAgIHwgICAzICsKIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0 ICAgICAgICAgICAgICB8ICAgMiArCiAzOCBmaWxlcyBjaGFuZ2VkLCAyMDQzIGluc2VydGlvbnMo KyksIDU2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvY2FzdC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9jYXN0LnNxbAoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dC5v dXQgYi9jb250cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHQub3V0CmluZGV4IDhjMGJmNTRmMGYz Li5lY2ZhZjJhYTg1YSAxMDA2NDQKLS0tIGEvY29udHJpYi9jaXRleHQvZXhwZWN0ZWQvY2l0ZXh0 Lm91dAorKysgYi9jb250cmliL2NpdGV4dC9leHBlY3RlZC9jaXRleHQub3V0CkBAIC0xMCw2ICsx MCwxMSBAQCBXSEVSRSBvcGMub2lkID49IDE2Mzg0IEFORCBOT1QgYW12YWxpZGF0ZShvcGMub2lk KTsKIC0tLS0tLS0tKy0tLS0tLS0tLQogKDAgcm93cykKIAorU0VMRUNUIENBU1QoJ2FiYyc6OmJw Y2hhciBBUyBjaXRleHQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBlcnJv cgorRVJST1I6ICBjYW5ub3QgY2FzdCB0eXBlIGNoYXJhY3RlciB0byBjaXRleHQgd2hlbiBERUZB VUxUIGV4cHJlc3Npb24gaXMgc3BlY2lmaWVkIGluIENBU1QgLi4uIE9OIENPTlZFUlNJT04gRVJS T1IKK0xJTkUgMTogU0VMRUNUIENBU1QoJ2FiYyc6OmJwY2hhciBBUyBjaXRleHQgREVGQVVMVCBO VUxMIE9OIENPTlZFUlNJLi4uCisgICAgICAgICAgICAgICAgICAgIF4KK0hJTlQ6ICBTYWZlIHR5 cGUgY2FzdCBmb3IgdXNlci1kZWZpbmVkIHR5cGVzIGFyZSBub3QgeWV0IHN1cHBvcnRlZC4KIC0t IFRlc3QgdGhlIG9wZXJhdG9ycyBhbmQgaW5kZXhpbmcgZnVuY3Rpb25zCiAtLSBUZXN0ID0gYW5k IDw+LgogU0VMRUNUICdhJzo6Y2l0ZXh0ID0gJ2EnOjpjaXRleHQgQVMgdDsKZGlmZiAtLWdpdCBh L2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF8xLm91dCBiL2NvbnRyaWIvY2l0ZXh0L2V4 cGVjdGVkL2NpdGV4dF8xLm91dAppbmRleCBjNWU1ZjE4MGYyYi4uM2UxMmNkNzkzYWQgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvY2l0ZXh0L2V4cGVjdGVkL2NpdGV4dF8xLm91dAorKysgYi9jb250cmli L2NpdGV4dC9leHBlY3RlZC9jaXRleHRfMS5vdXQKQEAgLTEwLDYgKzEwLDExIEBAIFdIRVJFIG9w Yy5vaWQgPj0gMTYzODQgQU5EIE5PVCBhbXZhbGlkYXRlKG9wYy5vaWQpOwogLS0tLS0tLS0rLS0t LS0tLS0tCiAoMCByb3dzKQogCitTRUxFQ1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFTIGNpdGV4dCBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCitFUlJPUjogIGNhbm5v dCBjYXN0IHR5cGUgY2hhcmFjdGVyIHRvIGNpdGV4dCB3aGVuIERFRkFVTFQgZXhwcmVzc2lvbiBp cyBzcGVjaWZpZWQgaW4gQ0FTVCAuLi4gT04gQ09OVkVSU0lPTiBFUlJPUgorTElORSAxOiBTRUxF Q1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFTIGNpdGV4dCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0ku Li4KKyAgICAgICAgICAgICAgICAgICAgXgorSElOVDogIFNhZmUgdHlwZSBjYXN0IGZvciB1c2Vy LWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLgogLS0gVGVzdCB0aGUgb3BlcmF0 b3JzIGFuZCBpbmRleGluZyBmdW5jdGlvbnMKIC0tIFRlc3QgPSBhbmQgPD4uCiBTRUxFQ1QgJ2En OjpjaXRleHQgPSAnYSc6OmNpdGV4dCBBUyB0OwpkaWZmIC0tZ2l0IGEvY29udHJpYi9jaXRleHQv c3FsL2NpdGV4dC5zcWwgYi9jb250cmliL2NpdGV4dC9zcWwvY2l0ZXh0LnNxbAppbmRleCBhYTFj ZjlhYmQ1Yy4uYzgyMGIwYmQ0ZDkgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvY2l0ZXh0L3NxbC9jaXRl eHQuc3FsCisrKyBiL2NvbnRyaWIvY2l0ZXh0L3NxbC9jaXRleHQuc3FsCkBAIC05LDYgKzksOCBA QCBTRUxFQ1QgYW1uYW1lLCBvcGNuYW1lCiBGUk9NIHBnX29wY2xhc3Mgb3BjIExFRlQgSk9JTiBw Z19hbSBhbSBPTiBhbS5vaWQgPSBvcGNtZXRob2QKIFdIRVJFIG9wYy5vaWQgPj0gMTYzODQgQU5E IE5PVCBhbXZhbGlkYXRlKG9wYy5vaWQpOwogCitTRUxFQ1QgQ0FTVCgnYWJjJzo6YnBjaGFyIEFT IGNpdGV4dCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCisKIC0t IFRlc3QgdGhlIG9wZXJhdG9ycyBhbmQgaW5kZXhpbmcgZnVuY3Rpb25zCiAKIC0tIFRlc3QgPSBh bmQgPD4uCmRpZmYgLS1naXQgYS9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9z ZWxlY3Qub3V0IGIvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMvZXhwZWN0ZWQvc2VsZWN0Lm91 dAppbmRleCBhMDY5MTE5Yzc5MC4uODRmMTA4MTBmNzIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdf c3RhdF9zdGF0ZW1lbnRzL2V4cGVjdGVkL3NlbGVjdC5vdXQKKysrIGIvY29udHJpYi9wZ19zdGF0 X3N0YXRlbWVudHMvZXhwZWN0ZWQvc2VsZWN0Lm91dApAQCAtNzMsNiArNzMsMjUgQEAgU0VMRUNU IDEgQVMgImludCIgT0ZGU0VUIDIgRkVUQ0ggRklSU1QgMyBST1cgT05MWTsKIC0tLS0tCiAoMCBy b3dzKQogCistLSBlcnJvciBzYWZlIHR5cGUgY2FzdAorU0VMRUNUIENBU1QoJ2EnIEFTIGludCBE RUZBVUxUIDIgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgaW50NCAKKy0tLS0tLQorICAgIDIKKygx IHJvdykKKworU0VMRUNUIENBU1QoJzEyJyBBUyBudW1lcmljIERFRkFVTFQgMiBPTiBDT05WRVJT SU9OIEVSUk9SKTsKKyBudW1lcmljIAorLS0tLS0tLS0tCisgICAgICAxMgorKDEgcm93KQorCitT RUxFQ1QgQ0FTVCgnMTInIEFTIG51bWVyaWMoMTApIERFRkFVTFQgMiBPTiBDT05WRVJTSU9OIEVS Uk9SKTsKKyBudW1lcmljIAorLS0tLS0tLS0tCisgICAgICAxMgorKDEgcm93KQorCiAtLSBESVNU SU5DVCBhbmQgT1JERVIgQlkgcGF0dGVybnMKIC0tIFRyeSBzb21lIHF1ZXJ5IHBlcm11dGF0aW9u cyB3aGljaCBvbmNlIHByb2R1Y2VkIGlkZW50aWNhbCBxdWVyeSBJRHMKIFNFTEVDVCBESVNUSU5D VCAxIEFTICJpbnQiOwpAQCAtMjIyLDYgKzI0MSw5IEBAIFNFTEVDVCBjYWxscywgcm93cywgcXVl cnkgRlJPTSBwZ19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CiAg ICAgIDIgfCAgICAyIHwgU0VMRUNUICQxIEFTICJpbnQiIE9SREVSIEJZIDEKICAgICAgMSB8ICAg IDIgfCBTRUxFQ1QgJDEgQVMgaSBVTklPTiBTRUxFQ1QgJDIgT1JERVIgQlkgaQogICAgICAxIHwg ICAgMSB8IFNFTEVDVCAkMSB8fCAkMgorICAgICAxIHwgICAgMSB8IFNFTEVDVCBDQVNUKCQxIEFT IGludCBERUZBVUxUICQyIE9OIENPTlZFUlNJT04gRVJST1IpCisgICAgIDEgfCAgICAxIHwgU0VM RUNUIENBU1QoJDEgQVMgbnVtZXJpYyBERUZBVUxUICQyIE9OIENPTlZFUlNJT04gRVJST1IpCisg ICAgIDEgfCAgICAxIHwgU0VMRUNUIENBU1QoJDEgQVMgbnVtZXJpYygxMCkgREVGQVVMVCAkMiBP TiBDT05WRVJTSU9OIEVSUk9SKQogICAgICAyIHwgICAgMiB8IFNFTEVDVCBESVNUSU5DVCAkMSBB UyAiaW50IgogICAgICAwIHwgICAgMCB8IFNFTEVDVCBjYWxscywgcm93cywgcXVlcnkgRlJPTSBw Z19zdGF0X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyIKICAgICAgMSB8ICAg IDEgfCBTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgSVMgTk9UIE5VTEwgQVMgdApA QCAtMjMwLDcgKzI1Miw3IEBAIFNFTEVDVCBjYWxscywgcm93cywgcXVlcnkgRlJPTSBwZ19zdGF0 X3N0YXRlbWVudHMgT1JERVIgQlkgcXVlcnkgQ09MTEFURSAiQyI7CiAgICAgICAgfCAgICAgIHwg KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICsKICAgICAgICB8ICAgICAgfCAgIFNFTEVDVCBmIEZST00gdCBP UkRFUiBCWSBmCiAgICAgIDEgfCAgICAxIHwgc2VsZWN0ICQxOjpqc29uYiA/ICQyCi0oMTcgcm93 cykKKygyMCByb3dzKQogCiBTRUxFQ1QgcGdfc3RhdF9zdGF0ZW1lbnRzX3Jlc2V0KCkgSVMgTk9U IE5VTEwgQVMgdDsKICB0IApkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ19zdGF0X3N0YXRlbWVudHMv c3FsL3NlbGVjdC5zcWwgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9zcWwvc2VsZWN0LnNx bAppbmRleCBhMTBkNjE4YzAzNC4uNGJlOTc5NzdiYTYgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdf c3RhdF9zdGF0ZW1lbnRzL3NxbC9zZWxlY3Quc3FsCisrKyBiL2NvbnRyaWIvcGdfc3RhdF9zdGF0 ZW1lbnRzL3NxbC9zZWxlY3Quc3FsCkBAIC0yNSw2ICsyNSwxMSBAQCBTRUxFQ1QgMSBBUyAiaW50 IiBMSU1JVCAzIE9GRlNFVCAzOwogU0VMRUNUIDEgQVMgImludCIgT0ZGU0VUIDEgRkVUQ0ggRklS U1QgMiBST1cgT05MWTsKIFNFTEVDVCAxIEFTICJpbnQiIE9GRlNFVCAyIEZFVENIIEZJUlNUIDMg Uk9XIE9OTFk7CiAKKy0tIGVycm9yIHNhZmUgdHlwZSBjYXN0CitTRUxFQ1QgQ0FTVCgnYScgQVMg aW50IERFRkFVTFQgMiBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCcxMicgQVMg bnVtZXJpYyBERUZBVUxUIDIgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnMTIn IEFTIG51bWVyaWMoMTApIERFRkFVTFQgMiBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKwogLS0gRElT VElOQ1QgYW5kIE9SREVSIEJZIHBhdHRlcm5zCiAtLSBUcnkgc29tZSBxdWVyeSBwZXJtdXRhdGlv bnMgd2hpY2ggb25jZSBwcm9kdWNlZCBpZGVudGljYWwgcXVlcnkgSURzCiBTRUxFQ1QgRElTVElO Q1QgMSBBUyAiaW50IjsKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9zeW50YXguc2dtbCBiL2Rv Yy9zcmMvc2dtbC9zeW50YXguc2dtbAppbmRleCA2NzQ4Mjk5Njg2MS4uNGFiZDVlNjcxYWUgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zeW50YXguc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvc3lu dGF4LnNnbWwKQEAgLTIwNzEsNiArMjA3MSwxMCBAQCBDQVNUICggPHJlcGxhY2VhYmxlPmV4cHJl c3Npb248L3JlcGxhY2VhYmxlPiBBUyA8cmVwbGFjZWFibGU+dHlwZTwvcmVwbGFjZWFibGU+CiAg ICAgVGhlIDxsaXRlcmFsPkNBU1Q8L2xpdGVyYWw+IHN5bnRheCBjb25mb3JtcyB0byBTUUw7IHRo ZSBzeW50YXggd2l0aAogICAgIDxsaXRlcmFsPjo6PC9saXRlcmFsPiBpcyBoaXN0b3JpY2FsIDxw cm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4KICAgICB1c2FnZS4KKyAgICBUaGUg ZXF1aXZhbGVudCBPTiBDT05WRVJTSU9OIEVSUk9SIGJlaGF2aW9yIGlzOgorPHN5bm9wc2lzPgor Q0FTVCAoIDxyZXBsYWNlYWJsZT5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4gQVMgPHJlcGxhY2Vh YmxlPnR5cGU8L3JlcGxhY2VhYmxlPiBFUlJPUiBPTiBDT05WRVJTSU9OIEVSUk9SICkKKzwvc3lu b3BzaXM+CiAgICA8L3BhcmE+CiAKICAgIDxwYXJhPgpAQCAtMjEyNSw2ICsyMTI5LDM0IEBAIENB U1QgKCA8cmVwbGFjZWFibGU+ZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+IEFTIDxyZXBsYWNlYWJs ZT50eXBlPC9yZXBsYWNlYWJsZT4KICAgICAgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZWNhc3Qi Lz4uCiAgICAgPC9wYXJhPgogICAgPC9ub3RlPgorCisgPHNlY3QzIGlkPSJzcWwtc3ludGF4LXR5 cGUtY2FzdHMtc2FmZSI+CisgIDx0aXRsZT5TYWZlIFR5cGUgQ2FzdDwvdGl0bGU+CisgICA8cGFy YT4KKyAgICBBIHR5cGUgY2FzdCBtYXkgb2NjYXNpb25hbGx5IGZhaWwuIFRvIGd1YXJkIGFnYWlu c3Qgc3VjaCBmYWlsdXJlcywgeW91IGNhbgorICAgIHByb3ZpZGUgYW4gPGxpdGVyYWw+T04gQ09O VkVSU0lPTiBFUlJPUjwvbGl0ZXJhbD4gY2xhdXNlIHRvIGhhbmRsZSBwb3RlbnRpYWwgZXJyb3Jz LgorICAgIFRoZSBzeW50YXggZm9yIHNhZmUgdHlwZSBjYXN0IGlzOgorPHN5bm9wc2lzPgorQ0FT VCAoIDxyZXBsYWNlYWJsZT5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4gQVMgPHJlcGxhY2VhYmxl PnR5cGU8L3JlcGxhY2VhYmxlPiBERUZBVUxUIDxyZXBsYWNlYWJsZT5leHByZXNzaW9uPC9yZXBs YWNlYWJsZT4gT04gQ09OVkVSU0lPTiBFUlJPUiApCis8L3N5bm9wc2lzPgorICAgIElmIHRoZSB0 eXBlIGNhc3QgZmFpbHMsIGFuIGVycm9yIGlzIG5vdCByYWlzZWQuICBJbnN0ZWFkLCBldmFsdWF0 aW9uIGZhbGxzCisgICAgYmFjayB0byB0aGUgZGVmYXVsdCA8cmVwbGFjZWFibGU+ZXhwcmVzc2lv bjwvcmVwbGFjZWFibGU+IHNwZWNpZmllZCBpbiB0aGUKKyAgICA8bGl0ZXJhbD5PTiBDT05WRVJT SU9OIEVSUk9SPC9saXRlcmFsPiBjbGF1c2UuCisgICAgQXQgcHJlc2VudCwgdGhpcyBvbmx5IHN1 cHBvcnQgYnVpbHQtaW4gdHlwZSBjYXN0cywgc2VlIDx4cmVmIGxpbmtlbmQ9ImNhdGFsb2ctcGct Y2FzdCIvPi4KKyAgICBVc2VyLWRlZmluZWQgdHlwZSBjYXN0cyBjcmVhdGVkIHdpdGggPGxpbmsg bGlua2VuZD0ic3FsLWNyZWF0ZWNhc3QiPkNSRUFURSBDQVNUPC9saW5rPgorICAgIGFyZSBub3Qg c3VwcG9ydGVkLgorICA8L3BhcmE+CisKKyAgICA8cGFyYT4KKyAgICBTb21lIGV4YW1wbGVzOgor PHNjcmVlbj4KK1NFTEVDVCBDQVNUKFRFWFQgJ2Vycm9yJyBBUyBpbnRlZ2VyIERFRkFVTFQgMyBP TiBDT05WRVJTSU9OIEVSUk9SKTsKKzxsaW5lYW5ub3RhdGlvbj5SZXN1bHQ6IDwvbGluZWFubm90 YXRpb24+PGNvbXB1dGVyb3V0cHV0PjM8L2NvbXB1dGVyb3V0cHV0PgorU0VMRUNUIENBU1QoVEVY VCAnZXJyb3InIEFTIG51bWVyaWMgREVGQVVMVCAxLjEgT04gQ09OVkVSU0lPTiBFUlJPUik7Cis8 bGluZWFubm90YXRpb24+UmVzdWx0OiA8L2xpbmVhbm5vdGF0aW9uPjxjb21wdXRlcm91dHB1dD4x LjE8L2NvbXB1dGVyb3V0cHV0PgorPC9zY3JlZW4+CisgICAgPC9wYXJhPgorICA8L3NlY3QzPgog ICA8L3NlY3QyPgogCiAgIDxzZWN0MiBpZD0ic3FsLXN5bnRheC1jb2xsYXRlLWV4cHJzIj4KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgYi9zcmMvYmFja2VuZC9l eGVjdXRvci9leGVjRXhwci5jCmluZGV4IGJkNDZiNzVlNDk4Li4wZTgyNGI2NTVhMSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHIuYworKysgYi9zcmMvYmFja2VuZC9l eGVjdXRvci9leGVjRXhwci5jCkBAIC05OSw2ICs5OSw5IEBAIHN0YXRpYyB2b2lkIEV4ZWNCdWls ZEFnZ1RyYW5zQ2FsbChFeHByU3RhdGUgKnN0YXRlLCBBZ2dTdGF0ZSAqYWdnc3RhdGUsCiBzdGF0 aWMgdm9pZCBFeGVjSW5pdEpzb25FeHByKEpzb25FeHByICpqc2V4cHIsIEV4cHJTdGF0ZSAqc3Rh dGUsCiAJCQkJCQkJIERhdHVtICpyZXN2LCBib29sICpyZXNudWxsLAogCQkJCQkJCSBFeHByRXZh bFN0ZXAgKnNjcmF0Y2gpOworc3RhdGljIHZvaWQgRXhlY0luaXRTYWZlVHlwZUNhc3RFeHByKFNh ZmVUeXBlQ2FzdEV4cHIgKnN0Y2V4cHIsIEV4cHJTdGF0ZSAqc3RhdGUsCisJCQkJCQkJCQkgRGF0 dW0gKnJlc3YsIGJvb2wgKnJlc251bGwsCisJCQkJCQkJCQkgRXhwckV2YWxTdGVwICpzY3JhdGNo KTsKIHN0YXRpYyB2b2lkIEV4ZWNJbml0SnNvbkNvZXJjaW9uKEV4cHJTdGF0ZSAqc3RhdGUsIEpz b25SZXR1cm5pbmcgKnJldHVybmluZywKIAkJCQkJCQkJIEVycm9yU2F2ZUNvbnRleHQgKmVzY29u dGV4dCwgYm9vbCBvbWl0X3F1b3RlcywKIAkJCQkJCQkJIGJvb2wgZXhpc3RzX2NvZXJjZSwKQEAg LTI2Myw2ICsyNjYsNyBAQCBFeGVjSW5pdFF1YWwoTGlzdCAqcXVhbCwgUGxhblN0YXRlICpwYXJl bnQpCiAJc3RhdGUtPmV4cHIgPSAoRXhwciAqKSBxdWFsOwogCXN0YXRlLT5wYXJlbnQgPSBwYXJl bnQ7CiAJc3RhdGUtPmV4dF9wYXJhbXMgPSBOVUxMOworCXN0YXRlLT5lc2NvbnRleHQgPSAoRXJy b3JTYXZlQ29udGV4dCAqKSBlc2NvbnRleHQ7CiAKIAkvKiBtYXJrIGV4cHJlc3Npb24gYXMgdG8g YmUgdXNlZCB3aXRoIEV4ZWNRdWFsKCkgKi8KIAlzdGF0ZS0+ZmxhZ3MgPSBFRU9fRkxBR19JU19R VUFMOwpAQCAtMTczNCw2ICsxNzM4LDcgQEAgRXhlY0luaXRFeHByUmVjKEV4cHIgKm5vZGUsIEV4 cHJTdGF0ZSAqc3RhdGUsCiAKIAkJCQllbGVtc3RhdGUtPmlubmVybW9zdF9jYXNldmFsID0gcGFs bG9jX29iamVjdChEYXR1bSk7CiAJCQkJZWxlbXN0YXRlLT5pbm5lcm1vc3RfY2FzZW51bGwgPSBw YWxsb2Nfb2JqZWN0KGJvb2wpOworCQkJCWVsZW1zdGF0ZS0+ZXNjb250ZXh0ID0gc3RhdGUtPmVz Y29udGV4dDsKIAogCQkJCUV4ZWNJbml0RXhwclJlYyhhY29lcmNlLT5lbGVtZXhwciwgZWxlbXN0 YXRlLAogCQkJCQkJCQkmZWxlbXN0YXRlLT5yZXN2YWx1ZSwgJmVsZW1zdGF0ZS0+cmVzbnVsbCk7 CkBAIC0yMjA5LDYgKzIyMTQsMTUgQEAgRXhlY0luaXRFeHByUmVjKEV4cHIgKm5vZGUsIEV4cHJT dGF0ZSAqc3RhdGUsCiAJCQkJYnJlYWs7CiAJCQl9CiAKKwkJY2FzZSBUX1NhZmVUeXBlQ2FzdEV4 cHI6CisJCQl7CisJCQkJU2FmZVR5cGVDYXN0RXhwciAqc3RjZXhwciA9IGNhc3ROb2RlKFNhZmVU eXBlQ2FzdEV4cHIsIG5vZGUpOworCisJCQkJRXhlY0luaXRTYWZlVHlwZUNhc3RFeHByKHN0Y2V4 cHIsIHN0YXRlLCByZXN2LCByZXNudWxsLCAmc2NyYXRjaCk7CisKKwkJCQlicmVhazsKKwkJCX0K KwogCQljYXNlIFRfQ29hbGVzY2VFeHByOgogCQkJewogCQkJCUNvYWxlc2NlRXhwciAqY29hbGVz Y2UgPSAoQ29hbGVzY2VFeHByICopIG5vZGU7CkBAIC0yNzY5LDcgKzI3ODMsOCBAQCBFeGVjSW5p dEZ1bmMoRXhwckV2YWxTdGVwICpzY3JhdGNoLCBFeHByICpub2RlLCBMaXN0ICphcmdzLCBPaWQg ZnVuY2lkLAogCiAJLyogSW5pdGlhbGl6ZSBmdW5jdGlvbiBjYWxsIHBhcmFtZXRlciBzdHJ1Y3R1 cmUgdG9vICovCiAJSW5pdEZ1bmN0aW9uQ2FsbEluZm9EYXRhKCpmY2luZm8sIGZsaW5mbywKLQkJ CQkJCQkgbmFyZ3MsIGlucHV0Y29sbGlkLCBOVUxMLCBOVUxMKTsKKwkJCQkJCQkgbmFyZ3MsIGlu cHV0Y29sbGlkLAorCQkJCQkJCSAoTm9kZSAqKSBzdGF0ZS0+ZXNjb250ZXh0LCBOVUxMKTsKIAog CS8qIEtlZXAgZXh0cmEgY29waWVzIG9mIHRoaXMgaW5mbyB0byBzYXZlIGFuIGluZGlyZWN0aW9u IGF0IHJ1bnRpbWUgKi8KIAlzY3JhdGNoLT5kLmZ1bmMuZm5fYWRkciA9IGZsaW5mby0+Zm5fYWRk cjsKQEAgLTQ3NjgsNiArNDc4Myw1OCBAQCBFeGVjQnVpbGRQYXJhbVNldEVxdWFsKFR1cGxlRGVz YyBkZXNjLAogCXJldHVybiBzdGF0ZTsKIH0KIAorLyoKKyAqIFB1c2ggc3RlcHMgdG8gZXZhbHVh dGUgYSBTYWZlVHlwZUNhc3RFeHByIGFuZCBpdHMgdmFyaW91cyBzdWJzaWRpYXJ5CisgKiBleHBy ZXNzaW9ucy4KKyAqLworc3RhdGljIHZvaWQKK0V4ZWNJbml0U2FmZVR5cGVDYXN0RXhwcihTYWZl VHlwZUNhc3RFeHByICpzdGNleHByLCBFeHByU3RhdGUgKnN0YXRlLAorCQkJCQkJIERhdHVtICpy ZXN2LCBib29sICpyZXNudWxsLAorCQkJCQkJIEV4cHJFdmFsU3RlcCAqc2NyYXRjaCkKK3sKKwkv KgorCSAqIENvZXJjaW9uIHRvIHRoZSB0YXJnZXQgdHlwZSBmYWlsZWQuIEZhbGxpbmcgYmFjayB0 byB0aGUgREVGQVVMVAorCSAqIGV4cHJlc3Npb24gZnJvbSB0aGUgT04gQ09OVkVSU0lPTiBFUlJP UiBjbGF1c2UgdG8gZmluaXNoLgorCSAqLworCWlmIChzdGNleHByLT5jYXN0ZXhwciA9PSBOVUxM KQorCXsKKwkJRXhlY0luaXRFeHByUmVjKHN0Y2V4cHItPmRlZmV4cHIsIHN0YXRlLCByZXN2LCBy ZXNudWxsKTsKKworCQlyZXR1cm47CisJfQorCWVsc2UKKwl7CisJCVNhZmVUeXBlQ2FzdFN0YXRl ICpzdGNzdGF0ZSA9IHBhbGxvYzBfb2JqZWN0KFNhZmVUeXBlQ2FzdFN0YXRlKTsKKwkJRXJyb3JT YXZlQ29udGV4dCAqc2F2ZWRfZXNjb250ZXh0ID0gc3RhdGUtPmVzY29udGV4dDsKKworCQlzdGNz dGF0ZS0+c3RjZXhwciA9IHN0Y2V4cHI7CisJCXN0Y3N0YXRlLT5lc2NvbnRleHQudHlwZSA9IFRf RXJyb3JTYXZlQ29udGV4dDsKKwkJc3RhdGUtPmVzY29udGV4dCA9ICZzdGNzdGF0ZS0+ZXNjb250 ZXh0OworCisJCS8qIGV2YWx1YXRlIGFyZ3VtZW50IGV4cHJlc3Npb24gaW50byBzdGVwJ3MgcmVz dWx0IGFyZWEgKi8KKwkJRXhlY0luaXRFeHByUmVjKHN0Y2V4cHItPmNhc3RleHByLCBzdGF0ZSwg cmVzdiwgcmVzbnVsbCk7CisJCXNjcmF0Y2gtPm9wY29kZSA9IEVFT1BfU0FGRVRZUEVfQ0FTVDsK KwkJc2NyYXRjaC0+ZC5zdGNleHByLnN0Y3N0YXRlID0gc3Rjc3RhdGU7CisJCUV4cHJFdmFsUHVz aFN0ZXAoc3RhdGUsIHNjcmF0Y2gpOworCisJCS8qCisJCSAqIEV2YWx1YXRlIHRoZSBERUZBVUxU IGV4cHJlc3Npb24sIHNraXBwaW5nIGlmIGl0J3MgYSBiaW5hcnkgY29lcmNpb24KKwkJICogY2Fz dC4gc3RhdGUtPmVzY29udGV4dCBtdXN0IGJlIE5VTEwsIGFzIHRoaXMgZXZhbHVhdGlvbiBzaG91 bGQgbm90CisJCSAqIGJlIGVycm9yLXNhZmUuCisJCSAqLworCQlpZiAoIUlzQShzdGNleHByLT5j YXN0ZXhwciwgUmVsYWJlbFR5cGUpKQorCQl7CisJCQlzdGF0ZS0+ZXNjb250ZXh0ID0gTlVMTDsK KworCQkJRXhlY0luaXRFeHByUmVjKHN0Y3N0YXRlLT5zdGNleHByLT5kZWZleHByLCBzdGF0ZSwg cmVzdiwgcmVzbnVsbCk7CisJCX0KKworCQlzdGF0ZS0+ZXNjb250ZXh0ID0gc2F2ZWRfZXNjb250 ZXh0OworCisJCXN0Y3N0YXRlLT5qdW1wX2VuZCA9IHN0YXRlLT5zdGVwc19sZW47CisJfQorfQor CiAvKgogICogUHVzaCBzdGVwcyB0byBldmFsdWF0ZSBhIEpzb25FeHByIGFuZCBpdHMgdmFyaW91 cyBzdWJzaWRpYXJ5IGV4cHJlc3Npb25zLgogICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9l eGVjdXRvci9leGVjRXhwckludGVycC5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHJJ bnRlcnAuYwppbmRleCA2OWMxN2UwMjRmMi4uN2FjMWU2M2M1MTAgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHBySW50ZXJwLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0 b3IvZXhlY0V4cHJJbnRlcnAuYwpAQCAtNTY4LDYgKzU2OCw3IEBAIEV4ZWNJbnRlcnBFeHByKEV4 cHJTdGF0ZSAqc3RhdGUsIEV4cHJDb250ZXh0ICplY29udGV4dCwgYm9vbCAqaXNudWxsKQogCQkm JkNBU0VfRUVPUF9YTUxFWFBSLAogCQkmJkNBU0VfRUVPUF9KU09OX0NPTlNUUlVDVE9SLAogCQkm JkNBU0VfRUVPUF9JU19KU09OLAorCQkmJkNBU0VfRUVPUF9TQUZFVFlQRV9DQVNULAogCQkmJkNB U0VfRUVPUF9KU09ORVhQUl9QQVRILAogCQkmJkNBU0VfRUVPUF9KU09ORVhQUl9DT0VSQ0lPTiwK IAkJJiZDQVNFX0VFT1BfSlNPTkVYUFJfQ09FUkNJT05fRklOSVNILApAQCAtMTkyNiw2ICsxOTI3 LDI4IEBAIEV4ZWNJbnRlcnBFeHByKEV4cHJTdGF0ZSAqc3RhdGUsIEV4cHJDb250ZXh0ICplY29u dGV4dCwgYm9vbCAqaXNudWxsKQogCQkJRUVPX05FWFQoKTsKIAkJfQogCisJCUVFT19DQVNFKEVF T1BfU0FGRVRZUEVfQ0FTVCkKKwkJeworCQkJU2FmZVR5cGVDYXN0U3RhdGUgKnN0Y3N0YXRlID0g b3AtPmQuc3RjZXhwci5zdGNzdGF0ZTsKKworCQkJaWYgKCFTT0ZUX0VSUk9SX09DQ1VSUkVEKCZz dGNzdGF0ZS0+ZXNjb250ZXh0KSkKKwkJCQlFRU9fSlVNUChzdGNzdGF0ZS0+anVtcF9lbmQpOwor CQkJZWxzZQorCQkJeworCQkJCSpvcC0+cmVzdmFsdWUgPSAoRGF0dW0pIDA7CisJCQkJKm9wLT5y ZXNudWxsID0gdHJ1ZTsKKworCQkJCS8qCisJCQkJICogUmVzZXQgZm9yIG5leHQgdXNlIHN1Y2gg YXMgZm9yIGNhdGNoaW5nIGVycm9ycyB3aGVuCisJCQkJICogY29lcmNpbmcgYSBleHByZXNzaW9u LgorCQkJCSAqLworCQkJCXN0Y3N0YXRlLT5lc2NvbnRleHQuZXJyb3Jfb2NjdXJyZWQgPSBmYWxz ZTsKKwkJCQlzdGNzdGF0ZS0+ZXNjb250ZXh0LmRldGFpbHNfd2FudGVkID0gZmFsc2U7CisKKwkJ CQlFRU9fTkVYVCgpOworCQkJfQorCQl9CisKIAkJRUVPX0NBU0UoRUVPUF9KU09ORVhQUl9QQVRI KQogCQl7CiAJCQkvKiB0b28gY29tcGxleCBmb3IgYW4gaW5saW5lIGltcGxlbWVudGF0aW9uICov CkBAIC0zNjQ0LDYgKzM2NjcsMTIgQEAgRXhlY0V2YWxBcnJheUNvZXJjZShFeHByU3RhdGUgKnN0 YXRlLCBFeHByRXZhbFN0ZXAgKm9wLCBFeHByQ29udGV4dCAqZWNvbnRleHQpCiAJCQkJCQkJICBl Y29udGV4dCwKIAkJCQkJCQkgIG9wLT5kLmFycmF5Y29lcmNlLnJlc3VsdGVsZW10eXBlLAogCQkJ CQkJCSAgb3AtPmQuYXJyYXljb2VyY2UuYW1zdGF0ZSk7CisKKwlpZiAoU09GVF9FUlJPUl9PQ0NV UlJFRChvcC0+ZC5hcnJheWNvZXJjZS5lbGVtZXhwcnN0YXRlLT5lc2NvbnRleHQpKQorCXsKKwkJ Km9wLT5yZXN2YWx1ZSA9IChEYXR1bSkgMDsKKwkJKm9wLT5yZXNudWxsID0gdHJ1ZTsKKwl9CiB9 CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9qaXQvbGx2bS9sbHZtaml0X2V4cHIuYyBi L3NyYy9iYWNrZW5kL2ppdC9sbHZtL2xsdm1qaXRfZXhwci5jCmluZGV4IDY1MGYxZDQyYTkzLi5h ZDRiNzRiMWFjOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdF9leHBy LmMKKysrIGIvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdF9leHByLmMKQEAgLTIyNTYsNiAr MjI1NiwzMyBAQCBsbHZtX2NvbXBpbGVfZXhwcihFeHByU3RhdGUgKnN0YXRlKQogCQkJCUxMVk1C dWlsZEJyKGIsIG9wYmxvY2tzW29wbm8gKyAxXSk7CiAJCQkJYnJlYWs7CiAKKwkJCWNhc2UgRUVP UF9TQUZFVFlQRV9DQVNUOgorCQkJCXsKKwkJCQkJU2FmZVR5cGVDYXN0U3RhdGUgKnN0Y3N0YXRl ID0gb3AtPmQuc3RjZXhwci5zdGNzdGF0ZTsKKworCQkJCQlpZiAoIVNPRlRfRVJST1JfT0NDVVJS RUQoJnN0Y3N0YXRlLT5lc2NvbnRleHQpKQorCQkJCQkJTExWTUJ1aWxkQnIoYiwgb3BibG9ja3Nb c3Rjc3RhdGUtPmp1bXBfZW5kXSk7CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJLyoKKwkJCQkJ CSAqIFJlc2V0IGZvciBuZXh0IHVzZSBzdWNoIGFzIGZvciBjYXRjaGluZyBlcnJvcnMgd2hlbgor CQkJCQkJICogY29lcmNpbmcgYSBleHByZXNzaW9uLgorCQkJCQkJICovCisJCQkJCQlzdGNzdGF0 ZS0+ZXNjb250ZXh0LmVycm9yX29jY3VycmVkID0gZmFsc2U7CisJCQkJCQlzdGNzdGF0ZS0+ZXNj b250ZXh0LmRldGFpbHNfd2FudGVkID0gZmFsc2U7CisKKwkJCQkJCS8qIHNldCByZXNudWxsIHRv IHRydWUgKi8KKwkJCQkJCUxMVk1CdWlsZFN0b3JlKGIsIGxfc2Jvb2xfY29uc3QoMSksIHZfcmVz bnVsbHApOworCisJCQkJCQkvKiByZXNldCByZXN2YWx1ZSAqLworCQkJCQkJTExWTUJ1aWxkU3Rv cmUoYiwgbF9kYXR1bV9jb25zdCgwKSwgdl9yZXN2YWx1ZXApOworCisJCQkJCQlMTFZNQnVpbGRC cihiLCBvcGJsb2Nrc1tvcG5vICsgMV0pOworCQkJCQl9CisKKwkJCQkJYnJlYWs7CisJCQkJfQor CiAJCQljYXNlIEVFT1BfSlNPTkVYUFJfUEFUSDoKIAkJCQl7CiAJCQkJCUpzb25FeHByU3RhdGUg KmpzZXN0YXRlID0gb3AtPmQuanNvbmV4cHIuanNlc3RhdGU7CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCmlu ZGV4IDE5OWVkMjc5OTVmLi40ZjM4ZGZhMGMzMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9k ZXMvbm9kZUZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKQEAgLTIw Niw2ICsyMDYsOSBAQCBleHByVHlwZShjb25zdCBOb2RlICpleHByKQogCQljYXNlIFRfUm93Q29t cGFyZUV4cHI6CiAJCQl0eXBlID0gQk9PTE9JRDsKIAkJCWJyZWFrOworCQljYXNlIFRfU2FmZVR5 cGVDYXN0RXhwcjoKKwkJCXR5cGUgPSAoKGNvbnN0IFNhZmVUeXBlQ2FzdEV4cHIgKikgZXhwcikt PnJlc3VsdHR5cGU7CisJCQlicmVhazsKIAkJY2FzZSBUX0NvYWxlc2NlRXhwcjoKIAkJCXR5cGUg PSAoKGNvbnN0IENvYWxlc2NlRXhwciAqKSBleHByKS0+Y29hbGVzY2V0eXBlOwogCQkJYnJlYWs7 CkBAIC00NTAsNiArNDUzLDggQEAgZXhwclR5cG1vZChjb25zdCBOb2RlICpleHByKQogCQkJCXJl dHVybiB0eXBtb2Q7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX1NhZmVUeXBlQ2FzdEV4cHI6 CisJCQlyZXR1cm4gKChjb25zdCBTYWZlVHlwZUNhc3RFeHByICopIGV4cHIpLT5yZXN1bHR0eXBt b2Q7CiAJCWNhc2UgVF9Db2FsZXNjZUV4cHI6CiAJCQl7CiAJCQkJLyoKQEAgLTk2NSw2ICs5NzAs OSBAQCBleHByQ29sbGF0aW9uKGNvbnN0IE5vZGUgKmV4cHIpCiAJCQkvKiBSb3dDb21wYXJlRXhw cidzIHJlc3VsdCBpcyBib29sZWFuIC4uLiAqLwogCQkJY29sbCA9IEludmFsaWRPaWQ7CS8qIC4u LiBzbyBpdCBoYXMgbm8gY29sbGF0aW9uICovCiAJCQlicmVhazsKKwkJY2FzZSBUX1NhZmVUeXBl Q2FzdEV4cHI6CisJCQljb2xsID0gKChjb25zdCBTYWZlVHlwZUNhc3RFeHByICopIGV4cHIpLT5y ZXN1bHRjb2xsaWQ7CisJCQlicmVhazsKIAkJY2FzZSBUX0NvYWxlc2NlRXhwcjoKIAkJCWNvbGwg PSAoKGNvbnN0IENvYWxlc2NlRXhwciAqKSBleHByKS0+Y29hbGVzY2Vjb2xsaWQ7CiAJCQlicmVh azsKQEAgLTEyMzIsNiArMTI0MCw5IEBAIGV4cHJTZXRDb2xsYXRpb24oTm9kZSAqZXhwciwgT2lk IGNvbGxhdGlvbikKIAkJCS8qIFJvd0NvbXBhcmVFeHByJ3MgcmVzdWx0IGlzIGJvb2xlYW4gLi4u ICovCiAJCQlBc3NlcnQoIU9pZElzVmFsaWQoY29sbGF0aW9uKSk7IC8qIC4uLiBzbyBuZXZlciBz ZXQgYSBjb2xsYXRpb24gKi8KIAkJCWJyZWFrOworCQljYXNlIFRfU2FmZVR5cGVDYXN0RXhwcjoK KwkJCSgoU2FmZVR5cGVDYXN0RXhwciAqKSBleHByKS0+cmVzdWx0Y29sbGlkID0gY29sbGF0aW9u OworCQkJYnJlYWs7CiAJCWNhc2UgVF9Db2FsZXNjZUV4cHI6CiAJCQkoKENvYWxlc2NlRXhwciAq KSBleHByKS0+Y29hbGVzY2Vjb2xsaWQgPSBjb2xsYXRpb247CiAJCQlicmVhazsKQEAgLTE1NTAs NiArMTU2MSw5IEBAIGV4cHJMb2NhdGlvbihjb25zdCBOb2RlICpleHByKQogCQkJLyoganVzdCB1 c2UgbGVmdG1vc3QgYXJndW1lbnQncyBsb2NhdGlvbiAqLwogCQkJbG9jID0gZXhwckxvY2F0aW9u KChOb2RlICopICgoY29uc3QgUm93Q29tcGFyZUV4cHIgKikgZXhwciktPmxhcmdzKTsKIAkJCWJy ZWFrOworCQljYXNlIFRfU2FmZVR5cGVDYXN0RXhwcjoKKwkJCWxvYyA9ICgoY29uc3QgU2FmZVR5 cGVDYXN0RXhwciAqKSBleHByKS0+bG9jYXRpb247CisJCQlicmVhazsKIAkJY2FzZSBUX0NvYWxl c2NlRXhwcjoKIAkJCS8qIENPQUxFU0NFIGtleXdvcmQgc2hvdWxkIGFsd2F5cyBiZSB0aGUgZmly c3QgdGhpbmcgKi8KIAkJCWxvYyA9ICgoY29uc3QgQ29hbGVzY2VFeHByICopIGV4cHIpLT5sb2Nh dGlvbjsKQEAgLTIzMjQsNiArMjMzOCwxOCBAQCBleHByZXNzaW9uX3RyZWVfd2Fsa2VyX2ltcGwo Tm9kZSAqbm9kZSwKIAkJCQkJcmV0dXJuIHRydWU7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBU X1NhZmVUeXBlQ2FzdEV4cHI6CisJCQl7CisJCQkJU2FmZVR5cGVDYXN0RXhwciAqc3RjZXhwciA9 IGNhc3ROb2RlKFNhZmVUeXBlQ2FzdEV4cHIsIG5vZGUpOworCisJCQkJaWYgKFdBTEsoc3RjZXhw ci0+c291cmNlKSkKKwkJCQkJcmV0dXJuIHRydWU7CisJCQkJaWYgKFdBTEsoc3RjZXhwci0+Y2Fz dGV4cHIpKQorCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCQlpZiAoV0FMSyhzdGNleHByLT5kZWZleHBy KSkKKwkJCQkJcmV0dXJuIHRydWU7CisJCQl9CisJCQlicmVhazsKIAkJY2FzZSBUX0NvYWxlc2Nl RXhwcjoKIAkJCXJldHVybiBXQUxLKCgoQ29hbGVzY2VFeHByICopIG5vZGUpLT5hcmdzKTsKIAkJ Y2FzZSBUX01pbk1heEV4cHI6CkBAIC0zMzMzLDYgKzMzNTksMTkgQEAgZXhwcmVzc2lvbl90cmVl X211dGF0b3JfaW1wbChOb2RlICpub2RlLAogCQkJCXJldHVybiAoTm9kZSAqKSBuZXdub2RlOwog CQkJfQogCQkJYnJlYWs7CisJCWNhc2UgVF9TYWZlVHlwZUNhc3RFeHByOgorCQkJeworCQkJCVNh ZmVUeXBlQ2FzdEV4cHIgKnN0Y2V4cHIgPSBjYXN0Tm9kZShTYWZlVHlwZUNhc3RFeHByLCBub2Rl KTsKKwkJCQlTYWZlVHlwZUNhc3RFeHByICpuZXdub2RlOworCisJCQkJRkxBVENPUFkobmV3bm9k ZSwgc3RjZXhwciwgU2FmZVR5cGVDYXN0RXhwcik7CisJCQkJTVVUQVRFKG5ld25vZGUtPnNvdXJj ZSwgc3RjZXhwci0+c291cmNlLCBFeHByICopOworCQkJCU1VVEFURShuZXdub2RlLT5jYXN0ZXhw ciwgc3RjZXhwci0+Y2FzdGV4cHIsIEV4cHIgKik7CisJCQkJTVVUQVRFKG5ld25vZGUtPmRlZmV4 cHIsIHN0Y2V4cHItPmRlZmV4cHIsIEV4cHIgKik7CisKKwkJCQlyZXR1cm4gKE5vZGUgKikgbmV3 bm9kZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNlIFRfQ29hbGVzY2VFeHByOgogCQkJewogCQkJ CUNvYWxlc2NlRXhwciAqY29hbGVzY2VleHByID0gKENvYWxlc2NlRXhwciAqKSBub2RlOwpAQCAt NDQ2NSw2ICs0NTA0LDIwIEBAIHJhd19leHByZXNzaW9uX3RyZWVfd2Fsa2VyX2ltcGwoTm9kZSAq bm9kZSwKIAkJCQkJcmV0dXJuIHRydWU7CiAJCQkJaWYgKFdBTEsodGMtPnR5cGVOYW1lKSkKIAkJ CQkJcmV0dXJuIHRydWU7CisJCQkJaWYgKFdBTEsodGMtPmRlZmV4cHIpKQorCQkJCQlyZXR1cm4g dHJ1ZTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIFRfU2FmZVR5cGVDYXN0RXhwcjoKKwkJCXsK KwkJCQlTYWZlVHlwZUNhc3RFeHByICpzdGNleHByID0gY2FzdE5vZGUoU2FmZVR5cGVDYXN0RXhw ciwgbm9kZSk7CisKKwkJCQlpZiAoV0FMSyhzdGNleHByLT5zb3VyY2UpKQorCQkJCQlyZXR1cm4g dHJ1ZTsKKwkJCQlpZiAoV0FMSyhzdGNleHByLT5jYXN0ZXhwcikpCisJCQkJCXJldHVybiB0cnVl OworCQkJCWlmIChXQUxLKHN0Y2V4cHItPmRlZmV4cHIpKQorCQkJCQlyZXR1cm4gdHJ1ZTsKIAkJ CX0KIAkJCWJyZWFrOwogCQljYXNlIFRfQ29sbGF0ZUNsYXVzZToKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91 dGlsL2NsYXVzZXMuYwppbmRleCA5ZmIyNjZkMDg5ZC4uZTJiNDIxOGVkYzYgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYworKysgYi9zcmMvYmFja2VuZC9v cHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMKQEAgLTI2NzUsNyArMjY3NSw4IEBAIGVzdGltYXRlX2V4 cHJlc3Npb25fdmFsdWUoUGxhbm5lckluZm8gKnJvb3QsIE5vZGUgKm5vZGUpCiAJKChOb2RlICop IGV2YWx1YXRlX2V4cHIoKEV4cHIgKikgKG5vZGUpLCBcCiAJCQkJCQkJZXhwclR5cGUoKE5vZGUg KikgKG5vZGUpKSwgXAogCQkJCQkJCWV4cHJUeXBtb2QoKE5vZGUgKikgKG5vZGUpKSwgXAotCQkJ CQkJCWV4cHJDb2xsYXRpb24oKE5vZGUgKikgKG5vZGUpKSkpCisJCQkJCQkJZXhwckNvbGxhdGlv bigoTm9kZSAqKSAobm9kZSkpLCBcCisJCQkJCQkJTlVMTCkpCiAKIC8qCiAgKiBSZWN1cnNpdmUg Z3V0cyBvZiBldmFsX2NvbnN0X2V4cHJlc3Npb25zL2VzdGltYXRlX2V4cHJlc3Npb25fdmFsdWUK QEAgLTMyNjcsNiArMzI2OCwzNiBAQCBldmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3IoTm9k ZSAqbm9kZSwKIAkJCQkJCQkJCQkJCSAgY29weU9iamVjdChqdmUtPmZvcm1hdCkpOwogCQkJfQog CisJCWNhc2UgVF9TYWZlVHlwZUNhc3RFeHByOgorCQkJeworCQkJCVNhZmVUeXBlQ2FzdEV4cHIg Km5ld2V4cHI7CisKKwkJCQlTYWZlVHlwZUNhc3RFeHByICpzdGMgPSBjYXN0Tm9kZShTYWZlVHlw ZUNhc3RFeHByLCBub2RlKTsKKworCQkJCU5vZGUJICAgKnNvdXJjZSA9IChOb2RlICopIHN0Yy0+ c291cmNlOworCQkJCU5vZGUJICAgKmRlZmV4cHIgPSAoTm9kZSAqKSBzdGMtPmRlZmV4cHI7CisK KwkJCQlzb3VyY2UgPSBldmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3Ioc291cmNlLAorCQkJ CQkJCQkJCQkJCQljb250ZXh0KTsKKwkJCQlkZWZleHByID0gZXZhbF9jb25zdF9leHByZXNzaW9u c19tdXRhdG9yKGRlZmV4cHIsCisJCQkJCQkJCQkJCQkJCSBjb250ZXh0KTsKKworCQkJCS8qCisJ CQkJICogRGVmZXIgY29uc3RhbnQgZm9sZGluZyBmb3IgY2FzdGV4cHIuIEV2YWx1YXRpbmcKKwkJ CQkgKiByZWNvZ25pemFibGUgY29uc3RhbnRzIGF0IHRoaXMgc3RhZ2UgaXMgbm90IGVycm9yLXNh ZmUgYW5kCisJCQkJICogbWF5IGxlYWQgdG8gcHJlbWF0dXJlIGVycm9ycy4KKwkJCQkgKi8KKwkJ CQluZXdleHByID0gbWFrZU5vZGUoU2FmZVR5cGVDYXN0RXhwcik7CisJCQkJbmV3ZXhwci0+c291 cmNlID0gKEV4cHIgKikgc291cmNlOworCQkJCW5ld2V4cHItPmNhc3RleHByID0gKEV4cHIgKikg c3RjLT5jYXN0ZXhwcjsKKwkJCQluZXdleHByLT5kZWZleHByID0gKEV4cHIgKikgZGVmZXhwcjsK KwkJCQluZXdleHByLT5yZXN1bHR0eXBlID0gc3RjLT5yZXN1bHR0eXBlOworCQkJCW5ld2V4cHIt PnJlc3VsdHR5cG1vZCA9IHN0Yy0+cmVzdWx0dHlwbW9kOworCQkJCW5ld2V4cHItPnJlc3VsdGNv bGxpZCA9IHN0Yy0+cmVzdWx0Y29sbGlkOworCisJCQkJcmV0dXJuIChOb2RlICopIG5ld2V4cHI7 CisJCQl9CisKIAkJY2FzZSBUX1N1YlBsYW46CiAJCWNhc2UgVF9BbHRlcm5hdGl2ZVN1YlBsYW46 CiAKQEAgLTM2OTgsNyArMzcyOSw4IEBAIGV2YWxfY29uc3RfZXhwcmVzc2lvbnNfbXV0YXRvcihO b2RlICpub2RlLAogCQkJCQlyZXR1cm4gKE5vZGUgKikgZXZhbHVhdGVfZXhwcigoRXhwciAqKSBz dmYsCiAJCQkJCQkJCQkJCQkgIHN2Zi0+dHlwZSwKIAkJCQkJCQkJCQkJCSAgc3ZmLT50eXBtb2Qs Ci0JCQkJCQkJCQkJCQkgIEludmFsaWRPaWQpOworCQkJCQkJCQkJCQkJICBJbnZhbGlkT2lkLAor CQkJCQkJCQkJCQkJICBOVUxMKTsKIAkJCQllbHNlCiAJCQkJCXJldHVybiBjb3B5T2JqZWN0KChO b2RlICopIHN2Zik7CiAJCQl9CkBAIC01MjI5LDcgKzUyNjEsNyBAQCBldmFsdWF0ZV9mdW5jdGlv bihPaWQgZnVuY2lkLCBPaWQgcmVzdWx0X3R5cGUsIGludDMyIHJlc3VsdF90eXBtb2QsCiAJbmV3 ZXhwci0+bG9jYXRpb24gPSAtMTsKIAogCXJldHVybiBldmFsdWF0ZV9leHByKChFeHByICopIG5l d2V4cHIsIHJlc3VsdF90eXBlLCByZXN1bHRfdHlwbW9kLAotCQkJCQkJIHJlc3VsdF9jb2xsaWQp OworCQkJCQkJIHJlc3VsdF9jb2xsaWQsIE5VTEwpOwogfQogCiAvKgpAQCAtNTY4MywxMCArNTcx NSwxMyBAQCBzcWxfaW5saW5lX2Vycm9yX2NhbGxiYWNrKHZvaWQgKmFyZykKICAqCiAgKiBXZSB1 c2UgdGhlIGV4ZWN1dG9yJ3Mgcm91dGluZSBFeGVjRXZhbEV4cHIoKSB0byBhdm9pZCBkdXBsaWNh dGlvbiBvZgogICogY29kZSBhbmQgZW5zdXJlIHdlIGdldCB0aGUgc2FtZSByZXN1bHQgYXMgdGhl IGV4ZWN1dG9yIHdvdWxkIGdldC4KKyAqCisgKiBXaGVuIGVzY29udGV4dCBpcyBub24tTlVMTCwg c2FmZWx5IGV2YWx1YXRlcyB0aGUgY29uc3RhbnQgZXhwcmVzc2lvbi4KKyAqIFJldHVybnMgTlVM TCBvbiBmYWlsdXJlIHJhdGhlciB0aGFuIHRocm93aW5nIGFuIGVycm9yLgogICovCiBFeHByICoK IGV2YWx1YXRlX2V4cHIoRXhwciAqZXhwciwgT2lkIHJlc3VsdF90eXBlLCBpbnQzMiByZXN1bHRf dHlwbW9kLAotCQkJICBPaWQgcmVzdWx0X2NvbGxhdGlvbikKKwkJCSAgT2lkIHJlc3VsdF9jb2xs YXRpb24sIE5vZGUgKmVzY29udGV4dCkKIHsKIAlFU3RhdGUJICAgKmVzdGF0ZTsKIAlFeHByU3Rh dGUgICpleHByc3RhdGU7CkBAIC01NzExLDcgKzU3NDYsNyBAQCBldmFsdWF0ZV9leHByKEV4cHIg KmV4cHIsIE9pZCByZXN1bHRfdHlwZSwgaW50MzIgcmVzdWx0X3R5cG1vZCwKIAkgKiBQcmVwYXJl IGV4cHIgZm9yIGV4ZWN1dGlvbi4gIChOb3RlOiB3ZSBjYW4ndCB1c2UgRXhlY1ByZXBhcmVFeHBy CiAJICogYmVjYXVzZSBpdCdkIHJlc3VsdCBpbiByZWN1cnNpdmVseSBpbnZva2luZyBldmFsX2Nv bnN0X2V4cHJlc3Npb25zLikKIAkgKi8KLQlleHByc3RhdGUgPSBFeGVjSW5pdEV4cHIoZXhwciwg TlVMTCk7CisJZXhwcnN0YXRlID0gRXhlY0luaXRFeHByV2l0aENvbnRleHQoZXhwciwgTlVMTCwg ZXNjb250ZXh0KTsKIAogCS8qCiAJICogQW5kIGV2YWx1YXRlIGl0LgpAQCAtNTczMSw2ICs1NzY2 LDEzIEBAIGV2YWx1YXRlX2V4cHIoRXhwciAqZXhwciwgT2lkIHJlc3VsdF90eXBlLCBpbnQzMiBy ZXN1bHRfdHlwbW9kLAogCS8qIEdldCBiYWNrIHRvIG91dGVyIG1lbW9yeSBjb250ZXh0ICovCiAJ TWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGNvbnRleHQpOwogCisJaWYgKFNPRlRfRVJST1JfT0ND VVJSRUQoZXhwcnN0YXRlLT5lc2NvbnRleHQpKQorCXsKKwkJRnJlZUV4ZWN1dG9yU3RhdGUoZXN0 YXRlKTsKKworCQlyZXR1cm4gTlVMTDsKKwl9CisKIAkvKgogCSAqIE11c3QgY29weSByZXN1bHQg b3V0IG9mIHN1Yi1jb250ZXh0IHVzZWQgYnkgZXhwcmVzc2lvbiBldmFsLgogCSAqCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eQppbmRleCBmMDFmNTczNGZlOS4uNzYxMmI4ODRhZTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMTU4LDYg KzE1OCw4IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVJhd1N0bXRFbmQoUmF3U3RtdCAqcnMsIGludCBl bmRfbG9jYXRpb24pOwogc3RhdGljIE5vZGUgKm1ha2VDb2x1bW5SZWYoY2hhciAqY29sbmFtZSwg TGlzdCAqaW5kaXJlY3Rpb24sCiAJCQkJCQkgICBpbnQgbG9jYXRpb24sIGNvcmVfeXlzY2FuX3Qg eXlzY2FubmVyKTsKIHN0YXRpYyBOb2RlICptYWtlVHlwZUNhc3QoTm9kZSAqYXJnLCBUeXBlTmFt ZSAqdHlwZW5hbWUsIGludCBsb2NhdGlvbik7CitzdGF0aWMgTm9kZSAqbWFrZVR5cGVDYXN0V2l0 aERlZmF1bHQoTm9kZSAqYXJnLCBUeXBlTmFtZSAqdHlwZW5hbWUsCisJCQkJCQkJCQkgTm9kZSAq cmF3X2RlZmF1bHQsIGludCBsb2NhdGlvbik7CiBzdGF0aWMgTm9kZSAqbWFrZVN0cmluZ0NvbnN0 Q2FzdChjaGFyICpzdHIsIGludCBsb2NhdGlvbiwgVHlwZU5hbWUgKnR5cGVuYW1lKTsKIHN0YXRp YyBOb2RlICptYWtlSW50Q29uc3QoaW50IHZhbCwgaW50IGxvY2F0aW9uKTsKIHN0YXRpYyBOb2Rl ICptYWtlRmxvYXRDb25zdChjaGFyICpzdHIsIGludCBsb2NhdGlvbik7CkBAIC0xNjE5MSw2ICsx NjE5MywxMiBAQCBmdW5jX2V4cHJfY29tbW9uX3N1YmV4cHI6CiAJCQkJfQogCQkJfCBDQVNUICco JyBhX2V4cHIgQVMgVHlwZW5hbWUgJyknCiAJCQkJeyAkJCA9IG1ha2VUeXBlQ2FzdCgkMywgJDUs IEAxKTsgfQorCQkJfCBDQVNUICcoJyBhX2V4cHIgQVMgVHlwZW5hbWUgRVJST1JfUCBPTiBDT05W RVJTSU9OX1AgRVJST1JfUCAnKScKKwkJCQl7ICQkID0gbWFrZVR5cGVDYXN0KCQzLCAkNSwgQDEp OyB9CisJCQl8IENBU1QgJygnIGFfZXhwciBBUyBUeXBlbmFtZSBOVUxMX1AgT04gQ09OVkVSU0lP Tl9QIEVSUk9SX1AgJyknCisJCQkJeyAkJCA9IG1ha2VUeXBlQ2FzdFdpdGhEZWZhdWx0KCQzLCAk NSwgbWFrZU51bGxBQ29uc3QoLTEpLCBAMSk7IH0KKwkJCXwgQ0FTVCAnKCcgYV9leHByIEFTIFR5 cGVuYW1lIERFRkFVTFQgYV9leHByIE9OIENPTlZFUlNJT05fUCBFUlJPUl9QICcpJworCQkJCXsg JCQgPSBtYWtlVHlwZUNhc3RXaXRoRGVmYXVsdCgkMywgJDUsICQ3LCBAMSk7IH0KIAkJCXwgRVhU UkFDVCAnKCcgZXh0cmFjdF9saXN0ICcpJwogCQkJCXsKIAkJCQkJJCQgPSAoTm9kZSAqKSBtYWtl RnVuY0NhbGwoU3lzdGVtRnVuY05hbWUoImV4dHJhY3QiKSwKQEAgLTE5MTI0LDEwICsxOTEzMiwy NSBAQCBtYWtlVHlwZUNhc3QoTm9kZSAqYXJnLCBUeXBlTmFtZSAqdHlwZW5hbWUsIGludCBsb2Nh dGlvbikKIAogCW4tPmFyZyA9IGFyZzsKIAluLT50eXBlTmFtZSA9IHR5cGVuYW1lOworCW4tPmRl ZmV4cHIgPSBOVUxMOwogCW4tPmxvY2F0aW9uID0gbG9jYXRpb247CiAJcmV0dXJuIChOb2RlICop IG47CiB9CiAKK3N0YXRpYyBOb2RlICoKK21ha2VUeXBlQ2FzdFdpdGhEZWZhdWx0KE5vZGUgKmFy ZywgVHlwZU5hbWUgKnR5cGVuYW1lLCBOb2RlICpkZWZleHByLAorCQkJCQkJaW50IGxvY2F0aW9u KQoreworCVR5cGVDYXN0ICAgKm4gPSBtYWtlTm9kZShUeXBlQ2FzdCk7CisKKwluLT5hcmcgPSBh cmc7CisJbi0+dHlwZU5hbWUgPSB0eXBlbmFtZTsKKwluLT5kZWZleHByID0gZGVmZXhwcjsKKwlu LT5sb2NhdGlvbiA9IGxvY2F0aW9uOworCisJcmV0dXJuIChOb2RlICopIG47Cit9CisKIHN0YXRp YyBOb2RlICoKIG1ha2VTdHJpbmdDb25zdENhc3QoY2hhciAqc3RyLCBpbnQgbG9jYXRpb24sIFR5 cGVOYW1lICp0eXBlbmFtZSkKIHsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV9hZ2cuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwppbmRleCAzM2ZkMmNjY2Fl NS4uYTE4ZDIwZGJmZGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKQEAgLTQ5MSw2ICs0OTEsMTIg QEAgY2hlY2tfYWdnbGV2ZWxzX2FuZF9jb25zdHJhaW50cyhQYXJzZVN0YXRlICpwc3RhdGUsIE5v ZGUgKmV4cHIpCiAJCQkJZXJyID0gXygiZ3JvdXBpbmcgb3BlcmF0aW9ucyBhcmUgbm90IGFsbG93 ZWQgaW4gY2hlY2sgY29uc3RyYWludHMiKTsKIAogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5E X0NBU1RfREVGQVVMVDoKKwkJCWlmIChpc0FnZykKKwkJCQllcnIgPSBfKCJhZ2dyZWdhdGUgZnVu Y3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBDQVNUIERFRkFVTFQgZXhwcmVzc2lvbnMiKTsKKwkJ CWVsc2UKKwkJCQllcnIgPSBfKCJncm91cGluZyBvcGVyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBp biBDQVNUIERFRkFVTFQgZXhwcmVzc2lvbnMiKTsKKwkJCWJyZWFrOwogCQljYXNlIEVYUFJfS0lO RF9DT0xVTU5fREVGQVVMVDoKIAkJY2FzZSBFWFBSX0tJTkRfRlVOQ1RJT05fREVGQVVMVDoKIApA QCAtOTg0LDYgKzk5MCw5IEBAIHRyYW5zZm9ybVdpbmRvd0Z1bmNDYWxsKFBhcnNlU3RhdGUgKnBz dGF0ZSwgV2luZG93RnVuYyAqd2Z1bmMsCiAJCWNhc2UgRVhQUl9LSU5EX0RPTUFJTl9DSEVDSzoK IAkJCWVyciA9IF8oIndpbmRvdyBmdW5jdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIGNoZWNrIGNv bnN0cmFpbnRzIik7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfQ0FTVF9ERUZBVUxUOgor CQkJZXJyID0gXygid2luZG93IGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQ0FTVCBERUZB VUxUIGV4cHJlc3Npb25zIik7CisJCQlicmVhazsKIAkJY2FzZSBFWFBSX0tJTkRfQ09MVU1OX0RF RkFVTFQ6CiAJCWNhc2UgRVhQUl9LSU5EX0ZVTkNUSU9OX0RFRkFVTFQ6CiAJCQllcnIgPSBfKCJ3 aW5kb3cgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBERUZBVUxUIGV4cHJlc3Npb25zIik7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29lcmNlLmMgYi9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfY29lcmNlLmMKaW5kZXggOTEzY2E1MzY2NmYuLjAxMjY0ZDVlMGNi IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29lcmNlLmMKKysrIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2NvZXJjZS5jCkBAIC04MSw2ICs4MSwyOCBAQCBjb2VyY2Vf dG9fdGFyZ2V0X3R5cGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByLCBPaWQgZXhwcnR5 cGUsCiAJCQkJCSAgQ29lcmNpb25Db250ZXh0IGNjb250ZXh0LAogCQkJCQkgIENvZXJjaW9uRm9y bSBjZm9ybWF0LAogCQkJCQkgIGludCBsb2NhdGlvbikKK3sKKwlyZXR1cm4gY29lcmNlX3RvX3Rh cmdldF90eXBlX2V4dGVuZGVkKHBzdGF0ZSwgZXhwciwgZXhwcnR5cGUsCisJCQkJCQkJCQkJICB0 YXJnZXR0eXBlLCB0YXJnZXR0eXBtb2QsCisJCQkJCQkJCQkJICBjY29udGV4dCwKKwkJCQkJCQkJ CQkgIGNmb3JtYXQsCisJCQkJCQkJCQkJICBsb2NhdGlvbiwKKwkJCQkJCQkJCQkgIE5VTEwpOwor fQorCisvKgorICogZXNjb250ZXh0OiBJZiBub24tTlVMTCwgc2FmZWx5IGNvZXJjZXMgJ2V4cHIn IHRvIHRoZSB0YXJnZXQgdHlwZQorICogd2l0aG91dCByYWlzaW5nIGFuIGVycm9yLiBSZXR1cm5z IE5VTEwgaWYgdGhlIGNvZXJjaW9uIGZhaWxzLgorICoKKyAqIFNlZSAnY29lcmNlX3RvX3Rhcmdl dF90eXBlJyBhYm92ZSBmb3IgZGV0YWlscyBvbiBvdGhlciBwYXJhbWV0ZXJzLgorICovCitOb2Rl ICoKK2NvZXJjZV90b190YXJnZXRfdHlwZV9leHRlbmRlZChQYXJzZVN0YXRlICpwc3RhdGUsIE5v ZGUgKmV4cHIsIE9pZCBleHBydHlwZSwKKwkJCQkJCQkgICBPaWQgdGFyZ2V0dHlwZSwgaW50MzIg dGFyZ2V0dHlwbW9kLAorCQkJCQkJCSAgIENvZXJjaW9uQ29udGV4dCBjY29udGV4dCwKKwkJCQkJ CQkgICBDb2VyY2lvbkZvcm0gY2Zvcm1hdCwKKwkJCQkJCQkgICBpbnQgbG9jYXRpb24sCisJCQkJ CQkJICAgTm9kZSAqZXNjb250ZXh0KQogewogCU5vZGUJICAgKnJlc3VsdDsKIAlOb2RlCSAgICpv cmlnZXhwcjsKQEAgLTEwMiw5ICsxMjQsMTUgQEAgY29lcmNlX3RvX3RhcmdldF90eXBlKFBhcnNl U3RhdGUgKnBzdGF0ZSwgTm9kZSAqZXhwciwgT2lkIGV4cHJ0eXBlLAogCXdoaWxlIChleHByICYm IElzQShleHByLCBDb2xsYXRlRXhwcikpCiAJCWV4cHIgPSAoTm9kZSAqKSAoKENvbGxhdGVFeHBy ICopIGV4cHIpLT5hcmc7CiAKLQlyZXN1bHQgPSBjb2VyY2VfdHlwZShwc3RhdGUsIGV4cHIsIGV4 cHJ0eXBlLAotCQkJCQkJIHRhcmdldHR5cGUsIHRhcmdldHR5cG1vZCwKLQkJCQkJCSBjY29udGV4 dCwgY2Zvcm1hdCwgbG9jYXRpb24pOworCXJlc3VsdCA9IGNvZXJjZV90eXBlX2V4dGVuZGVkKHBz dGF0ZSwgZXhwciwgZXhwcnR5cGUsCisJCQkJCQkJCSAgdGFyZ2V0dHlwZSwgdGFyZ2V0dHlwbW9k LAorCQkJCQkJCQkgIGNjb250ZXh0LAorCQkJCQkJCQkgIGNmb3JtYXQsCisJCQkJCQkJCSAgbG9j YXRpb24sCisJCQkJCQkJCSAgZXNjb250ZXh0KTsKKworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVE KGVzY29udGV4dCkpCisJCXJldHVybiBOVUxMOwogCiAJLyoKIAkgKiBJZiB0aGUgdGFyZ2V0IGlz IGEgZml4ZWQtbGVuZ3RoIHR5cGUsIGl0IG1heSBuZWVkIGEgbGVuZ3RoIGNvZXJjaW9uIGFzCkBA IC0xNTgsNiArMTg2LDE4IEBAIE5vZGUgKgogY29lcmNlX3R5cGUoUGFyc2VTdGF0ZSAqcHN0YXRl LCBOb2RlICpub2RlLAogCQkJT2lkIGlucHV0VHlwZUlkLCBPaWQgdGFyZ2V0VHlwZUlkLCBpbnQz MiB0YXJnZXRUeXBlTW9kLAogCQkJQ29lcmNpb25Db250ZXh0IGNjb250ZXh0LCBDb2VyY2lvbkZv cm0gY2Zvcm1hdCwgaW50IGxvY2F0aW9uKQoreworCXJldHVybiBjb2VyY2VfdHlwZV9leHRlbmRl ZChwc3RhdGUsIG5vZGUsCisJCQkJCQkJCWlucHV0VHlwZUlkLCB0YXJnZXRUeXBlSWQsIHRhcmdl dFR5cGVNb2QsCisJCQkJCQkJCWNjb250ZXh0LCBjZm9ybWF0LCBsb2NhdGlvbiwKKwkJCQkJCQkJ TlVMTCk7Cit9CisKK05vZGUgKgorY29lcmNlX3R5cGVfZXh0ZW5kZWQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBOb2RlICpub2RlLAorCQkJCQkgT2lkIGlucHV0VHlwZUlkLCBPaWQgdGFyZ2V0VHlwZUlk LCBpbnQzMiB0YXJnZXRUeXBlTW9kLAorCQkJCQkgQ29lcmNpb25Db250ZXh0IGNjb250ZXh0LCBD b2VyY2lvbkZvcm0gY2Zvcm1hdCwgaW50IGxvY2F0aW9uLAorCQkJCQkgTm9kZSAqZXNjb250ZXh0 KQogewogCU5vZGUJICAgKnJlc3VsdDsKIAlDb2VyY2lvblBhdGhUeXBlIHBhdGh0eXBlOwpAQCAt MjU2LDYgKzI5Niw3IEBAIGNvZXJjZV90eXBlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqbm9k ZSwKIAkJaW50MzIJCWlucHV0VHlwZU1vZDsKIAkJVHlwZQkJYmFzZVR5cGU7CiAJCVBhcnNlQ2Fs bGJhY2tTdGF0ZSBwY2JzdGF0ZTsKKwkJY2hhcgkgICAqc3RyaW5nID0gTlVMTDsKIAogCQkvKgog CQkgKiBJZiB0aGUgdGFyZ2V0IHR5cGUgaXMgYSBkb21haW4sIHdlIHdhbnQgdG8gY2FsbCBpdHMg YmFzZSB0eXBlJ3MKQEAgLTMwOSwxMyArMzUwLDIxIEBAIGNvZXJjZV90eXBlKFBhcnNlU3RhdGUg KnBzdGF0ZSwgTm9kZSAqbm9kZSwKIAkJICogYXMgQ1NUUklORy4KIAkJICovCiAJCWlmICghY29u LT5jb25zdGlzbnVsbCkKLQkJCW5ld2Nvbi0+Y29uc3R2YWx1ZSA9IHN0cmluZ1R5cGVEYXR1bShi YXNlVHlwZSwKLQkJCQkJCQkJCQkJCSBEYXR1bUdldENTdHJpbmcoY29uLT5jb25zdHZhbHVlKSwK LQkJCQkJCQkJCQkJCSBpbnB1dFR5cGVNb2QpOwotCQllbHNlCi0JCQluZXdjb24tPmNvbnN0dmFs dWUgPSBzdHJpbmdUeXBlRGF0dW0oYmFzZVR5cGUsCi0JCQkJCQkJCQkJCQkgTlVMTCwKLQkJCQkJ CQkJCQkJCSBpbnB1dFR5cGVNb2QpOworCQkJc3RyaW5nID0gRGF0dW1HZXRDU3RyaW5nKGNvbi0+ Y29uc3R2YWx1ZSk7CisKKwkJaWYgKCFzdHJpbmdUeXBlRGF0dW1TYWZlKGJhc2VUeXBlLAorCQkJ CQkJCQkgc3RyaW5nLAorCQkJCQkJCQkgaW5wdXRUeXBlTW9kLAorCQkJCQkJCQkgZXNjb250ZXh0 LAorCQkJCQkJCQkgJm5ld2Nvbi0+Y29uc3R2YWx1ZSkpCisJCXsKKwkJCS8qIFVOS05PV04gQ29u c3QgY2Fubm90IGNvZXJjZSB0byB0YXJnZXRUeXBlLCBleGl0IG5vdyAqLworCQkJY2FuY2VsX3Bh cnNlcl9lcnJwb3NpdGlvbl9jYWxsYmFjaygmcGNic3RhdGUpOworCisJCQlSZWxlYXNlU3lzQ2Fj aGUoYmFzZVR5cGUpOworCisJCQlyZXR1cm4gTlVMTDsKKwkJfQogCiAJCS8qCiAJCSAqIElmIGl0 J3MgYSB2YXJsZW5hIHZhbHVlLCBmb3JjZSBpdCB0byBiZSBpbiBub24tZXhwYW5kZWQKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfZXhwci5jCmluZGV4IDk2OTkxY2FlNzY0Li45OTdjYzg3NjQ5ZCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYworKysgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfZXhwci5jCkBAIC0xNyw2ICsxNyw3IEBACiAKICNpbmNsdWRlICJhY2Nlc3MvaHR1 cF9kZXRhaWxzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaCIKKyNpbmNsdWRl ICJjYXRhbG9nL3BnX2Nhc3QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNs dWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9tYWtlZnVuY3MuaCIKQEAgLTM3LDYg KzM4LDcgQEAKICNpbmNsdWRlICJ1dGlscy9kYXRlLmgiCiAjaW5jbHVkZSAidXRpbHMvZm1ncm9p ZHMuaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy9zeXNj YWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3RpbWVzdGFtcC5oIgogI2luY2x1ZGUgInV0aWxzL3R5 cGNhY2hlLmgiCiAjaW5jbHVkZSAidXRpbHMveG1sLmgiCkBAIC02MSw3ICs2Myw4IEBAIHN0YXRp YyBOb2RlICp0cmFuc2Zvcm1NdWx0aUFzc2lnblJlZihQYXJzZVN0YXRlICpwc3RhdGUsIE11bHRp QXNzaWduUmVmICptYXJlZik7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtQ2FzZUV4cHIoUGFyc2VT dGF0ZSAqcHN0YXRlLCBDYXNlRXhwciAqYyk7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtU3ViTGlu ayhQYXJzZVN0YXRlICpwc3RhdGUsIFN1YkxpbmsgKnN1YmxpbmspOwogc3RhdGljIE5vZGUgKnRy YW5zZm9ybUFycmF5RXhwcihQYXJzZVN0YXRlICpwc3RhdGUsIEFfQXJyYXlFeHByICphLAotCQkJ CQkJCQlPaWQgYXJyYXlfdHlwZSwgT2lkIGVsZW1lbnRfdHlwZSwgaW50MzIgdHlwbW9kKTsKKwkJ CQkJCQkJT2lkIGFycmF5X3R5cGUsIE9pZCBlbGVtZW50X3R5cGUsIGludDMyIHR5cG1vZCwKKwkJ CQkJCQkJYm9vbCAqaXNfY29lcmNpYmxlKTsKIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1Sb3dFeHBy KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUm93RXhwciAqciwgYm9vbCBhbGxvd0RlZmF1bHQpOwogc3Rh dGljIE5vZGUgKnRyYW5zZm9ybUNvYWxlc2NlRXhwcihQYXJzZVN0YXRlICpwc3RhdGUsIENvYWxl c2NlRXhwciAqYyk7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtTWluTWF4RXhwcihQYXJzZVN0YXRl ICpwc3RhdGUsIE1pbk1heEV4cHIgKm0pOwpAQCAtNzcsNiArODAsOCBAQCBzdGF0aWMgTm9kZSAq dHJhbnNmb3JtV2hvbGVSb3dSZWYoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkgIGludCBz dWJsZXZlbHNfdXAsIGludCBsb2NhdGlvbik7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtSW5kaXJl Y3Rpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBX0luZGlyZWN0aW9uICppbmQpOwogc3RhdGljIE5v ZGUgKnRyYW5zZm9ybVR5cGVDYXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVHlwZUNhc3QgKnRjKTsK K3N0YXRpYyB2b2lkIENvZXJjaW9uRXJyb3JTYWZlQ2hlY2soUGFyc2VTdGF0ZSAqcHN0YXRlLCBO b2RlICpjYXN0ZXhwciwKKwkJCQkJCQkJICAgTm9kZSAqc291cmNlLCBPaWQgaW5wdXRUeXBlLCBP aWQgdGFyZ2V0VHlwZSk7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtQ29sbGF0ZUNsYXVzZShQYXJz ZVN0YXRlICpwc3RhdGUsIENvbGxhdGVDbGF1c2UgKmMpOwogc3RhdGljIE5vZGUgKnRyYW5zZm9y bUpzb25PYmplY3RDb25zdHJ1Y3RvcihQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJCQkJCUpz b25PYmplY3RDb25zdHJ1Y3RvciAqY3Rvcik7CkBAIC0xNjUsNyArMTcwLDcgQEAgdHJhbnNmb3Jt RXhwclJlY3Vyc2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKQogCiAJCWNhc2UgVF9B X0FycmF5RXhwcjoKIAkJCXJlc3VsdCA9IHRyYW5zZm9ybUFycmF5RXhwcihwc3RhdGUsIChBX0Fy cmF5RXhwciAqKSBleHByLAotCQkJCQkJCQkJCUludmFsaWRPaWQsIEludmFsaWRPaWQsIC0xKTsK KwkJCQkJCQkJCQlJbnZhbGlkT2lkLCBJbnZhbGlkT2lkLCAtMSwgTlVMTCk7CiAJCQlicmVhazsK IAogCQljYXNlIFRfVHlwZUNhc3Q6CkBAIC01NjUsNiArNTcwLDcgQEAgdHJhbnNmb3JtQ29sdW1u UmVmKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ29sdW1uUmVmICpjcmVmKQogCQljYXNlIEVYUFJfS0lO RF9WQUxVRVNfU0lOR0xFOgogCQljYXNlIEVYUFJfS0lORF9DSEVDS19DT05TVFJBSU5UOgogCQlj YXNlIEVYUFJfS0lORF9ET01BSU5fQ0hFQ0s6CisJCWNhc2UgRVhQUl9LSU5EX0NBU1RfREVGQVVM VDoKIAkJY2FzZSBFWFBSX0tJTkRfRlVOQ1RJT05fREVGQVVMVDoKIAkJY2FzZSBFWFBSX0tJTkRf SU5ERVhfRVhQUkVTU0lPTjoKIAkJY2FzZSBFWFBSX0tJTkRfSU5ERVhfUFJFRElDQVRFOgpAQCAt MTgzNCw2ICsxODQwLDkgQEAgdHJhbnNmb3JtU3ViTGluayhQYXJzZVN0YXRlICpwc3RhdGUsIFN1 YkxpbmsgKnN1YmxpbmspCiAJCWNhc2UgRVhQUl9LSU5EX0RPTUFJTl9DSEVDSzoKIAkJCWVyciA9 IF8oImNhbm5vdCB1c2Ugc3VicXVlcnkgaW4gY2hlY2sgY29uc3RyYWludCIpOwogCQkJYnJlYWs7 CisJCWNhc2UgRVhQUl9LSU5EX0NBU1RfREVGQVVMVDoKKwkJCWVyciA9IF8oImNhbm5vdCB1c2Ug c3VicXVlcnkgaW4gQ0FTVCBERUZBVUxUIGV4cHJlc3Npb24iKTsKKwkJCWJyZWFrOwogCQljYXNl IEVYUFJfS0lORF9DT0xVTU5fREVGQVVMVDoKIAkJY2FzZSBFWFBSX0tJTkRfRlVOQ1RJT05fREVG QVVMVDoKIAkJCWVyciA9IF8oImNhbm5vdCB1c2Ugc3VicXVlcnkgaW4gREVGQVVMVCBleHByZXNz aW9uIik7CkBAIC0yMDIxLDE3ICsyMDMwLDIzIEBAIHRyYW5zZm9ybVN1YkxpbmsoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBTdWJMaW5rICpzdWJsaW5rKQogICogSWYgdGhlIGNhbGxlciBzcGVjaWZpZXMg dGhlIHRhcmdldCB0eXBlLCB0aGUgcmVzdWx0aW5nIGFycmF5IHdpbGwKICAqIGJlIG9mIGV4YWN0 bHkgdGhhdCB0eXBlLiAgT3RoZXJ3aXNlIHdlIHRyeSB0byBpbmZlciBhIGNvbW1vbiB0eXBlCiAg KiBmb3IgdGhlIGVsZW1lbnRzIHVzaW5nIHNlbGVjdF9jb21tb25fdHlwZSgpLgorICoKKyAqIGlz X2NvZXJjaWJsZSBpcyB0eXBpY2FsbHkgTlVMTCwgZXhjZXB0IGR1cmluZyBwYXJzZSBhbmFseXNp cyBmb3IKKyAqIENBU1QoLi4uIERFRkFVTFQgLi4uIE9OIENPTlZFUlNJT04gRVJST1IpLiBXaGVu IHByb3ZpZGVkLCBpdCBkZWZhdWx0cworICogdG8gdHJ1ZSBidXQgd2lsbCBiZSBzZXQgdG8gZmFs c2UgaWYgY29lcmNpbmcgYXJyYXkgZWxlbWVudHMgZmFpbHMuCiAgKi8KIHN0YXRpYyBOb2RlICoK IHRyYW5zZm9ybUFycmF5RXhwcihQYXJzZVN0YXRlICpwc3RhdGUsIEFfQXJyYXlFeHByICphLAot CQkJCSAgIE9pZCBhcnJheV90eXBlLCBPaWQgZWxlbWVudF90eXBlLCBpbnQzMiB0eXBtb2QpCisJ CQkJICAgT2lkIGFycmF5X3R5cGUsIE9pZCBlbGVtZW50X3R5cGUsIGludDMyIHR5cG1vZCwgYm9v bCAqaXNfY29lcmNpYmxlKQogewogCUFycmF5RXhwciAgKm5ld2EgPSBtYWtlTm9kZShBcnJheUV4 cHIpOwogCUxpc3QJICAgKm5ld2VsZW1zID0gTklMOwogCUxpc3QJICAgKm5ld2NvZXJjZWRlbGVt cyA9IE5JTDsKIAlMaXN0Q2VsbCAgICplbGVtZW50OwogCU9pZAkJCWNvZXJjZV90eXBlOworCU9p ZAkJCWNvZXJjZV90eXBlX2NvbGw7CiAJYm9vbAkJY29lcmNlX2hhcmQ7CisJRXJyb3JTYXZlQ29u dGV4dCBlc2NvbnRleHQgPSB7VF9FcnJvclNhdmVDb250ZXh0fTsKIAogCS8qCiAJICogVHJhbnNm b3JtIHRoZSBlbGVtZW50IGV4cHJlc3Npb25zCkBAIC0yMDU1LDkgKzIwNzAsMTAgQEAgdHJhbnNm b3JtQXJyYXlFeHByKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQV9BcnJheUV4cHIgKmEsCiAJCQkJCQkJ CQkgIChBX0FycmF5RXhwciAqKSBlLAogCQkJCQkJCQkJICBhcnJheV90eXBlLAogCQkJCQkJCQkJ ICBlbGVtZW50X3R5cGUsCi0JCQkJCQkJCQkgIHR5cG1vZCk7CisJCQkJCQkJCQkgIHR5cG1vZCwK KwkJCQkJCQkJCSAgaXNfY29lcmNpYmxlKTsKIAkJCS8qIHdlIGNlcnRhaW5seSBoYXZlIGFuIGFy cmF5IGhlcmUgKi8KLQkJCUFzc2VydChhcnJheV90eXBlID09IEludmFsaWRPaWQgfHwgYXJyYXlf dHlwZSA9PSBleHByVHlwZShuZXdlKSk7CisJCQlBc3NlcnQoaXNfY29lcmNpYmxlIHx8IGFycmF5 X3R5cGUgPT0gSW52YWxpZE9pZCB8fCBhcnJheV90eXBlID09IGV4cHJUeXBlKG5ld2UpKTsKIAkJ CW5ld2EtPm11bHRpZGltcyA9IHRydWU7CiAJCX0KIAkJZWxzZQpAQCAtMjA5OCw2ICsyMTE0LDgg QEAgdHJhbnNmb3JtQXJyYXlFeHByKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQV9BcnJheUV4cHIgKmEs CiAJfQogCWVsc2UKIAl7CisJCUFzc2VydChpc19jb2VyY2libGUgPT0gTlVMTCk7CisKIAkJLyog Q2FuJ3QgaGFuZGxlIGFuIGVtcHR5IGFycmF5IHdpdGhvdXQgYSB0YXJnZXQgdHlwZSAqLwogCQlp ZiAobmV3ZWxlbXMgPT0gTklMKQogCQkJZXJlcG9ydChFUlJPUiwKQEAgLTIxMzUsNiArMjE1Myw4 IEBAIHRyYW5zZm9ybUFycmF5RXhwcihQYXJzZVN0YXRlICpwc3RhdGUsIEFfQXJyYXlFeHByICph LAogCQljb2VyY2VfaGFyZCA9IGZhbHNlOwogCX0KIAorCWNvZXJjZV90eXBlX2NvbGwgPSBnZXRf dHlwY29sbGF0aW9uKGNvZXJjZV90eXBlKTsKKwogCS8qCiAJICogQ29lcmNlIGVsZW1lbnRzIHRv IHRhcmdldCB0eXBlCiAJICoKQEAgLTIxNDQsMjggKzIxNjQsNzkgQEAgdHJhbnNmb3JtQXJyYXlF eHByKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQV9BcnJheUV4cHIgKmEsCiAJICogSWYgdGhlIGFycmF5 J3MgdHlwZSB3YXMgbWVyZWx5IGRlcml2ZWQgZnJvbSB0aGUgY29tbW9uIHR5cGUgb2YgaXRzCiAJ ICogZWxlbWVudHMsIHRoZW4gdGhlIGVsZW1lbnRzIGFyZSBpbXBsaWNpdGx5IGNvZXJjZWQgdG8g dGhlIGNvbW1vbiB0eXBlLgogCSAqIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIG90aGVyIHVzZXMg b2Ygc2VsZWN0X2NvbW1vbl90eXBlKCkuCisJICoKKwkgKiBJZiBpc19jb2VyY2libGUgaXMgbm90 IE5VTEwsIGNoZWNrIHdoZXRoZXIgZWFjaCBlbGVtZW50IGNhbiBiZSBjb2VyY2VkCisJICogdG8g dGhlIHRhcmdldCB0eXBlLCBzaW1pbGFyIHRvIHdoYXQgaXMgZG9uZSBpbiB0cmFuc2Zvcm1UeXBl Q2FzdC4KIAkgKi8KIAlmb3JlYWNoKGVsZW1lbnQsIG5ld2VsZW1zKQogCXsKIAkJTm9kZQkgICAq ZSA9IChOb2RlICopIGxmaXJzdChlbGVtZW50KTsKLQkJTm9kZQkgICAqbmV3ZTsKKwkJTm9kZQkg ICAqbmV3ZSA9IE5VTEw7CiAKIAkJaWYgKGNvZXJjZV9oYXJkKQogCQl7Ci0JCQluZXdlID0gY29l cmNlX3RvX3RhcmdldF90eXBlKHBzdGF0ZSwgZSwKLQkJCQkJCQkJCQkgZXhwclR5cGUoZSksCi0J CQkJCQkJCQkJIGNvZXJjZV90eXBlLAotCQkJCQkJCQkJCSB0eXBtb2QsCi0JCQkJCQkJCQkJIENP RVJDSU9OX0VYUExJQ0lULAotCQkJCQkJCQkJCSBDT0VSQ0VfRVhQTElDSVRfQ0FTVCwKLQkJCQkJ CQkJCQkgLTEpOwotCQkJaWYgKG5ld2UgPT0gTlVMTCkKLQkJCQllcmVwb3J0KEVSUk9SLAotCQkJ CQkJKGVycmNvZGUoRVJSQ09ERV9DQU5OT1RfQ09FUkNFKSwKLQkJCQkJCSBlcnJtc2coImNhbm5v dCBjYXN0IHR5cGUgJXMgdG8gJXMiLAotCQkJCQkJCQlmb3JtYXRfdHlwZV9iZShleHByVHlwZShl KSksCi0JCQkJCQkJCWZvcm1hdF90eXBlX2JlKGNvZXJjZV90eXBlKSksCi0JCQkJCQkgcGFyc2Vy X2VycnBvc2l0aW9uKHBzdGF0ZSwgZXhwckxvY2F0aW9uKGUpKSkpOworCQkJLyoKKwkJCSAqIENh bm5vdCBjb2VyY2UsIGp1c3QgYXBwZW5kIHRoZSB0cmFuc2Zvcm1lZCBlbGVtZW50IGV4cHJlc3Np b24KKwkJCSAqIHRvIHRoZSBsaXN0LgorCQkJICovCisJCQlpZiAoaXNfY29lcmNpYmxlICYmICgh KmlzX2NvZXJjaWJsZSkpCisJCQkJbmV3ZSA9IGU7CisJCQllbHNlCisJCQl7CisJCQkJTm9kZQkg ICAqZWNvcHkgPSBOVUxMOworCisJCQkJaWYgKGlzX2NvZXJjaWJsZSkKKwkJCQkJZWNvcHkgPSBj b3B5T2JqZWN0KGUpOworCisJCQkJbmV3ZSA9IGNvZXJjZV90b190YXJnZXRfdHlwZV9leHRlbmRl ZChwc3RhdGUsIGUsCisJCQkJCQkJCQkJCQkJICBleHByVHlwZShlKSwKKwkJCQkJCQkJCQkJCQkg IGNvZXJjZV90eXBlLAorCQkJCQkJCQkJCQkJCSAgdHlwbW9kLAorCQkJCQkJCQkJCQkJCSAgQ09F UkNJT05fRVhQTElDSVQsCisJCQkJCQkJCQkJCQkJICBDT0VSQ0VfRVhQTElDSVRfQ0FTVCwKKwkJ CQkJCQkJCQkJCQkgIC0xLAorCQkJCQkJCQkJCQkJCSAgKE5vZGUgKikgJmVzY29udGV4dCk7CisJ CQkJaWYgKG5ld2UgPT0gTlVMTCkKKwkJCQl7CisJCQkJCS8qCisJCQkJCSAqIENhbm5vdCBjb2Vy Y2UuIFJhaXNlIGFuIGVycm9yIG9yIGFwcGVuZCB0aGUgdHJhbnNmb3JtZWQKKwkJCQkJICogZWxl bWVudCB0byB0aGUgbGlzdC4KKwkJCQkJICovCisJCQkJCWlmICghaXNfY29lcmNpYmxlKQorCQkJ CQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9DQU5OT1RfQ09FUkNF KSwKKwkJCQkJCQkJIGVycm1zZygiY2Fubm90IGNhc3QgdHlwZSAlcyB0byAlcyIsCisJCQkJCQkJ CQkJZm9ybWF0X3R5cGVfYmUoZXhwclR5cGUoZSkpLAorCQkJCQkJCQkJCWZvcm1hdF90eXBlX2Jl KGNvZXJjZV90eXBlKSksCisJCQkJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBleHBy TG9jYXRpb24oZSkpKSk7CisJCQkJCWVsc2UKKwkJCQkJeworCQkJCQkJbmV3ZSA9IGVjb3B5Owor CQkJCQkJKmlzX2NvZXJjaWJsZSA9IGZhbHNlOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UgaWYg KGlzX2NvZXJjaWJsZSAmJiBJc0EoZWNvcHksIENvbnN0KSAmJiBJc0EobmV3ZSwgRnVuY0V4cHIp KQorCQkJCXsKKwkJCQkJTm9kZQkgICAqbmV3ZXhwciA9IGNvcHlPYmplY3QobmV3ZSk7CisKKwkJ CQkJLyoKKwkJCQkJICogUHJlLWV2YWx1YXRlIHNpbXBsZSBjb25zdGFudCBjYXN0IGV4cHJlc3Np b25zIGluIGEgd2F5CisJCQkJCSAqIHRoYXQgdG9sZXJhdGUgZXJyb3JzLgorCQkJCQkgKi8KKwkJ CQkJYXNzaWduX2V4cHJfY29sbGF0aW9ucyhwc3RhdGUsIG5ld2V4cHIpOworCisJCQkJCW5ld2V4 cHIgPSAoTm9kZSAqKSBldmFsdWF0ZV9leHByKChFeHByICopIG5ld2V4cHIsCisJCQkJCQkJCQkJ CQkJIGNvZXJjZV90eXBlLAorCQkJCQkJCQkJCQkJCSB0eXBtb2QsCisJCQkJCQkJCQkJCQkJIGNv ZXJjZV90eXBlX2NvbGwsCisJCQkJCQkJCQkJCQkJIChOb2RlICopICZlc2NvbnRleHQpOworCQkJ CQlpZiAobmV3ZXhwciA9PSBOVUxMKQorCQkJCQl7CisJCQkJCQluZXdlID0gZWNvcHk7CisJCQkJ CQkqaXNfY29lcmNpYmxlID0gZmFsc2U7CisJCQkJCX0KKwkJCQl9CisJCQl9CiAJCX0KIAkJZWxz ZQogCQkJbmV3ZSA9IGNvZXJjZV90b19jb21tb25fdHlwZShwc3RhdGUsIGUsCkBAIC0yNzA2LDcg KzI3NzcsOCBAQCB0cmFuc2Zvcm1XaG9sZVJvd1JlZihQYXJzZVN0YXRlICpwc3RhdGUsIFBhcnNl TmFtZXNwYWNlSXRlbSAqbnNpdGVtLAogfQogCiAvKgotICogSGFuZGxlIGFuIGV4cGxpY2l0IENB U1QgY29uc3RydWN0LgorICogSGFuZGxlIGFuIGV4cGxpY2l0IENBU1QgY29uc3RydWN0IG9yCisg KiBDQVNUKC4uLiBERUZBVUxUIC4uLiBPTiBDT05WRVJTSU9OIEVSUk9SKSBjb25zdHJ1Y3QuCiAg KgogICogVHJhbnNmb3JtIHRoZSBhcmd1bWVudCwgbG9vayB1cCB0aGUgdHlwZSBuYW1lLCBhbmQg YXBwbHkgYW55IG5lY2Vzc2FyeQogICogY29lcmNpb24gZnVuY3Rpb24ocykuCkBAIC0yNzE0LDE3 ICsyNzg2LDYzIEBAIHRyYW5zZm9ybVdob2xlUm93UmVmKFBhcnNlU3RhdGUgKnBzdGF0ZSwgUGFy c2VOYW1lc3BhY2VJdGVtICpuc2l0ZW0sCiBzdGF0aWMgTm9kZSAqCiB0cmFuc2Zvcm1UeXBlQ2Fz dChQYXJzZVN0YXRlICpwc3RhdGUsIFR5cGVDYXN0ICp0YykKIHsKLQlOb2RlCSAgICpyZXN1bHQ7 CisJU2FmZVR5cGVDYXN0RXhwciAqc3RjOworCU5vZGUJICAgKmNhc3RleHByID0gTlVMTDsKKwlO b2RlCSAgICpkZWZleHByID0gTlVMTDsKIAlOb2RlCSAgICphcmcgPSB0Yy0+YXJnOworCU5vZGUJ ICAgKnNvdXJjZTsKIAlOb2RlCSAgICpleHByOwogCU9pZAkJCWlucHV0VHlwZTsKIAlPaWQJCQl0 YXJnZXRUeXBlOworCU9pZAkJCXRhcmdldFR5cGVjb2xsOwogCWludDMyCQl0YXJnZXRUeXBtb2Q7 CiAJaW50CQkJbG9jYXRpb247CisJYm9vbAkJaXNfY29lcmNpYmxlID0gdHJ1ZTsKKwlFcnJvclNh dmVDb250ZXh0IGVzY29udGV4dCA9IHtUX0Vycm9yU2F2ZUNvbnRleHR9OwogCiAJLyogTG9vayB1 cCB0aGUgdHlwZSBuYW1lIGZpcnN0ICovCiAJdHlwZW5hbWVUeXBlSWRBbmRNb2QocHN0YXRlLCB0 Yy0+dHlwZU5hbWUsICZ0YXJnZXRUeXBlLCAmdGFyZ2V0VHlwbW9kKTsKIAorCXRhcmdldFR5cGVj b2xsID0gZ2V0X3R5cGNvbGxhdGlvbih0YXJnZXRUeXBlKTsKKworCS8qIGxvb2tpbmcgYXQgREVG QVVMVCBleHByZXNzaW9uICovCisJaWYgKHRjLT5kZWZleHByKQorCXsKKwkJT2lkCQkJZGVmQ29s bDsKKworCQlkZWZleHByID0gdHJhbnNmb3JtRXhwcihwc3RhdGUsIHRjLT5kZWZleHByLCBFWFBS X0tJTkRfQ0FTVF9ERUZBVUxUKTsKKworCQlkZWZleHByID0gY29lcmNlX3RvX3RhcmdldF90eXBl KHBzdGF0ZSwgZGVmZXhwciwgZXhwclR5cGUoZGVmZXhwciksCisJCQkJCQkJCQkJdGFyZ2V0VHlw ZSwgdGFyZ2V0VHlwbW9kLAorCQkJCQkJCQkJCUNPRVJDSU9OX0VYUExJQ0lULAorCQkJCQkJCQkJ CUNPRVJDRV9FWFBMSUNJVF9DQVNULAorCQkJCQkJCQkJCWV4cHJMb2NhdGlvbihkZWZleHByKSk7 CisJCWlmIChkZWZleHByID09IE5VTEwpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQllcnJjb2Rl KEVSUkNPREVfQ0FOTk9UX0NPRVJDRSksCisJCQkJCWVycm1zZygiY2Fubm90IGNvZXJjZSAlcyBl eHByZXNzaW9uIHRvIHR5cGUgJXMiLAorCQkJCQkJICAgIkNBU1QgREVGQVVMVCIsCisJCQkJCQkg ICBmb3JtYXRfdHlwZV9iZSh0YXJnZXRUeXBlKSksCisJCQkJCXBhcnNlcl9jb2VyY2lvbl9lcnJw b3NpdGlvbihwc3RhdGUsIGV4cHJMb2NhdGlvbih0Yy0+ZGVmZXhwciksIGRlZmV4cHIpKTsKKwor CQlhc3NpZ25fZXhwcl9jb2xsYXRpb25zKHBzdGF0ZSwgZGVmZXhwcik7CisKKwkJLyoKKwkJICog VGhlIGNvbGxhdGlvbiBvZiBERUZBVUxUIGV4cHJlc3Npb24gbXVzdCBtYXRjaCB0aGUgY29sbGF0 aW9uIG9mIHRoZQorCQkgKiB0YXJnZXQgdHlwZS4KKwkJICovCisJCWRlZkNvbGwgPSBleHByQ29s bGF0aW9uKGRlZmV4cHIpOworCisJCWlmICh0YXJnZXRUeXBlY29sbCAhPSBkZWZDb2xsKQorCQkJ ZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01BVENIKSwK KwkJCQkJZXJybXNnKCJ0aGUgY29sbGF0aW9uIG9mIENBU1QgREVGQVVMVCBleHByZXNzaW9uIGNv bmZsaWN0cyB3aXRoIHRhcmdldCB0eXBlIGNvbGxhdGlvbiIpLAorCQkJCQllcnJkZXRhaWwoIlwi JXNcIiB2ZXJzdXMgXCIlc1wiIiwKKwkJCQkJCQkgIGdldF9jb2xsYXRpb25fbmFtZSh0YXJnZXRU eXBlY29sbCksCisJCQkJCQkJICBnZXRfY29sbGF0aW9uX25hbWUoZGVmQ29sbCkpLAorCQkJCQlw YXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBleHByTG9jYXRpb24oZGVmZXhwcikpKTsKKwl9CisK IAkvKgogCSAqIElmIHRoZSBzdWJqZWN0IG9mIHRoZSB0eXBlY2FzdCBpcyBhbiBBUlJBWVtdIGNv bnN0cnVjdCBhbmQgdGhlIHRhcmdldAogCSAqIHR5cGUgaXMgYW4gYXJyYXkgdHlwZSwgd2UgaW52 b2tlIHRyYW5zZm9ybUFycmF5RXhwcigpIGRpcmVjdGx5IHNvIHRoYXQKQEAgLTI3NTMsNyArMjg3 MSw4IEBAIHRyYW5zZm9ybVR5cGVDYXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVHlwZUNhc3QgKnRj KQogCQkJCQkJCQkJICAoQV9BcnJheUV4cHIgKikgYXJnLAogCQkJCQkJCQkJICB0YXJnZXRCYXNl VHlwZSwKIAkJCQkJCQkJCSAgZWxlbWVudFR5cGUsCi0JCQkJCQkJCQkgIHRhcmdldEJhc2VUeXBt b2QpOworCQkJCQkJCQkJICB0YXJnZXRCYXNlVHlwbW9kLAorCQkJCQkJCQkJICBkZWZleHByID8g JmlzX2NvZXJjaWJsZSA6IE5VTEwpOwogCQl9CiAJCWVsc2UKIAkJCWV4cHIgPSB0cmFuc2Zvcm1F eHByUmVjdXJzZShwc3RhdGUsIGFyZyk7CkBAIC0yNzc0LDIwICsyODkzLDIwMCBAQCB0cmFuc2Zv cm1UeXBlQ2FzdChQYXJzZVN0YXRlICpwc3RhdGUsIFR5cGVDYXN0ICp0YykKIAlpZiAobG9jYXRp b24gPCAwKQogCQlsb2NhdGlvbiA9IHRjLT50eXBlTmFtZS0+bG9jYXRpb247CiAKLQlyZXN1bHQg PSBjb2VyY2VfdG9fdGFyZ2V0X3R5cGUocHN0YXRlLCBleHByLCBpbnB1dFR5cGUsCi0JCQkJCQkJ CSAgIHRhcmdldFR5cGUsIHRhcmdldFR5cG1vZCwKLQkJCQkJCQkJICAgQ09FUkNJT05fRVhQTElD SVQsCi0JCQkJCQkJCSAgIENPRVJDRV9FWFBMSUNJVF9DQVNULAotCQkJCQkJCQkgICBsb2NhdGlv bik7Ci0JaWYgKHJlc3VsdCA9PSBOVUxMKQorCS8qCisJICogY29lcmNlX3RvX3RhcmdldF90eXBl X2V4dGVuZGVkIGlzIHVubGlrZWx5IHRvIG1vZGlmeSB0aGUgc291cmNlCisJICogZXhwcmVzc2lv biwgYnV0IHdlIHN0aWxsIGNyZWF0ZSBhIGNvcHkgYmVmb3JlaGFuZC4gVGhpcyBhbGxvd3MKKwkg KiBTYWZlVHlwZUNhc3RFeHByIHRvIHJlY2VpdmUgdGhlIHRyYW5zZm9ybWVkIHNvdXJjZSBleHBy ZXNzaW9uCisJICogdW5jaGFuZ2VkLgorCSAqLworCXNvdXJjZSA9IGNvcHlPYmplY3QoZXhwcik7 CisKKwlpZiAoaXNfY29lcmNpYmxlKQorCXsKKwkJY2FzdGV4cHIgPSBjb2VyY2VfdG9fdGFyZ2V0 X3R5cGVfZXh0ZW5kZWQocHN0YXRlLCBleHByLCBpbnB1dFR5cGUsCisJCQkJCQkJCQkJCQkgIHRh cmdldFR5cGUsIHRhcmdldFR5cG1vZCwKKwkJCQkJCQkJCQkJCSAgQ09FUkNJT05fRVhQTElDSVQs CisJCQkJCQkJCQkJCQkgIENPRVJDRV9FWFBMSUNJVF9DQVNULAorCQkJCQkJCQkJCQkJICBsb2Nh dGlvbiwKKwkJCQkJCQkJCQkJCSAgZGVmZXhwciA/IChOb2RlICopICZlc2NvbnRleHQgOiBOVUxM KTsKKworCQkvKgorCQkgKiBDYW5ub3QgY29lcmNlLiBTZXQgaXNfY29lcmNpYmxlIHRvIGZhbHNl IG9yIHJhaXNlIGFuIGVycm9yIGZvciBhCisJCSAqIHNpbXBsZSBDQVNULgorCQkgKi8KKwkJaWYg KCFjYXN0ZXhwcikKKwkJeworCQkJaXNfY29lcmNpYmxlID0gZmFsc2U7CisKKwkJCWlmICghZGVm ZXhwcikKKwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9DQU5OT1Rf Q09FUkNFKSwKKwkJCQkJCSBlcnJtc2coImNhbm5vdCBjYXN0IHR5cGUgJXMgdG8gJXMiLAorCQkJ CQkJCQlmb3JtYXRfdHlwZV9iZShpbnB1dFR5cGUpLAorCQkJCQkJCQlmb3JtYXRfdHlwZV9iZSh0 YXJnZXRUeXBlKSksCisJCQkJCQkgcGFyc2VyX2NvZXJjaW9uX2VycnBvc2l0aW9uKHBzdGF0ZSwg bG9jYXRpb24sIGV4cHIpKSk7CisKKwkJfQorCisJCS8qCisJCSAqIFNpbXBsZSBDQVNUIGNvbnN0 cnVjdCwgcmV0dXJuIHRoZSBjYXN0IGV4cHJlc3Npb24gbm93CisJCSAqLworCQlpZiAoIWRlZmV4 cHIpCisJCQlyZXR1cm4gY2FzdGV4cHI7CisJfQorCisJLyogRnVydGhlciBjaGVjayBDQVNUKC4u LiBERUZBVUxUIC4uLiBPTiBDT05WRVJTSU9OIEVSUk9SKSBjb25zdHJ1Y3QgKi8KKwlDb2VyY2lv bkVycm9yU2FmZUNoZWNrKHBzdGF0ZSwgY2FzdGV4cHIsIHNvdXJjZSwgaW5wdXRUeXBlLAorCQkJ CQkJICAgdGFyZ2V0VHlwZSk7CisKKwlpZiAoSXNBKHNvdXJjZSwgQ29uc3QpICYmIGNhc3RleHBy ICYmIElzQShjYXN0ZXhwciwgRnVuY0V4cHIpKQorCXsKKwkJTm9kZQkgICAqbmV3ZXhwciA9IGNv cHlPYmplY3QoY2FzdGV4cHIpOworCisJCWFzc2lnbl9leHByX2NvbGxhdGlvbnMocHN0YXRlLCBu ZXdleHByKTsKKworCQkvKgorCQkgKiBQcmUtZXZhbHVhdGUgc2ltcGxlIGNvbnN0YW50IGNhc3Qg ZXhwcmVzc2lvbnMgaW4gYW4gZXJyb3Itc2FmZQorCQkgKiBtYW5uZXIgdmlhIGV2YWx1YXRlX2V4 cHIuCisJCSAqCisJCSAqIFJhdGlvbmFsZTogMS4gTGF0ZXIgb3BlcmF0aW9ucywgc3VjaCBhcyBk ZXBhcnNpbmcgc2FmZS1jYXN0CisJCSAqIGV4cHJlc3Npb25zLCBtYXkgaW52b2tlIGV2YWxfY29u c3RfZXhwcmVzc2lvbnMoKS4gQmVjYXVzZSB0aGF0CisJCSAqIGZ1bmN0aW9uIGNhbm5vdCBoYW5k bGUgZXJyb3JzIGdyYWNlZnVsbHksIHdlIHByZWVtcHRpdmVseSBwZXJmb3JtCisJCSAqIHRoZSBl dmFsdWF0aW9uIGhlcmUgdXNpbmcgdGhlIGVycm9yLXNhZmUgZXZhbHVhdGVfZXhwcigpIGluc3Rl YWQuCisJCSAqCisJCSAqIDIuIEV2ZW4gaWYgdGhlIEZ1bmNFeHByIChmb3IgY2FzdGZ1bmMpIGhh cyB0aHJlZSBhcmd1bWVudHMsIHRoZQorCQkgKiBzZWNvbmQgYW5kIHRoaXJkIGFyZ3VtZW50cyBh cmUgZ3VhcmFudGVlZCB0byBiZSBjb25zdGFudHMgKHNlZQorCQkgKiBjb2VyY2VfdG9fdGFyZ2V0 X3R5cGUpLiBFdmFsdWF0aW5nIGEgRnVuY0V4cHIgd2hlcmUgYWxsIGFyZ3VtZW50cworCQkgKiBh cmUgQ29uc3Qgbm9kZXMgaXMgc2FmZSBpbiBldmFsdWF0ZV9leHByLgorCQkgKi8KKwkJbmV3ZXhw ciA9IChOb2RlICopIGV2YWx1YXRlX2V4cHIoKEV4cHIgKikgbmV3ZXhwciwKKwkJCQkJCQkJCQkg dGFyZ2V0VHlwZSwKKwkJCQkJCQkJCQkgdGFyZ2V0VHlwbW9kLAorCQkJCQkJCQkJCSB0YXJnZXRU eXBlY29sbCwKKwkJCQkJCQkJCQkgKE5vZGUgKikgJmVzY29udGV4dCk7CisJCWlmIChuZXdleHBy ID09IE5VTEwpCisJCXsKKwkJCS8qIENhbm5vdCBjb2VyY2UsIHNldCBpc19jb2VyY2libGUgdG8g ZmFsc2UgKi8KKwkJCWlzX2NvZXJjaWJsZSA9IGZhbHNlOworCQkJY2FzdGV4cHIgPSBOVUxMOwor CQl9CisJfQorCisJQXNzZXJ0KGlzX2NvZXJjaWJsZSB8fCBjYXN0ZXhwciA9PSBOVUxMKTsKKwor CXN0YyA9IG1ha2VOb2RlKFNhZmVUeXBlQ2FzdEV4cHIpOworCXN0Yy0+c291cmNlID0gKEV4cHIg Kikgc291cmNlOworCXN0Yy0+Y2FzdGV4cHIgPSAoRXhwciAqKSBjYXN0ZXhwcjsKKwlzdGMtPmRl ZmV4cHIgPSAoRXhwciAqKSBkZWZleHByOworCXN0Yy0+cmVzdWx0dHlwZSA9IHRhcmdldFR5cGU7 CisJc3RjLT5yZXN1bHR0eXBtb2QgPSB0YXJnZXRUeXBtb2Q7CisJc3RjLT5yZXN1bHRjb2xsaWQg PSB0YXJnZXRUeXBlY29sbDsKKwlzdGMtPmxvY2F0aW9uID0gbG9jYXRpb247CisKKwlyZXR1cm4g KE5vZGUgKikgc3RjOworfQorCisvKgorICogQ2hlY2sgdHlwZSBjb2VyY2lvbiBpcyBlcnJvciBz YWZlIG9yIG5vdC4gIElmIG5vdCB0aGVuIHJlcG9ydCBlcnJvcgorICovCitzdGF0aWMgdm9pZAor Q29lcmNpb25FcnJvclNhZmVDaGVjayhQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKmNhc3RleHBy LCBOb2RlICpzb3VyY2UsCisJCQkJCSAgIE9pZCBpbnB1dFR5cGUsIE9pZCB0YXJnZXRUeXBlKQor eworCWJvb2wJCWVycm9yc2FmZV9jb2VyY2lvbiA9IHRydWU7CisJYm9vbAkJdXNlcmRlZmluZWQg PSBmYWxzZTsKKwlPaWQJCQlpbnB1dEJhc2VUeXBlOworCU9pZAkJCXRhcmdldEJhc2VUeXBlOwor CU9pZAkJCWlucHV0RWxlbWVudFR5cGU7CisJT2lkCQkJaW5wdXRFbGVtZW50QmFzZVR5cGU7CisJ T2lkCQkJdGFyZ2V0RWxlbWVudFR5cGU7CisJT2lkCQkJdGFyZ2V0RWxlbWVudEJhc2VUeXBlOwor CisJLyoKKwkgKiBCaW5hcnkgY29lcmNpb24gY2FzdCBpcyBlcXVpdmFsZW50IHRvIG5vIGNhc3Qg YXQgYWxsLiAgQ29lcmNlVmlhSU8gY2FuCisJICogYWxzbyBiZSBldmFsdWF0ZWQgaW4gYW4gZXJy b3Itc2FmZSBtYW5uZXIuIFNraXAgdGhlc2UgdHdvIGNhc2VzLgorCSAqLworCWlmIChjYXN0ZXhw ciA9PSBOVUxMIHx8IElzQShjYXN0ZXhwciwgUmVsYWJlbFR5cGUpIHx8CisJCUlzQShjYXN0ZXhw ciwgQ29lcmNlVmlhSU8pKQorCQlyZXR1cm47CisKKwkvKgorCSAqIFR5cGUgY2FzdCBpbnZvbHZp bmcgd2l0aCBzb21lIHR5cGVzIGlzIG5vdCBlcnJvciBzYWZlLCBkbyB0aGUgY2hlY2sKKwkgKiBu b3cuIFdlIG5lZWQgY29uc2lkZXIgZG9tYWluIG92ZXIgYXJyYXkgYW5kIGFycmF5IG92ZXIgZG9t YWluIHNjYXJlbmlvLgorCSAqLworCWlucHV0RWxlbWVudFR5cGUgPSBnZXRfZWxlbWVudF90eXBl KGlucHV0VHlwZSk7CisKKwlpZiAoT2lkSXNWYWxpZChpbnB1dEVsZW1lbnRUeXBlKSkKKwkJaW5w dXRFbGVtZW50QmFzZVR5cGUgPSBnZXRCYXNlVHlwZShpbnB1dEVsZW1lbnRUeXBlKTsKKwllbHNl CisJeworCQlpbnB1dEJhc2VUeXBlID0gZ2V0QmFzZVR5cGUoaW5wdXRUeXBlKTsKKwkJaW5wdXRF bGVtZW50QmFzZVR5cGUgPSBnZXRfZWxlbWVudF90eXBlKGlucHV0QmFzZVR5cGUpOworCisJCWlm ICghT2lkSXNWYWxpZChpbnB1dEVsZW1lbnRCYXNlVHlwZSkpCisJCQlpbnB1dEVsZW1lbnRCYXNl VHlwZSA9IGlucHV0QmFzZVR5cGU7CisJfQorCisJdGFyZ2V0RWxlbWVudFR5cGUgPSBnZXRfZWxl bWVudF90eXBlKHRhcmdldFR5cGUpOworCisJaWYgKE9pZElzVmFsaWQodGFyZ2V0RWxlbWVudFR5 cGUpKQorCQl0YXJnZXRFbGVtZW50QmFzZVR5cGUgPSBnZXRCYXNlVHlwZSh0YXJnZXRFbGVtZW50 VHlwZSk7CisJZWxzZQorCXsKKwkJdGFyZ2V0QmFzZVR5cGUgPSBnZXRCYXNlVHlwZSh0YXJnZXRU eXBlKTsKKwkJdGFyZ2V0RWxlbWVudEJhc2VUeXBlID0gZ2V0X2VsZW1lbnRfdHlwZSh0YXJnZXRC YXNlVHlwZSk7CisKKwkJaWYgKCFPaWRJc1ZhbGlkKHRhcmdldEVsZW1lbnRCYXNlVHlwZSkpCisJ CQl0YXJnZXRFbGVtZW50QmFzZVR5cGUgPSB0YXJnZXRCYXNlVHlwZTsKKwl9CisKKwlpZiAoaW5w dXRFbGVtZW50QmFzZVR5cGUgPT0gTU9ORVlPSUQgfHwKKwkJdGFyZ2V0RWxlbWVudEJhc2VUeXBl ID09IE1PTkVZT0lEIHx8CisJCShpbnB1dEVsZW1lbnRCYXNlVHlwZSA9PSBDSVJDTEVPSUQgJiYK KwkJIHRhcmdldEVsZW1lbnRCYXNlVHlwZSA9PSBQT0xZR09OT0lEKSkKKwl7CisJCS8qCisJCSAq IENhc3RzIGludm9sdmluZyB0eXBlIE1PTkVZIGFyZSBub3QgZXJyb3Igc2FmZS4gIFR5cGUgQ0lS Q0xFIHRvIHR5cGUKKwkJICogUE9MWUdPTiBjYXN0IGlzIHVuc2FmZSBiZWNhdXNlIGl0IHJlbGll cyBvbiBhIFNRTC1sYW5ndWFnZQorCQkgKiBmdW5jdGlvbjsgb25seSBDLWxhbmd1YWdlIGZ1bmN0 aW9ucyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZCBmb3IKKwkJICogZXJyb3Igc2FmZSBjYXN0cy4K KwkJICovCisJCWVycm9yc2FmZV9jb2VyY2lvbiA9IGZhbHNlOworCX0KKworCWlmIChlcnJvcnNh ZmVfY29lcmNpb24pCisJeworCQkvKiBMb29rIGluIHBnX2Nhc3QgKi8KKwkJSGVhcFR1cGxlCXR1 cGxlID0gU2VhcmNoU3lzQ2FjaGUyKENBU1RTT1VSQ0VUQVJHRVQsCisJCQkJCQkJCQkJCU9iamVj dElkR2V0RGF0dW0oaW5wdXRFbGVtZW50QmFzZVR5cGUpLAorCQkJCQkJCQkJCQlPYmplY3RJZEdl dERhdHVtKHRhcmdldEVsZW1lbnRCYXNlVHlwZSkpOworCisJCWlmIChIZWFwVHVwbGVJc1ZhbGlk KHR1cGxlKSkKKwkJeworCQkJRm9ybV9wZ19jYXN0IGNhc3RGb3JtID0gKEZvcm1fcGdfY2FzdCkg R0VUU1RSVUNUKHR1cGxlKTsKKworCQkJaWYgKGNhc3RGb3JtLT5vaWQgPiBGaXJzdFVucGlubmVk T2JqZWN0SWQpCisJCQl7CisJCQkJZXJyb3JzYWZlX2NvZXJjaW9uID0gZmFsc2U7CisJCQkJdXNl cmRlZmluZWQgPSB0cnVlOworCQkJfQorCisJCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUpOworCQl9 CisJfQorCisJaWYgKCFlcnJvcnNhZmVfY29lcmNpb24pCiAJCWVyZXBvcnQoRVJST1IsCi0JCQkJ KGVycmNvZGUoRVJSQ09ERV9DQU5OT1RfQ09FUkNFKSwKLQkJCQkgZXJybXNnKCJjYW5ub3QgY2Fz dCB0eXBlICVzIHRvICVzIiwKLQkJCQkJCWZvcm1hdF90eXBlX2JlKGlucHV0VHlwZSksCi0JCQkJ CQlmb3JtYXRfdHlwZV9iZSh0YXJnZXRUeXBlKSksCi0JCQkJIHBhcnNlcl9jb2VyY2lvbl9lcnJw b3NpdGlvbihwc3RhdGUsIGxvY2F0aW9uLCBleHByKSkpOwotCi0JcmV0dXJuIHJlc3VsdDsKKwkJ CQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQllcnJtc2coImNh bm5vdCBjYXN0IHR5cGUgJXMgdG8gJXMgd2hlbiAlcyBleHByZXNzaW9uIGlzIHNwZWNpZmllZCBp biAlcyIsCisJCQkJCSAgIGZvcm1hdF90eXBlX2JlKGlucHV0VHlwZSksCisJCQkJCSAgIGZvcm1h dF90eXBlX2JlKHRhcmdldFR5cGUpLAorCQkJCQkgICAiREVGQVVMVCIsCisJCQkJCSAgICJDQVNU IC4uLiBPTiBDT05WRVJTSU9OIEVSUk9SIiksCisJCQkJdXNlcmRlZmluZWQKKwkJCQk/IGVycmhp bnQoIlNhZmUgdHlwZSBjYXN0IGZvciB1c2VyLWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3Vw cG9ydGVkLiIpCisJCQkJOiBlcnJoaW50KCJFeHBsaWNpdCBjYXN0IGlzIGRlZmluZWQgYnV0IGRl ZmluaXRpb24gaXMgbm90IGVycm9yIHNhZmUuIiksCisJCQkJcGFyc2VyX2VycnBvc2l0aW9uKHBz dGF0ZSwgZXhwckxvY2F0aW9uKHNvdXJjZSkpKTsKIH0KIAogLyoKQEAgLTMyMDMsNiArMzUwMiw4 IEBAIFBhcnNlRXhwcktpbmROYW1lKFBhcnNlRXhwcktpbmQgZXhwcktpbmQpCiAJCWNhc2UgRVhQ Ul9LSU5EX0NIRUNLX0NPTlNUUkFJTlQ6CiAJCWNhc2UgRVhQUl9LSU5EX0RPTUFJTl9DSEVDSzoK IAkJCXJldHVybiAiQ0hFQ0siOworCQljYXNlIEVYUFJfS0lORF9DQVNUX0RFRkFVTFQ6CisJCQly ZXR1cm4gIkNBU1QgREVGQVVMVCI7CiAJCWNhc2UgRVhQUl9LSU5EX0NPTFVNTl9ERUZBVUxUOgog CQljYXNlIEVYUFJfS0lORF9GVU5DVElPTl9ERUZBVUxUOgogCQkJcmV0dXJuICJERUZBVUxUIjsK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfZnVuYy5jCmluZGV4IDI0ZjY3NDU5MjNiLi41OTBhOGE3ODVjOSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfZnVuYy5jCkBAIC0yNzQzLDYgKzI3NDMsOSBAQCBjaGVja19zcmZfY2Fs bF9wbGFjZW1lbnQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50IGxvY2F0 aW9uKQogCQljYXNlIEVYUFJfS0lORF9ET01BSU5fQ0hFQ0s6CiAJCQllcnIgPSBfKCJzZXQtcmV0 dXJuaW5nIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gY2hlY2sgY29uc3RyYWludHMiKTsK IAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9DQVNUX0RFRkFVTFQ6CisJCQllcnIgPSBfKCJz ZXQtcmV0dXJuaW5nIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQ0FTVCBERUZBVUxUIGV4 cHJlc3Npb25zIik7CisJCQlicmVhazsKIAkJY2FzZSBFWFBSX0tJTkRfQ09MVU1OX0RFRkFVTFQ6 CiAJCWNhc2UgRVhQUl9LSU5EX0ZVTkNUSU9OX0RFRkFVTFQ6CiAJCQllcnIgPSBfKCJzZXQtcmV0 dXJuaW5nIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gREVGQVVMVCBleHByZXNzaW9ucyIp OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3R5cGUuYyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV90eXBlLmMKaW5kZXggYmI3ZWNjZGU5ZmQuLjI4M2RmYzJlZTk5IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdHlwZS5jCisrKyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV90eXBlLmMKQEAgLTY2MCw2ICs2NjAsMjQgQEAgc3RyaW5nVHlwZURh dHVtKFR5cGUgdHAsIGNoYXIgKnN0cmluZywgaW50MzIgYXR0dHlwbW9kKQogCXJldHVybiBPaWRJ bnB1dEZ1bmN0aW9uQ2FsbCh0eXBpbnB1dCwgc3RyaW5nLCB0eXBpb3BhcmFtLCBhdHR0eXBtb2Qp OwogfQogCisvKgorICogRXJyb3Itc2FmZSB2ZXJzaW9uIG9mIHN0cmluZ1R5cGVEYXR1bS4KKyAq CisgKiBSZXR1cm5zIHRydWUgaWYgInN0cmluZyIgaXMgYSB2YWxpZCByZXByZXNlbnRhdGlvbiBv ZiB0eXBlICJ0cCIuCisgKiBPbiBzdWNjZXNzLCB0aGUgaW50ZXJuYWwgRGF0dW0gcmVwcmVzZW50 YXRpb24gaXMgd3JpdHRlbiB0byAicmVzdWx0Ii4KKyAqLworYm9vbAorc3RyaW5nVHlwZURhdHVt U2FmZShUeXBlIHRwLCBjaGFyICpzdHJpbmcsIGludDMyIGF0dHR5cG1vZCwKKwkJCQkJTm9kZSAq ZXNjb250ZXh0LCBEYXR1bSAqcmVzdWx0KQoreworCUZvcm1fcGdfdHlwZSB0eXBmb3JtID0gKEZv cm1fcGdfdHlwZSkgR0VUU1RSVUNUKHRwKTsKKwlPaWQJCQl0eXBpbnB1dCA9IHR5cGZvcm0tPnR5 cGlucHV0OworCU9pZAkJCXR5cGlvcGFyYW0gPSBnZXRUeXBlSU9QYXJhbSh0cCk7CisKKwlyZXR1 cm4gT2lkSW5wdXRGdW5jdGlvbkNhbGxTYWZlKHR5cGlucHV0LCBzdHJpbmcsIHR5cGlvcGFyYW0s IGF0dHR5cG1vZCwKKwkJCQkJCQkJCWVzY29udGV4dCwgcmVzdWx0KTsKK30KKwogLyoKICAqIEdp dmVuIGEgdHlwZWlkLCByZXR1cm4gdGhlIHR5cGUncyB0eXByZWxpZCAoYXNzb2NpYXRlZCByZWxh dGlvbiksIGlmIGFueS4KICAqIFJldHVybnMgSW52YWxpZE9pZCBpZiB0eXBlIGlzIG5vdCBhIGNv bXBvc2l0ZSB0eXBlLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxj bWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKaW5kZXggY2MyNDRjNDll OWUuLjRhNTA4MmIzNTY1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRp bGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKQEAgLTQ5NTAs NyArNDk1MCw3IEBAIHRyYW5zZm9ybVBhcnRpdGlvbkJvdW5kVmFsdWUoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBOb2RlICp2YWwsCiAJCWFzc2lnbl9leHByX2NvbGxhdGlvbnMocHN0YXRlLCB2YWx1ZSk7 CiAJCXZhbHVlID0gKE5vZGUgKikgZXhwcmVzc2lvbl9wbGFubmVyKChFeHByICopIHZhbHVlKTsK IAkJdmFsdWUgPSAoTm9kZSAqKSBldmFsdWF0ZV9leHByKChFeHByICopIHZhbHVlLCBjb2xUeXBl LCBjb2xUeXBtb2QsCi0JCQkJCQkJCQkgICBwYXJ0Q29sbGF0aW9uKTsKKwkJCQkJCQkJCSAgIHBh cnRDb2xsYXRpb24sIE5VTEwpOwogCQlpZiAoIUlzQSh2YWx1ZSwgQ29uc3QpKQogCQkJZWxvZyhF UlJPUiwgImNvdWxkIG5vdCBldmFsdWF0ZSBwYXJ0aXRpb24gYm91bmQgZXhwcmVzc2lvbiIpOwog CX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hcnJheWZ1bmNzLmMgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvYXJyYXlmdW5jcy5jCmluZGV4IDczNGU1ZmVhNDVlLi5kYmZlNWY0 YTc5ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FycmF5ZnVuY3MuYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvYXJyYXlmdW5jcy5jCkBAIC0zMjk0LDYgKzMyOTQsMTUg QEAgYXJyYXlfbWFwKERhdHVtIGFycmF5ZCwKIAkJLyogQXBwbHkgdGhlIGdpdmVuIGV4cHJlc3Np b24gdG8gc291cmNlIGVsZW1lbnQgKi8KIAkJdmFsdWVzW2ldID0gRXhlY0V2YWxFeHByKGV4cHJz dGF0ZSwgZWNvbnRleHQsICZudWxsc1tpXSk7CiAKKwkJLyogRXhpdCBlYXJseSBpZiBldmFsdWF0 aW9uIGZhaWxlZCAqLworCQlpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRChleHByc3RhdGUtPmVzY29u dGV4dCkpCisJCXsKKwkJCXBmcmVlKHZhbHVlcyk7CisJCQlwZnJlZShudWxscyk7CisKKwkJCXJl dHVybiAoRGF0dW0pIDA7CisJCX0KKwogCQlpZiAobnVsbHNbaV0pCiAJCQloYXNudWxscyA9IHRy dWU7CiAJCWVsc2UKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwppbmRleCA2Mjk4YTM3Zjg4ZS4u NzgyOTJhNmM5NmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKQEAgLTEwNTg0LDYgKzEw NTg0LDMxIEBAIGdldF9ydWxlX2V4cHIoTm9kZSAqbm9kZSwgZGVwYXJzZV9jb250ZXh0ICpjb250 ZXh0LAogCQkJfQogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX1NhZmVUeXBlQ2FzdEV4cHI6CisJCQl7 CisJCQkJU2FmZVR5cGVDYXN0RXhwciAqc3RjZXhwciA9IGNhc3ROb2RlKFNhZmVUeXBlQ2FzdEV4 cHIsIG5vZGUpOworCisJCQkJLyoKKwkJCQkgKiBXZSBjYW5ub3QganVzdCBkZXBhcnNpbmcgY2Fz dGV4cHIgZGlyZWN0bHkgaGVyZSwgc2luY2UKKwkJCQkgKiB0cmFuc2Zvcm1UeXBlQ2FzdCBtYXkg aGF2ZSBhbHJlYWR5IGNvbnN0YW50LWZvbGRpbmcgaXQgaW50bworCQkJCSAqIGEgTlVMTC4gSW5z dGVhZCwgd2UgdXNlIHNvdXJjZSBhbmQgZGVmZXhwciB0byByZWNvbnN0cnVjdAorCQkJCSAqIHRo ZSBDQVNUIERFRkFVTFQgY2xhdXNlLgorCQkJCSAqLworCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJp bmcoYnVmLCAiQ0FTVCgiKTsKKwkJCQlnZXRfcnVsZV9leHByKChOb2RlICopIHN0Y2V4cHItPnNv dXJjZSwgY29udGV4dCwgc2hvd2ltcGxpY2l0KTsKKworCQkJCWFwcGVuZFN0cmluZ0luZm8oYnVm LCAiIEFTICVzICIsCisJCQkJCQkJCSBmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3RjZXhwci0+ cmVzdWx0dHlwZSwKKwkJCQkJCQkJCQkJCQkJICBzdGNleHByLT5yZXN1bHR0eXBtb2QpKTsKKwor CQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiREVGQVVMVCAiKTsKKworCQkJCWdldF9y dWxlX2V4cHIoKE5vZGUgKikgc3RjZXhwci0+ZGVmZXhwciwgY29udGV4dCwgc2hvd2ltcGxpY2l0 KTsKKworCQkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiIE9OIENPTlZFUlNJT04gRVJS T1IpIik7CisJCQl9CisJCQlicmVhazsKKwogCQljYXNlIFRfSnNvbkV4cHI6CiAJCQl7CiAJCQkJ SnNvbkV4cHIgICAqamV4cHIgPSAoSnNvbkV4cHIgKikgbm9kZTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2ZtZ3IvZm1nci5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9mbWdyLmMK aW5kZXggNGUyNmRmN2M2M2EuLmM2NzA3ZThjMzVjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9mbWdyL2ZtZ3IuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYwpAQCAt MTc1OSw2ICsxNzU5LDE5IEBAIE9pZElucHV0RnVuY3Rpb25DYWxsKE9pZCBmdW5jdGlvbklkLCBj aGFyICpzdHIsIE9pZCB0eXBpb3BhcmFtLCBpbnQzMiB0eXBtb2QpCiAJcmV0dXJuIElucHV0RnVu Y3Rpb25DYWxsKCZmbGluZm8sIHN0ciwgdHlwaW9wYXJhbSwgdHlwbW9kKTsKIH0KIAorLyogZXJy b3Itc2FmZSB2ZXJzaW9uIG9mIE9pZElucHV0RnVuY3Rpb25DYWxsICovCitib29sCitPaWRJbnB1 dEZ1bmN0aW9uQ2FsbFNhZmUoT2lkIGZ1bmN0aW9uSWQsIGNoYXIgKnN0ciwgT2lkIHR5cGlvcGFy YW0sCisJCQkJCQkgaW50MzIgdHlwbW9kLCBOb2RlICplc2NvbnRleHQsCisJCQkJCQkgRGF0dW0g KnJlc3VsdCkKK3sKKwlGbWdySW5mbwlmbGluZm87CisKKwlmbWdyX2luZm8oZnVuY3Rpb25JZCwg JmZsaW5mbyk7CisJcmV0dXJuIElucHV0RnVuY3Rpb25DYWxsU2FmZSgmZmxpbmZvLCBzdHIsIHR5 cGlvcGFyYW0sIHR5cG1vZCwKKwkJCQkJCQkJIGVzY29udGV4dCwgcmVzdWx0KTsKK30KKwogY2hh ciAqCiBPaWRPdXRwdXRGdW5jdGlvbkNhbGwoT2lkIGZ1bmN0aW9uSWQsIERhdHVtIHZhbCkKIHsK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNFeHByLmggYi9zcmMvaW5jbHVk ZS9leGVjdXRvci9leGVjRXhwci5oCmluZGV4IGFhOWIzNjFmYTMxLi5mYTlkYjhmZDY4NyAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY0V4cHIuaAorKysgYi9zcmMvaW5jbHVk ZS9leGVjdXRvci9leGVjRXhwci5oCkBAIC0yNjUsNiArMjY1LDcgQEAgdHlwZWRlZiBlbnVtIEV4 cHJFdmFsT3AKIAlFRU9QX1hNTEVYUFIsCiAJRUVPUF9KU09OX0NPTlNUUlVDVE9SLAogCUVFT1Bf SVNfSlNPTiwKKwlFRU9QX1NBRkVUWVBFX0NBU1QsCiAJRUVPUF9KU09ORVhQUl9QQVRILAogCUVF T1BfSlNPTkVYUFJfQ09FUkNJT04sCiAJRUVPUF9KU09ORVhQUl9DT0VSQ0lPTl9GSU5JU0gsCkBA IC03NTAsNiArNzUxLDEyIEBAIHR5cGVkZWYgc3RydWN0IEV4cHJFdmFsU3RlcAogCQkJSnNvbklz UHJlZGljYXRlICpwcmVkOwkvKiBvcmlnaW5hbCBleHByZXNzaW9uIG5vZGUgKi8KIAkJfQkJCWlz X2pzb247CiAKKwkJLyogZm9yIEVFT1BfU0FGRVRZUEVfQ0FTVCAqLworCQlzdHJ1Y3QKKwkJewor CQkJc3RydWN0IFNhZmVUeXBlQ2FzdFN0YXRlICpzdGNzdGF0ZTsKKwkJfQkJCXN0Y2V4cHI7CisK IAkJLyogZm9yIEVFT1BfSlNPTkVYUFJfUEFUSCAqLwogCQlzdHJ1Y3QKIAkJewpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvZm1nci5oIGIvc3JjL2luY2x1ZGUvZm1nci5oCmluZGV4IDEwZDAyYmRi NzlmLi44ZTNlNTFkYzIyOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvZm1nci5oCisrKyBiL3Ny Yy9pbmNsdWRlL2ZtZ3IuaApAQCAtNzUyLDYgKzc1Miw5IEBAIGV4dGVybiBib29sIERpcmVjdElu cHV0RnVuY3Rpb25DYWxsU2FmZShQR0Z1bmN0aW9uIGZ1bmMsIGNoYXIgKnN0ciwKIAkJCQkJCQkJ CQlEYXR1bSAqcmVzdWx0KTsKIGV4dGVybiBEYXR1bSBPaWRJbnB1dEZ1bmN0aW9uQ2FsbChPaWQg ZnVuY3Rpb25JZCwgY2hhciAqc3RyLAogCQkJCQkJCQkgIE9pZCB0eXBpb3BhcmFtLCBpbnQzMiB0 eXBtb2QpOworZXh0ZXJuIGJvb2wgT2lkSW5wdXRGdW5jdGlvbkNhbGxTYWZlKE9pZCBmdW5jdGlv bklkLCBjaGFyICpzdHIsIE9pZCB0eXBpb3BhcmFtLAorCQkJCQkJCQkJIGludDMyIHR5cG1vZCwg Tm9kZSAqZXNjb250ZXh0LAorCQkJCQkJCQkJIERhdHVtICpyZXN1bHQpOwogZXh0ZXJuIGNoYXIg Kk91dHB1dEZ1bmN0aW9uQ2FsbChGbWdySW5mbyAqZmxpbmZvLCBEYXR1bSB2YWwpOwogZXh0ZXJu IGNoYXIgKk9pZE91dHB1dEZ1bmN0aW9uQ2FsbChPaWQgZnVuY3Rpb25JZCwgRGF0dW0gdmFsKTsK IGV4dGVybiBEYXR1bSBSZWNlaXZlRnVuY3Rpb25DYWxsKEZtZ3JJbmZvICpmbGluZm8sIFN0cmlu Z0luZm8gYnVmLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggYi9z cmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaAppbmRleCA2M2MwNjdkNWFhZS4uMDhlNzVlNzA5 NjggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCkBAIC0xMDYyLDYgKzEwNjIsMjcgQEAgdHlwZWRlZiBz dHJ1Y3QgRG9tYWluQ29uc3RyYWludFN0YXRlCiAJRXhwclN0YXRlICAqY2hlY2tfZXhwcnN0YXRl OwkvKiBjaGVja19leHByJ3MgZXZhbCBzdGF0ZSwgb3IgTlVMTCAqLwogfSBEb21haW5Db25zdHJh aW50U3RhdGU7CiAKK3R5cGVkZWYgc3RydWN0IFNhZmVUeXBlQ2FzdFN0YXRlCit7CisJU2FmZVR5 cGVDYXN0RXhwciAqc3RjZXhwcjsKKworCS8qCisJICogQWRkcmVzcyB0byBqdW1wIHRvIHdoZW4g c2tpcHBpbmcgYWxsIHRoZSBzdGVwcyB0byBldmF1bGF0ZSB0aGUgZGVmYXVsdAorCSAqIGV4cHJl c3Npb24uCisJICovCisJaW50CQkJanVtcF9lbmQ7CisKKwkvKgorCSAqIEZvciBlcnJvci1zYWZl IGV2YWx1YXRpb24gb2YgY29lcmNpb25zLiBBIHBvaW50ZXIgdG8gdGhpcyBpcyBwYXNzZWQgdG8K KwkgKiBFeGVjSW5pdEV4cHJSZWMoKSB3aGVuIGluaXRpYWxpemluZyB0aGUgY29lcmNpb24gZXhw cmVzc2lvbnMsIHNlZQorCSAqIEV4ZWNJbml0U2FmZVR5cGVDYXN0RXhwci4KKwkgKgorCSAqIFJl c2V0IGZvciBlYWNoIGV2YWx1YXRpb24gb2YgRUVPUF9TQUZFVFlQRV9DQVNULgorCSAqLworCUVy cm9yU2F2ZUNvbnRleHQgZXNjb250ZXh0OworCit9IFNhZmVUeXBlQ2FzdFN0YXRlOworCiAvKgog ICogU3RhdGUgZm9yIEpzb25FeHByIGV2YWx1YXRpb24sIHRvbyBiaWcgdG8gaW5saW5lLgogICoK ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRl L25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCBmM2QzMmVmMDE4OC4uOGIwZWQzYWVmYTUgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9u b2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTM5Nyw2ICszOTcsNyBAQCB0eXBlZGVmIHN0cnVjdCBUeXBl Q2FzdAogCU5vZGVUYWcJCXR5cGU7CiAJTm9kZQkgICAqYXJnOwkJCS8qIHRoZSBleHByZXNzaW9u IGJlaW5nIGNhc3RlZCAqLwogCVR5cGVOYW1lICAgKnR5cGVOYW1lOwkJLyogdGhlIHRhcmdldCB0 eXBlICovCisJTm9kZQkgICAqZGVmZXhwcjsJCS8qIERFRkFVTFQgZXhwcmVzc2lvbiAqLwogCVBh cnNlTG9jCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8K IH0gVHlwZUNhc3Q7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5o IGIvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKaW5kZXggMzg0ZGY1MGM4MGEuLmZjOTYz YTYwNzJiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9z cmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtNzcwLDYgKzc3MCwzMSBAQCB0eXBlZGVm IGVudW0gQ29lcmNpb25Gb3JtCiAJQ09FUkNFX1NRTF9TWU5UQVgsCQkJLyogZGlzcGxheSB3aXRo IFNRTC1tYW5kYXRlZCBzcGVjaWFsIHN5bnRheCAqLwogfSBDb2VyY2lvbkZvcm07CiAKKy8qCisg KiBTYWZlVHlwZUNhc3RFeHByIC0KKyAqCQlUcmFuc2Zvcm1lZCByZXByZXNlbnRhdGlvbiBvZgor ICogCQlDQVNUKGV4cHIgQVMgdHlwZW5hbWUgREVGQVVMVCBleHByIE9OIENPTlZFUlNJT04gRVJS T1IpCisgKiAJCUNBU1QoZXhwciBBUyB0eXBlbmFtZSBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip CisgKi8KK3R5cGVkZWYgc3RydWN0IFNhZmVUeXBlQ2FzdEV4cHIKK3sKKwlFeHByCQl4cHI7CisJ LyogdHJhbnNmb3JtZWQgc291cmNlIGV4cHJlc3Npb24gZnJvbSBwYXJzZXIgKi8KKwlFeHByCSAg ICpzb3VyY2U7CisJLyogdHJhbnNmb3JtZWQgY2FzdCBleHByZXNzaW9uLCBOVUxMIG1lYW5zIGNh bm5vdCBjb2VyY2UgdG8gdGFyZ2V0IHR5cGUgKi8KKwlFeHByCSAgICpjYXN0ZXhwciBwZ19ub2Rl X2F0dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7CisJLyogRmFsbC1iYWNrIHRvIHRoZSBkZWZhdWx0 IGV4cHJlc3Npb24gaWYgY2FzdCBldmFsdWF0aW9uIGZhaWxzICovCisJRXhwcgkgICAqZGVmZXhw cjsKKwkvKiB0YXJnZXQgdHlwZSBPaWQgKi8KKwlPaWQJCQlyZXN1bHR0eXBlOworCS8qIHRhcmdl dCB0eXBlIG1vZGlmaWVyICovCisJaW50MzIJCXJlc3VsdHR5cG1vZDsKKwkvKiBPSUQgb2YgY29s bGF0aW9uLCBvciBJbnZhbGlkT2lkIGlmIG5vbmUgKi8KKwlPaWQJCQlyZXN1bHRjb2xsaWQ7CisJ LyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8KKwlQYXJzZUxvYwlsb2NhdGlv bjsKK30gU2FmZVR5cGVDYXN0RXhwcjsKKwogLyoKICAqIEZ1bmNFeHByIC0gZXhwcmVzc2lvbiBu b2RlIGZvciBhIGZ1bmN0aW9uIGNhbGwKICAqCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9vcHRp bWl6ZXIvb3B0aW1pemVyLmggYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvb3B0aW1pemVyLmgKaW5k ZXggZThiNDA5YWZiN2YuLmI2ODZiZTA0OWI5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9vcHRp bWl6ZXIvb3B0aW1pemVyLmgKKysrIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL29wdGltaXplci5o CkBAIC0xNTEsNyArMTUxLDcgQEAgZXh0ZXJuIHZvaWQgY29udmVydF9zYW9wX3RvX2hhc2hlZF9z YW9wKE5vZGUgKm5vZGUpOwogZXh0ZXJuIE5vZGUgKmVzdGltYXRlX2V4cHJlc3Npb25fdmFsdWUo UGxhbm5lckluZm8gKnJvb3QsIE5vZGUgKm5vZGUpOwogCiBleHRlcm4gRXhwciAqZXZhbHVhdGVf ZXhwcihFeHByICpleHByLCBPaWQgcmVzdWx0X3R5cGUsIGludDMyIHJlc3VsdF90eXBtb2QsCi0J CQkJCQkgICBPaWQgcmVzdWx0X2NvbGxhdGlvbik7CisJCQkJCQkgICBPaWQgcmVzdWx0X2NvbGxh dGlvbiwgTm9kZSAqZXNjb250ZXh0KTsKIAogZXh0ZXJuIGJvb2wgdmFyX2lzX25vbm51bGxhYmxl KFBsYW5uZXJJbmZvICpyb290LCBWYXIgKnZhciwKIAkJCQkJCQkgICBOb3ROdWxsU291cmNlIHNv dXJjZSk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfY29lcmNlLmggYi9z cmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfY29lcmNlLmgKaW5kZXggYWFiYWNkNDliNjUuLmVlOTM5 ZWFjNTU2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfY29lcmNlLmgKKysr IGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX2NvZXJjZS5oCkBAIC00MywxMSArNDMsMjQgQEAg ZXh0ZXJuIE5vZGUgKmNvZXJjZV90b190YXJnZXRfdHlwZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJ CQkJCQkJCSAgIENvZXJjaW9uQ29udGV4dCBjY29udGV4dCwKIAkJCQkJCQkJICAgQ29lcmNpb25G b3JtIGNmb3JtYXQsCiAJCQkJCQkJCSAgIGludCBsb2NhdGlvbik7CitleHRlcm4gTm9kZSAqY29l cmNlX3RvX3RhcmdldF90eXBlX2V4dGVuZGVkKFBhcnNlU3RhdGUgKnBzdGF0ZSwKKwkJCQkJCQkJ CQkJTm9kZSAqZXhwciwKKwkJCQkJCQkJCQkJT2lkIGV4cHJ0eXBlLAorCQkJCQkJCQkJCQlPaWQg dGFyZ2V0dHlwZSwKKwkJCQkJCQkJCQkJaW50MzIgdGFyZ2V0dHlwbW9kLAorCQkJCQkJCQkJCQlD b2VyY2lvbkNvbnRleHQgY2NvbnRleHQsCisJCQkJCQkJCQkJCUNvZXJjaW9uRm9ybSBjZm9ybWF0 LAorCQkJCQkJCQkJCQlpbnQgbG9jYXRpb24sCisJCQkJCQkJCQkJCU5vZGUgKmVzY29udGV4dCk7 CiBleHRlcm4gYm9vbCBjYW5fY29lcmNlX3R5cGUoaW50IG5hcmdzLCBjb25zdCBPaWQgKmlucHV0 X3R5cGVpZHMsIGNvbnN0IE9pZCAqdGFyZ2V0X3R5cGVpZHMsCiAJCQkJCQkJQ29lcmNpb25Db250 ZXh0IGNjb250ZXh0KTsKIGV4dGVybiBOb2RlICpjb2VyY2VfdHlwZShQYXJzZVN0YXRlICpwc3Rh dGUsIE5vZGUgKm5vZGUsCiAJCQkJCQkgT2lkIGlucHV0VHlwZUlkLCBPaWQgdGFyZ2V0VHlwZUlk LCBpbnQzMiB0YXJnZXRUeXBlTW9kLAogCQkJCQkJIENvZXJjaW9uQ29udGV4dCBjY29udGV4dCwg Q29lcmNpb25Gb3JtIGNmb3JtYXQsIGludCBsb2NhdGlvbik7CitleHRlcm4gTm9kZSAqY29lcmNl X3R5cGVfZXh0ZW5kZWQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpub2RlLAorCQkJCQkJCQkg IE9pZCBpbnB1dFR5cGVJZCwgT2lkIHRhcmdldFR5cGVJZCwgaW50MzIgdGFyZ2V0VHlwZU1vZCwK KwkJCQkJCQkJICBDb2VyY2lvbkNvbnRleHQgY2NvbnRleHQsIENvZXJjaW9uRm9ybSBjZm9ybWF0 LCBpbnQgbG9jYXRpb24sCisJCQkJCQkJCSAgTm9kZSAqZXNjb250ZXh0KTsKIGV4dGVybiBOb2Rl ICpjb2VyY2VfdG9fZG9tYWluKE5vZGUgKmFyZywgT2lkIGJhc2VUeXBlSWQsIGludDMyIGJhc2VU eXBlTW9kLAogCQkJCQkJCSAgT2lkIHR5cGVJZCwKIAkJCQkJCQkgIENvZXJjaW9uQ29udGV4dCBj Y29udGV4dCwgQ29lcmNpb25Gb3JtIGNmb3JtYXQsIGludCBsb2NhdGlvbiwKZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmggYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFy c2Vfbm9kZS5oCmluZGV4IGYyM2UyMWYzMThiLi4yZGQwYzA5NWNlZiAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFy c2Vfbm9kZS5oCkBAIC02Nyw2ICs2Nyw4IEBAIHR5cGVkZWYgZW51bSBQYXJzZUV4cHJLaW5kCiAJ RVhQUl9LSU5EX1ZBTFVFU19TSU5HTEUsCS8qIHNpbmdsZS1yb3cgVkFMVUVTIChpbiBJTlNFUlQg b25seSkgKi8KIAlFWFBSX0tJTkRfQ0hFQ0tfQ09OU1RSQUlOVCwgLyogQ0hFQ0sgY29uc3RyYWlu dCBmb3IgYSB0YWJsZSAqLwogCUVYUFJfS0lORF9ET01BSU5fQ0hFQ0ssCQkvKiBDSEVDSyBjb25z dHJhaW50IGZvciBhIGRvbWFpbiAqLworCUVYUFJfS0lORF9DQVNUX0RFRkFVTFQsCQkvKiBkZWZh dWx0IGV4cHJlc3Npb24gaW4gQ0FTVCBERUZBVUxUIE9OCisJCQkJCQkJCSAqIENPTlZFUlNJT04g RVJST1IgKi8KIAlFWFBSX0tJTkRfQ09MVU1OX0RFRkFVTFQsCS8qIGRlZmF1bHQgdmFsdWUgZm9y IGEgdGFibGUgY29sdW1uICovCiAJRVhQUl9LSU5EX0ZVTkNUSU9OX0RFRkFVTFQsIC8qIGRlZmF1 bHQgcGFyYW1ldGVyIHZhbHVlIGZvciBmdW5jdGlvbiAqLwogCUVYUFJfS0lORF9JTkRFWF9FWFBS RVNTSU9OLCAvKiBpbmRleCBleHByZXNzaW9uICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9w YXJzZXIvcGFyc2VfdHlwZS5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3R5cGUuaAppbmRl eCBhMzM1ODA3YjBiMC4uZTMwM2ExMDczYzEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNl ci9wYXJzZV90eXBlLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3R5cGUuaApAQCAt NDcsNiArNDcsOCBAQCBleHRlcm4gY2hhciAqdHlwZVR5cGVOYW1lKFR5cGUgdCk7CiBleHRlcm4g T2lkCXR5cGVUeXBlUmVsaWQoVHlwZSB0eXApOwogZXh0ZXJuIE9pZAl0eXBlVHlwZUNvbGxhdGlv bihUeXBlIHR5cCk7CiBleHRlcm4gRGF0dW0gc3RyaW5nVHlwZURhdHVtKFR5cGUgdHAsIGNoYXIg KnN0cmluZywgaW50MzIgYXR0dHlwbW9kKTsKK2V4dGVybiBib29sIHN0cmluZ1R5cGVEYXR1bVNh ZmUoVHlwZSB0cCwgY2hhciAqc3RyaW5nLCBpbnQzMiBhdHR0eXBtb2QsCisJCQkJCQkJCU5vZGUg KmVzY29udGV4dCwgRGF0dW0gKnJlc3VsdCk7CiAKIGV4dGVybiBPaWQJdHlwZWlkVHlwZVJlbGlk KE9pZCB0eXBlX2lkKTsKIGV4dGVybiBPaWQJdHlwZU9yRG9tYWluVHlwZVJlbGlkKE9pZCB0eXBl X2lkKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY2FzdC5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Nhc3Qub3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi42M2UwZDFjMjg0NgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvY2FzdC5vdXQKQEAgLTAsMCArMSw4MDkgQEAKK1NFVCBleHRyYV9m bG9hdF9kaWdpdHMgPSAwOworLS0gQ0FTVCBERUZBVUxUIE9OIENPTlZFUlNJT04gRVJST1IKK1NF TEVDVCBDQVNUKEInMDEnIEFTIGRhdGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip OworIGRhdGUgCistLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIENBU1QoQklUJzAxJyBBUyBk YXRlIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBkYXRlIAorLS0tLS0tCisg CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKFRSVUUgQVMgZGF0ZSBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUik7CisgZGF0ZSAKKy0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgQ0FT VCgxLjEgQVMgZGF0ZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgZGF0ZSAK Ky0tLS0tLQorIAorKDEgcm93KQorCitTRUxFQ1QgQ0FTVCgxIEFTIGRhdGUgREVGQVVMVCBOVUxM IE9OIENPTlZFUlNJT04gRVJST1IpOworIGRhdGUgCistLS0tLS0KKyAKKygxIHJvdykKKworU0VM RUNUIENBU1QoMTExMSBBUyAiY2hhciIgREVGQVVMVCAnQScgT04gQ09OVkVSU0lPTiBFUlJPUik7 CisgY2hhciAKKy0tLS0tLQorIEEKKygxIHJvdykKKworLS0gc291cmNlIGV4cHJlc3Npb24gaXMg YSB1bmtub3duIGNvbnN0CitWQUxVRVMgKENBU1QoJ2Vycm9yJyBBUyBpbnRlZ2VyIEVSUk9SIE9O IENPTlZFUlNJT04gRVJST1IpKTsgLS0gZXJyb3IKK0VSUk9SOiAgaW52YWxpZCBpbnB1dCBzeW50 YXggZm9yIHR5cGUgaW50ZWdlcjogImVycm9yIgorTElORSAxOiBWQUxVRVMgKENBU1QoJ2Vycm9y JyBBUyBpbnRlZ2VyIEVSUk9SIE9OIENPTlZFUlNJT04gRVJST1IpKTsKKyAgICAgICAgICAgICAg ICAgICAgIF4KK1ZBTFVFUyAoQ0FTVCgnZXJyb3InIEFTIGludGVnZXIgTlVMTCBPTiBDT05WRVJT SU9OIEVSUk9SKSk7CisgY29sdW1uMSAKKy0tLS0tLS0tLQorICAgICAgICAKKygxIHJvdykKKwor VkFMVUVTIChDQVNUKCdlcnJvcicgQVMgaW50ZWdlciBERUZBVUxUIDQyIE9OIENPTlZFUlNJT04g RVJST1IpKTsKKyBjb2x1bW4xIAorLS0tLS0tLS0tCisgICAgICA0MgorKDEgcm93KQorCitTRUxF Q1QgQ0FTVCgnYScgYXMgaW50IERFRkFVTFQgMTggT04gQ09OVkVSU0lPTiBFUlJPUik7CisgaW50 NCAKKy0tLS0tLQorICAgMTgKKygxIHJvdykKKworU0VMRUNUIENBU1QoJ2EnIGFzIGludCBERUZB VUxUIHN1bSgxKSBPTiBDT05WRVJTSU9OIEVSUk9SKTsgLS0gZXJyb3IKK0VSUk9SOiAgYWdncmVn YXRlIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQ0FTVCBERUZBVUxUIGV4cHJlc3Npb25z CitMSU5FIDE6IFNFTEVDVCBDQVNUKCdhJyBhcyBpbnQgREVGQVVMVCBzdW0oMSkgT04gQ09OVkVS U0lPTiBFUlJPUik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitT RUxFQ1QgQ0FTVCgnYScgYXMgaW50IERFRkFVTFQgc3VtKDEpIG92ZXIoKSBPTiBDT05WRVJTSU9O IEVSUk9SKTsgLS0gZXJyb3IKK0VSUk9SOiAgd2luZG93IGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93 ZWQgaW4gQ0FTVCBERUZBVUxUIGV4cHJlc3Npb25zCitMSU5FIDE6IFNFTEVDVCBDQVNUKCdhJyBh cyBpbnQgREVGQVVMVCBzdW0oMSkgb3ZlcigpIE9OIENPTlZFUlNJT04gRS4uLgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorU0VMRUNUIENBU1QoJ2EnIGFzIGludCBE RUZBVUxUIChTRUxFQ1QgTlVMTCkgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCitFUlJP UjogIGNhbm5vdCB1c2Ugc3VicXVlcnkgaW4gQ0FTVCBERUZBVUxUIGV4cHJlc3Npb24KK0xJTkUg MTogU0VMRUNUIENBU1QoJ2EnIGFzIGludCBERUZBVUxUIChTRUxFQ1QgTlVMTCkgT04gQ09OVkVS U0lPTiBFLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitTRUxF Q1QgQ0FTVCgnYScgYXMgaW50IERFRkFVTFQgJ2InIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBl cnJvcgorRVJST1I6ICBpbnZhbGlkIGlucHV0IHN5bnRheCBmb3IgdHlwZSBpbnRlZ2VyOiAiYiIK K0xJTkUgMTogU0VMRUNUIENBU1QoJ2EnIGFzIGludCBERUZBVUxUICdiJyBPTiBDT05WRVJTSU9O IEVSUk9SKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK1NFTEVD VCBDQVNUKCdhJzo6aW50IGFzIGludCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7 IC0tIGVycm9yCitFUlJPUjogIGludmFsaWQgaW5wdXQgc3ludGF4IGZvciB0eXBlIGludGVnZXI6 ICJhIgorTElORSAxOiBTRUxFQ1QgQ0FTVCgnYSc6OmludCBhcyBpbnQgREVGQVVMVCBOVUxMIE9O IENPTlZFUlNJT04gRVJST1IuLi4KKyAgICAgICAgICAgICAgICAgICAgXgorLS0gdGhlIGRlZmF1 bHQgZXhwcmVzc2lvbuKAmXMgY29sbGF0aW9uIHNob3VsZCBtYXRjaCB0YXJnZXQgdHlwZSBjb2xs YXRpb24KK1ZBTFVFUyAoQ0FTVCgnZXJyb3InIEFTIHRleHQgREVGQVVMVCAnMScgQ09MTEFURSAi QyIgT04gQ09OVkVSU0lPTiBFUlJPUikpOworRVJST1I6ICB0aGUgY29sbGF0aW9uIG9mIENBU1Qg REVGQVVMVCBleHByZXNzaW9uIGNvbmZsaWN0cyB3aXRoIHRhcmdldCB0eXBlIGNvbGxhdGlvbgor TElORSAxOiBWQUxVRVMgKENBU1QoJ2Vycm9yJyBBUyB0ZXh0IERFRkFVTFQgJzEnIENPTExBVEUg IkMiIE9OIENPTlYuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KK0RFVEFJTDogICJkZWZhdWx0IiB2ZXJzdXMgIkMiCitWQUxVRVMgKENBU1QoJ2Vycm9y JyBBUyBpbnQydmVjdG9yIERFRkFVTFQgJzEgMycgIE9OIENPTlZFUlNJT04gRVJST1IpKTsKKyBj b2x1bW4xIAorLS0tLS0tLS0tCisgMSAzCisoMSByb3cpCisKK1ZBTFVFUyAoQ0FTVCgnZXJyb3In IEFTIGludDJ2ZWN0b3JbXSBERUZBVUxUICd7MSAzfScgIE9OIENPTlZFUlNJT04gRVJST1IpKTsK KyBjb2x1bW4xIAorLS0tLS0tLS0tCisgeyIxIDMifQorKDEgcm93KQorCistLSBzb3VyY2UgZXhw cmVzc2lvbiBjb250YWluIHN1YnF1ZXJ5CitTRUxFQ1QgQ0FTVCgoU0VMRUNUIGIgRlJPTSBnZW5l cmF0ZV9zZXJpZXMoMSwgMSksIChWQUxVRVMoJ0gnKSkgcyhiKSkKKyAgICAgICAgICAgIEFTIGlu dDJ2ZWN0b3JbXSBERUZBVUxUICd7MSAzfScgIE9OIENPTlZFUlNJT04gRVJST1IpOworICAgIGIg ICAgCistLS0tLS0tLS0KKyB7IjEgMyJ9CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKChTRUxFQ1Qg QVJSQVkoKFNFTEVDVCBiIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDIpIGcsIChWQUxVRVMoJ0gn KSkgcyhiKSkpKQorICAgICAgICAgICAgQVMgSU5UW10KKyAgICAgICAgICAgIERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBhcnJheSAKKy0tLS0tLS0KKyAKKygxIHJvdykKKwor Q1JFQVRFIEZVTkNUSU9OIHJldF9pbnQ4KCkgUkVUVVJOUyBCSUdJTlQgQVMKKyQkCitCRUdJTiBS RVRVUk4gMjE0NzQ4MzY0ODsgRU5EOworJCQKK0xBTkdVQUdFIHBscGdzcWwgSU1NVVRBQkxFOwor U0VMRUNUIENBU1QoJ2EnIGFzIGludCBERUZBVUxUIHJldF9pbnQ4KCkgT04gQ09OVkVSU0lPTiBF UlJPUik7IC0tIGVycm9yCitFUlJPUjogIGludGVnZXIgb3V0IG9mIHJhbmdlCitTRUxFQ1QgQ0FT VCgnYScgYXMgZGF0ZSBERUZBVUxUIHJldF9pbnQ4KCkgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0t IGVycm9yCitFUlJPUjogIGNhbm5vdCBjb2VyY2UgQ0FTVCBERUZBVUxUIGV4cHJlc3Npb24gdG8g dHlwZSBkYXRlCitMSU5FIDE6IFNFTEVDVCBDQVNUKCdhJyBhcyBkYXRlIERFRkFVTFQgcmV0X2lu dDgoKSBPTiBDT05WRVJTSU9OIEVSUi4uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KKy0tIERFRkFVTFQgZXhwcmVzc2lvbiBjYW5ub3QgYmUgc2V0LXJldHVybmlu ZworQ1JFQVRFIEZVTkNUSU9OIHJldF9zZXRpbnQoKSBSRVRVUk5TIFNFVE9GIGludGVnZXIgQVMK KyQkCitCRUdJTiBSRVRVUk4gUVVFUlkgRVhFQ1VURSAnc2VsZWN0IDEgdW5pb24gYWxsIHNlbGVj dCAxJzsgRU5EOworJCQKK0xBTkdVQUdFIHBscGdzcWwgSU1NVVRBQkxFOworQ1JFQVRFIFRBQkxF IHRjYXN0KGEgdGV4dFtdLCBiIGludCBHRU5FUkFURUQgQlkgREVGQVVMVCBBUyBJREVOVElUWSk7 CitJTlNFUlQgSU5UTyB0Y2FzdCBWQUxVRVMgKCd7MTJ9JyksICgnezEsYSwgYn0nKSwgKCd7ezEs Mn0sIHtjLGR9fScpLCAoJ3sxM30nKTsKK1NFTEVDVCBDQVNUKCdhJyBhcyBpbnQgREVGQVVMVCBy ZXRfc2V0aW50KCkgT04gQ09OVkVSU0lPTiBFUlJPUikgRlJPTSB0Y2FzdDsgLS0gZXJyb3IKK0VS Uk9SOiAgc2V0LXJldHVybmluZyBmdW5jdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIENBU1QgREVG QVVMVCBleHByZXNzaW9ucworTElORSAxOiBTRUxFQ1QgQ0FTVCgnYScgYXMgaW50IERFRkFVTFQg cmV0X3NldGludCgpIE9OIENPTlZFUlNJT04gRVIuLi4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KK1NFTEVDVCBDQVNUKHQgQVMgdGV4dFtdIERFRkFVTFQgJ3syMSwy MiwgJyB8fCBiIHx8ICd9JyBPTiBDT05WRVJTSU9OIEVSUk9SKSBGUk9NIHRjYXN0IGFzIHQ7Cisg ICAgIHQgICAgIAorLS0tLS0tLS0tLS0KKyB7MjEsMjIsMX0KKyB7MjEsMjIsMn0KKyB7MjEsMjIs M30KKyB7MjEsMjIsNH0KKyg0IHJvd3MpCisKK1NFTEVDVCBDQVNUKHQuYSBBUyBpbnRbXSBERUZB VUxUICd7MjEsMjJ9Jzo6aW50W10gfHwgYiBPTiBDT05WRVJTSU9OIEVSUk9SKSBGUk9NIHRjYXN0 IGFzIHQ7CisgICAgIGEgICAgIAorLS0tLS0tLS0tLS0KKyB7MTJ9CisgezIxLDIyLDJ9CisgezIx LDIyLDN9CisgezEzfQorKDQgcm93cykKKworLS0gdGVzdCB3aXRoIHVzZXItZGVmaW5lZCB0eXBl LCBkb21haW4sIGFycmF5IG92ZXIgZG9tYWluLCBkb21haW4gb3ZlciBhcnJheQorQ1JFQVRFIERP TUFJTiBkX2ludDQyIGFzIGludCBjaGVjayAodmFsdWUgPSA0MikgTk9UIE5VTEw7CitDUkVBVEUg RE9NQUlOIGRfY2hhcjNfbm90X251bGwgYXMgY2hhcigzKSBOT1QgTlVMTDsKK0NSRUFURSBET01B SU4gZF92YXJjaGFyIGFzIHZhcmNoYXIoMykgTk9UIE5VTEw7CitDUkVBVEUgRE9NQUlOIGRfaW50 X2FyciBhcyBpbnRbXSBjaGVjayAodmFsdWUgPSAnezQxLCA0M30nKSBOT1QgTlVMTDsKK0NSRUFU RSBUWVBFIGNvbXBfZG9tYWluX3dpdGhfdHlwbW9kIEFTIChhIGRfY2hhcjNfbm90X251bGwsIGIg aW50KTsKK0NSRUFURSBUWVBFIGNvbXAyIEFTIChhIGRfdmFyY2hhcik7CitTRUxFQ1QgQ0FTVCgn KE5VTEwpJyBBUyBjb21wMiBERUZBVUxUICcoMTIzMiknIE9OIENPTlZFUlNJT04gRVJST1IpOyAt LSBlcnJvcgorRVJST1I6ICB2YWx1ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0ZXIgdmFyeWlu ZygzKQorTElORSAxOiBTRUxFQ1QgQ0FTVCgnKE5VTEwpJyBBUyBjb21wMiBERUZBVUxUICcoMTIz MiknIE9OIENPTlZFUlNJT04uLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCitTRUxFQ1QgQ0FTVCgnKE5VTEwpJyBBUyBjb21wMiBERUZBVUxUICcoMTIz KScgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgY29tcDIgCistLS0tLS0tCisgKDEyMykKKygxIHJv dykKKworU0VMRUNUIENBU1QoMTEgQVMgZF9pbnQ0MiBERUZBVUxUIDQxIE9OIENPTlZFUlNJT04g RVJST1IpOyAtLSBlcnJvcgorRVJST1I6ICB2YWx1ZSBmb3IgZG9tYWluIGRfaW50NDIgdmlvbGF0 ZXMgY2hlY2sgY29uc3RyYWludCAiZF9pbnQ0Ml9jaGVjayIKK1NFTEVDVCBDQVNUKDExIEFTIGRf aW50NDIgREVGQVVMVCA0MiBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBkX2ludDQyIAorLS0tLS0t LS0tCisgICAgICA0MgorKDEgcm93KQorCitTRUxFQ1QgQ0FTVChOVUxMIEFTIGRfaW50NDIgREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBlcnJvcgorRVJST1I6ICBkb21haW4g ZF9pbnQ0MiBkb2VzIG5vdCBhbGxvdyBudWxsIHZhbHVlcworU0VMRUNUIENBU1QoTlVMTCBBUyBk X2ludDQyIERFRkFVTFQgNDIgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgZF9pbnQ0MiAKKy0tLS0t LS0tLQorICAgICAgNDIKKygxIHJvdykKKworU0VMRUNUIENBU1QoJygsNDIpJyBBUyBjb21wX2Rv bWFpbl93aXRoX3R5cG1vZCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgY29t cF9kb21haW5fd2l0aF90eXBtb2QgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCisoMSBy b3cpCisKK1NFTEVDVCBDQVNUKCcoTlVMTCw0MiknIEFTIGNvbXBfZG9tYWluX3dpdGhfdHlwbW9k IERFRkFVTFQgJygxLDIpJyBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBjb21wX2RvbWFpbl93aXRo X3R5cG1vZCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAoIjEgICIsMikKKygxIHJvdykK KworU0VMRUNUIENBU1QoJyhOVUxMLDQyKScgQVMgY29tcF9kb21haW5fd2l0aF90eXBtb2QgREVG QVVMVCAnKDEyMzQsMiknIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBlcnJvcgorRVJST1I6ICB2 YWx1ZSB0b28gbG9uZyBmb3IgdHlwZSBjaGFyYWN0ZXIoMykKK0xJTkUgMTogLi4uU1QoJyhOVUxM LDQyKScgQVMgY29tcF9kb21haW5fd2l0aF90eXBtb2QgREVGQVVMVCAnKDEyMzQsMiknLi4uCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgorU0VMRUNUIENBU1QoQVJSQVlbNDIsNDFdIEFTIGRfaW50NDJbXSBERUZBVUxUICd7NDIs IDQyfScgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgIGFycmF5ICAKKy0tLS0tLS0tLQorIHs0Miw0 Mn0KKygxIHJvdykKKworU0VMRUNUIENBU1QoQVJSQVlbNDIsNDFdIEFTIGRfaW50X2FyciBERUZB VUxUICd7NDEsIDQzfScgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgIGFycmF5ICAKKy0tLS0tLS0t LQorIHs0MSw0M30KKygxIHJvdykKKworLS0gdGVzdCBhcnJheSBjb2VyY2UKK1NFTEVDVCBDQVNU KGFycmF5WydhJzo6dGV4dF0gQVMgaW50W10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJS T1IpOyAtLSBlcnJvcgorRVJST1I6ICBpbnZhbGlkIGlucHV0IHN5bnRheCBmb3IgdHlwZSBpbnRl Z2VyOiAiYSIKK1NFTEVDVCBDQVNUKGFycmF5WydhJ10gQVMgaW50W10gREVGQVVMVCBBUlJBWVsx XSBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBhcnJheSAKKy0tLS0tLS0KKyB7MX0KKygxIHJvdykK KworU0VMRUNUIENBU1QoYXJyYXlbMTEuMTJdIEFTIGRhdGVbXSBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUik7CisgYXJyYXkgCistLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBD QVNUKGFycmF5WzExMTExMTExMTExMTExMTExXSBBUyBpbnRbXSBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUik7CisgYXJyYXkgCistLS0tLS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBD QVNUKGFycmF5W1snYWJjJ10sWzQ1Nl1dIEFTIGludFtdIERFRkFVTFQgTlVMTCBPTiBDT05WRVJT SU9OIEVSUk9SKTsKKyBhcnJheSAKKy0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIENBU1Qo J3sxMjMsYWJjLDQ1Nn0nIEFTIGludFtdIERFRkFVTFQgJ3stNzg5fScgT04gQ09OVkVSU0lPTiBF UlJPUik7CisgIGludDQgIAorLS0tLS0tLS0KKyB7LTc4OX0KKygxIHJvdykKKworU0VMRUNUIENB U1QoJ3syMzQsZGVmLDU2N30nOjp0ZXh0W10gQVMgaW50ZWdlcltdIERFRkFVTFQgJ3stMTAxMX0n IE9OIENPTlZFUlNJT04gRVJST1IpOworICBpbnQ0ICAgCistLS0tLS0tLS0KKyB7LTEwMTF9Ciso MSByb3cpCisKK1NFTEVDVCBDQVNUKEFSUkFZW1snMSddLCBbJ3RocmVlJ10sWydhJ11dIEFTIGlu dFtdIERFRkFVTFQgJ3sxLDJ9JyBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBhcnJheSAKKy0tLS0t LS0KKyB7MSwyfQorKDEgcm93KQorCitTRUxFQ1QgQ0FTVChBUlJBWVtbJzEnLCAnMiddLCBbJ3Ro cmVlJywgJ2EnXV0gQVMgaW50W10gREVGQVVMVCAnezIxLDIyfScgT04gQ09OVkVSU0lPTiBFUlJP Uik7IC0tb2sKKyAgYXJyYXkgIAorLS0tLS0tLS0tCisgezIxLDIyfQorKDEgcm93KQorCitTRUxF Q1QgQ0FTVChBUlJBWVtbJzEnLCAnMiddLCBbJ3RocmVlJzo6aW50LCAnYSddXSBBUyBpbnRbXSBE RUZBVUxUICd7MjEsMjJ9JyBPTiBDT05WRVJTSU9OIEVSUk9SKTsgLS0gZXJyb3IKK0VSUk9SOiAg aW52YWxpZCBpbnB1dCBzeW50YXggZm9yIHR5cGUgaW50ZWdlcjogInRocmVlIgorTElORSAxOiBT RUxFQ1QgQ0FTVChBUlJBWVtbJzEnLCAnMiddLCBbJ3RocmVlJzo6aW50LCAnYSddXSBBUyBpbnRb XSAuLi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK1NFTEVDVCBD QVNUKEFSUkFZWzEsICd0aHJlZSc6OmludF0gQVMgaW50W10gREVGQVVMVCAnezIxLDIyfScgT04g Q09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCitFUlJPUjogIGludmFsaWQgaW5wdXQgc3ludGF4 IGZvciB0eXBlIGludGVnZXI6ICJ0aHJlZSIKK0xJTkUgMTogU0VMRUNUIENBU1QoQVJSQVlbMSwg J3RocmVlJzo6aW50XSBBUyBpbnRbXSBERUZBVUxUICd7MjEsMjJ9Li4uCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KKy0tLS0tc2FmZSBjYXN0IHdpdGggZ2VvbWV0cnkgZGF0YSB0eXBl CitTRUxFQ1QgQ0FTVCgnKDEsMiknOjpwb2ludCBBUyBib3ggREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpOworICAgICBib3ggICAgIAorLS0tLS0tLS0tLS0tLQorICgxLDIpLCgxLDIp CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCdbKE5hTiwxKSwoTmFOLGluZmluaXR5KV0nOjpsc2Vn IEFTIHBvaW50IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyAgICAgcG9pbnQg ICAgICAKKy0tLS0tLS0tLS0tLS0tLS0KKyAoTmFOLEluZmluaXR5KQorKDEgcm93KQorCitTRUxF Q1QgQ0FTVCgnWygxZSszMDAsSW5maW5pdHkpLCgxZSszMDAsSW5maW5pdHkpXSc6OmxzZWcgQVMg cG9pbnQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworICAgICAgIHBvaW50ICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorICgxZSszMDAsSW5maW5pdHkpCisoMSByb3cpCisK K1NFTEVDVCBDQVNUKCdbKDEsMiksKDMsNCldJzo6cGF0aCBhcyBwb2x5Z29uIERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBwb2x5Z29uIAorLS0tLS0tLS0tCisgCisoMSByb3cp CisKK1NFTEVDVCBDQVNUKCcoTmFOLDEuMCxOYU4saW5maW5pdHkpJzo6Ym94IEFTIHBvaW50IERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyAgICAgcG9pbnQgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0KKyAoTmFOLEluZmluaXR5KQorKDEgcm93KQorCitTRUxFQ1QgQ0FTVCgnKDIu MCwyLjAsMC4wLDAuMCknOjpib3ggQVMgbHNlZyBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBF UlJPUik7CisgICAgIGxzZWcgICAgICAKKy0tLS0tLS0tLS0tLS0tLQorIFsoMiwyKSwoMCwwKV0K KygxIHJvdykKKworU0VMRUNUIENBU1QoJygyLjAsMi4wLDAuMCwwLjApJzo6Ym94IEFTIHBvbHln b24gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworICAgICAgICAgIHBvbHlnb24g ICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAoKDAsMCksKDAsMiksKDIs MiksKDIsMCkpCisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCcoMi4wLDIuMCwwLjAsMC4wKSc6OmJv eCBBUyBwYXRoIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBwYXRoIAorLS0t LS0tCisgCisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCcoMi4wLGluZmluaXR5LE5hTixpbmZpbml0 eSknOjpib3ggQVMgY2lyY2xlIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyAg ICAgICAgY2lyY2xlICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyA8KE5hTixJbmZp bml0eSksTmFOPgorKDEgcm93KQorCitTRUxFQ1QgQ0FTVCgnKE5hTiwwLjApLCgyLjAsNC4wKSwo MC4wLGluZmluaXR5KSc6OnBvbHlnb24gQVMgcG9pbnQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpOworICAgICBwb2ludCAgICAgIAorLS0tLS0tLS0tLS0tLS0tLQorIChOYU4sSW5m aW5pdHkpCisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCcoMi4wLDAuMCksKDIuMCw0LjApLCgwLjAs MC4wKSc6OnBvbHlnb24gQVMgcGF0aCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7 CisgICAgICAgIHBhdGggICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICgoMiwwKSwo Miw0KSwoMCwwKSkKKygxIHJvdykKKworU0VMRUNUIENBU1QoJygyLjAsMC4wKSwoMi4wLDQuMCks KDAuMCwwLjApJzo6cG9seWdvbiBBUyBib3ggREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJS T1IpOworICAgICBib3ggICAgIAorLS0tLS0tLS0tLS0tLQorICgyLDQpLCgwLDApCisoMSByb3cp CisKK1NFTEVDVCBDQVNUKCcoTmFOLGluZmluaXR5KSwoMi4wLDQuMCksKDAuMCxpbmZpbml0eSkn Ojpwb2x5Z29uIEFTIGNpcmNsZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7Cisg ICAgICAgIGNpcmNsZSAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgPChOYU4sSW5m aW5pdHkpLE5hTj4KKygxIHJvdykKKworU0VMRUNUIENBU1QoJzwoNSwxKSwzPic6OmNpcmNsZSBB UyBwb2ludCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgcG9pbnQgCistLS0t LS0tCisgKDUsMSkKKygxIHJvdykKKworU0VMRUNUIENBU1QoJzwoMyw1KSwwPic6OmNpcmNsZSBh cyBib3ggREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworICAgICBib3ggICAgIAor LS0tLS0tLS0tLS0tLQorICgzLDUpLCgzLDUpCisoMSByb3cpCisKKy0tIGNhc3QgZnJvbSB0eXBl IGNpcmNsZSB0byB0eXBlIHBvbHlnb24gaXMgaW1wbGVtZW50ZWQgYXMgYW4gU1FMIGZ1bmN0aW9u LCB3aGljaCBjYW5ub3QgYmUgZXJyb3Itc2FmZQorU0VMRUNUIENBU1QoJzwoMyw1KSwwPic6OmNp cmNsZSBhcyBwb2x5Z29uIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK0VSUk9S OiAgY2Fubm90IGNhc3QgdHlwZSBjaXJjbGUgdG8gcG9seWdvbiB3aGVuIERFRkFVTFQgZXhwcmVz c2lvbiBpcyBzcGVjaWZpZWQgaW4gQ0FTVCAuLi4gT04gQ09OVkVSU0lPTiBFUlJPUgorTElORSAx OiBTRUxFQ1QgQ0FTVCgnPCgzLDUpLDA+Jzo6Y2lyY2xlIGFzIHBvbHlnb24gREVGQVVMVCBOVUxM IE9OIEMuLi4KKyAgICAgICAgICAgICAgICAgICAgXgorSElOVDogIEV4cGxpY2l0IGNhc3QgaXMg ZGVmaW5lZCBidXQgZGVmaW5pdGlvbiBpcyBub3QgZXJyb3Igc2FmZS4KKy0tLSBzYWZlIGNhc3Qg ZnJvbS90byBtb25leSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQsIGFsbCB0aGUgZm9sbG93aW5nIHdv dWxkIHJlc3VsdCBlcnJvcgorU0VMRUNUIENBU1QoTlVMTDo6aW50OCBBUyBtb25leSBERUZBVUxU IE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitFUlJPUjogIGNhbm5vdCBjYXN0IHR5cGUgYmln aW50IHRvIG1vbmV5IHdoZW4gREVGQVVMVCBleHByZXNzaW9uIGlzIHNwZWNpZmllZCBpbiBDQVNU IC4uLiBPTiBDT05WRVJTSU9OIEVSUk9SCitMSU5FIDE6IFNFTEVDVCBDQVNUKE5VTEw6OmludDgg QVMgbW9uZXkgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRS4uLgorICAgICAgICAgICAgICAg ICAgICBeCitISU5UOiAgRXhwbGljaXQgY2FzdCBpcyBkZWZpbmVkIGJ1dCBkZWZpbml0aW9uIGlz IG5vdCBlcnJvciBzYWZlLgorU0VMRUNUIENBU1QoTlVMTDo6aW50NCBBUyBtb25leSBERUZBVUxU IE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitFUlJPUjogIGNhbm5vdCBjYXN0IHR5cGUgaW50 ZWdlciB0byBtb25leSB3aGVuIERFRkFVTFQgZXhwcmVzc2lvbiBpcyBzcGVjaWZpZWQgaW4gQ0FT VCAuLi4gT04gQ09OVkVSU0lPTiBFUlJPUgorTElORSAxOiBTRUxFQ1QgQ0FTVChOVUxMOjppbnQ0 IEFTIG1vbmV5IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEUuLi4KKyAgICAgICAgICAgICAg ICAgICAgXgorSElOVDogIEV4cGxpY2l0IGNhc3QgaXMgZGVmaW5lZCBidXQgZGVmaW5pdGlvbiBp cyBub3QgZXJyb3Igc2FmZS4KK1NFTEVDVCBDQVNUKE5VTEw6Om51bWVyaWMgQVMgbW9uZXkgREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworRVJST1I6ICBjYW5ub3QgY2FzdCB0eXBl IG51bWVyaWMgdG8gbW9uZXkgd2hlbiBERUZBVUxUIGV4cHJlc3Npb24gaXMgc3BlY2lmaWVkIGlu IENBU1QgLi4uIE9OIENPTlZFUlNJT04gRVJST1IKK0xJTkUgMTogU0VMRUNUIENBU1QoTlVMTDo6 bnVtZXJpYyBBUyBtb25leSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPLi4uCisgICAgICAgICAg ICAgICAgICAgIF4KK0hJTlQ6ICBFeHBsaWNpdCBjYXN0IGlzIGRlZmluZWQgYnV0IGRlZmluaXRp b24gaXMgbm90IGVycm9yIHNhZmUuCitTRUxFQ1QgQ0FTVChOVUxMOjptb25leSBBUyBudW1lcmlj IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK0VSUk9SOiAgY2Fubm90IGNhc3Qg dHlwZSBtb25leSB0byBudW1lcmljIHdoZW4gREVGQVVMVCBleHByZXNzaW9uIGlzIHNwZWNpZmll ZCBpbiBDQVNUIC4uLiBPTiBDT05WRVJTSU9OIEVSUk9SCitMSU5FIDE6IFNFTEVDVCBDQVNUKE5V TEw6Om1vbmV5IEFTIG51bWVyaWMgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJTy4uLgorICAgICAg ICAgICAgICAgICAgICBeCitISU5UOiAgRXhwbGljaXQgY2FzdCBpcyBkZWZpbmVkIGJ1dCBkZWZp bml0aW9uIGlzIG5vdCBlcnJvciBzYWZlLgorU0VMRUNUIENBU1QoTlVMTDo6bW9uZXlbXSBBUyBu dW1lcmljW10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworRVJST1I6ICBjYW5u b3QgY2FzdCB0eXBlIG1vbmV5W10gdG8gbnVtZXJpY1tdIHdoZW4gREVGQVVMVCBleHByZXNzaW9u IGlzIHNwZWNpZmllZCBpbiBDQVNUIC4uLiBPTiBDT05WRVJTSU9OIEVSUk9SCitMSU5FIDE6IFNF TEVDVCBDQVNUKE5VTEw6Om1vbmV5W10gQVMgbnVtZXJpY1tdIERFRkFVTFQgTlVMTCBPTiBDT05W RS4uLgorICAgICAgICAgICAgICAgICAgICBeCitISU5UOiAgRXhwbGljaXQgY2FzdCBpcyBkZWZp bmVkIGJ1dCBkZWZpbml0aW9uIGlzIG5vdCBlcnJvciBzYWZlLgorLS0gc2FmZSBjYXN0IGZyb20g Ynl0ZWEgdHlwZSB0byBvdGhlciBkYXRhIHR5cGVzCitTRUxFQ1QgQ0FTVCAoJ1x4MTEyMjMzNDQ1 NTY2Nzc4ODk5Jzo6Ynl0ZWEgQVMgaW50OCBERUZBVUxUIDE5IE9OIENPTlZFUlNJT04gRVJST1Ip OworIGludDggCistLS0tLS0KKyAgIDE5CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCdceDEyMzQ1 Njc4OUEnOjpieXRlYSBBUyBpbnQ0IERFRkFVTFQgMjAgT04gQ09OVkVSU0lPTiBFUlJPUik7Cisg aW50NCAKKy0tLS0tLQorICAgMjAKKygxIHJvdykKKworU0VMRUNUIENBU1QoJ1x4MTIzNDU2Jzo6 Ynl0ZWEgQVMgaW50MiBERUZBVUxUIDIxIE9OIENPTlZFUlNJT04gRVJST1IpOworIGludDIgCist LS0tLS0KKyAgIDIxCisoMSByb3cpCisKKy0tIHNhZmUgY2FzdCBmcm9tIGJpdCB0eXBlIHRvIG90 aGVyIGRhdGEgdHlwZXMKK1NFTEVDVCBDQVNUKCcxMTExMTExMTExMDAwMDEnOjpiaXQoMTAwKSBB UyBJTlQgREVGQVVMVCAyMiBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBpbnQ0IAorLS0tLS0tCisg ICAyMgorKDEgcm93KQorCitTRUxFQ1QgQ0FTVCAoJzExMTExMTExMTEwMDAwMSc6OmJpdCgxMDAp IEFTIElOVDggREVGQVVMVCAyMyBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKyBpbnQ4IAorLS0tLS0t CisgICAyMworKDEgcm93KQorCistLS0gc2FmZSBjYXN0IGZyb20gdGV4dCB0eXBlIHRvIG90aGVy IGRhdGEgdHlwZXMKK3NlbGVjdCBDQVNUKCdhLmIuYy5kJzo6dGV4dCBhcyByZWdjbGFzcyBkZWZh dWx0IE5VTEwgb24gY29udmVyc2lvbiBlcnJvcik7CisgcmVnY2xhc3MgCistLS0tLS0tLS0tCisg CisoMSByb3cpCisKK0NSRUFURSBUQUJMRSB0ZXN0X3NhZmVjYXN0KGNvbDAgdGV4dCk7CitJTlNF UlQgSU5UTyB0ZXN0X3NhZmVjYXN0KGNvbDApIFZBTFVFUyAoJzx2YWx1ZT5vbmU8L3ZhbHVlJyk7 CitTRUxFQ1QgY29sMCBhcyB0ZXh0LAorICAgICAgIENBU1QoY29sMCBBUyByZWdjbGFzcyBERUZB VUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fcmVnY2xhc3MsCisgICAgICAgQ0FT VChjb2wwIEFTIHJlZ2NsYXNzIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBJUyBO VUxMIGFzIGV4cGVjdF90cnVlLAorICAgICAgIENBU1QoY29sMCBBUyAiY2hhciIgIERFRkFVTFQg TlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19jaGFyLAorICAgICAgIENBU1QoY29sMCBB UyBuYW1lIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19uYW1lLAorICAg ICAgIENBU1QoY29sMCBBUyB4bWwgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX3htbAorRlJPTSB0ZXN0X3NhZmVjYXN0OworICAgICAgIHRleHQgICAgICAgIHwgdG9fcmVn Y2xhc3MgfCBleHBlY3RfdHJ1ZSB8IHRvX2NoYXIgfCAgICAgIHRvX25hbWUgICAgICB8IHRvX3ht bCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tCisgPHZhbHVlPm9uZTwvdmFsdWUgfCAg ICAgICAgICAgICB8IHQgICAgICAgICAgIHwgPCAgICAgICB8IDx2YWx1ZT5vbmU8L3ZhbHVlIHwg CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCcxOTIuMTY4LjEueCcgYXMgaW5ldCBERUZBVUxUIE5V TEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgaW5ldCAKKy0tLS0tLQorIAorKDEgcm93KQorCitT RUxFQ1QgQ0FTVCgnMTkyLjE2OC4xLjIvMzAnIGFzIGNpZHIgREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpOworIGNpZHIgCistLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIENBU1Qo JzIyOjAwOjVjOjA4OjU1OjA4OjAxOjAyJzo6bWFjYWRkcjggYXMgbWFjYWRkciBERUZBVUxUIE5V TEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgbWFjYWRkciAKKy0tLS0tLS0tLQorIAorKDEgcm93 KQorCistLS0gc2FmZSBjYXN0IGJldHdlZWVuIHJhbmdlIGRhdGEgdHlwZXMKK1NFTEVDVCBDQVNU KCdbMSwyXSc6OmludDRyYW5nZSBBUyBpbnQ0bXVsdGlyYW5nZSBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUik7CisgaW50NG11bHRpcmFuZ2UgCistLS0tLS0tLS0tLS0tLS0tCisge1sx LDMpfQorKDEgcm93KQorCitTRUxFQ1QgQ0FTVCgnWzEsMl0nOjppbnQ4cmFuZ2UgQVMgaW50OG11 bHRpcmFuZ2UgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworIGludDhtdWx0aXJh bmdlIAorLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwzKX0KKygxIHJvdykKKworU0VMRUNUIENBU1Qo J1sxLDJdJzo6bnVtcmFuZ2UgIEFTIG51bW11bHRpcmFuZ2UgREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpOworIG51bW11bHRpcmFuZ2UgCistLS0tLS0tLS0tLS0tLS0KKyB7WzEsMl19 CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCdbLWluZmluaXR5LGluZmluaXR5XSc6OmRhdGVyYW5n ZSBBUyBkYXRlbXVsdGlyYW5nZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7Cisg ICAgIGRhdGVtdWx0aXJhbmdlICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbLWlu ZmluaXR5LGluZmluaXR5XX0KKygxIHJvdykKKworU0VMRUNUIENBU1QoJ1staW5maW5pdHksaW5m aW5pdHldJzo6dHNyYW5nZSBBUyB0c211bHRpcmFuZ2UgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpOworICAgICAgdHNtdWx0aXJhbmdlICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyB7Wy1pbmZpbml0eSxpbmZpbml0eV19CisoMSByb3cpCisKK1NFTEVDVCBDQVNUKCdb LWluZmluaXR5LGluZmluaXR5XSc6OnRzdHpyYW5nZSBBUyB0c3R6bXVsdGlyYW5nZSBERUZBVUxU IE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisgICAgIHRzdHptdWx0aXJhbmdlICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbLWluZmluaXR5LGluZmluaXR5XX0KKygxIHJvdykK KworLS0gc2FmZSBjYXN0IGJldHdlZWVuIG51bWVyaWMgZGF0YSB0eXBlcworQ1JFQVRFIFRBQkxF IHRlc3Rfc2FmZWNhc3QxKAorICBjb2wxIGZsb2F0NCwgY29sMiBmbG9hdDgsIGNvbDMgbnVtZXJp YywgY29sNCBudW1lcmljW10sCisgIGNvbDUgaW50MiBkZWZhdWx0IDMyNzY3LAorICBjb2w2IGlu dDQgZGVmYXVsdCAzMjc2OCwKKyAgY29sNyBpbnQ4IGRlZmF1bHQgNDI5NDk2NzI5Nik7CitJTlNF UlQgSU5UTyB0ZXN0X3NhZmVjYXN0MSBWQUxVRVMoJzExLjEyMzQnLCAnMTEuMTIzNCcsICc5MjIz MzcyMDM2ODU0Nzc1ODA4JywgJ3sxMS4xMjM0fSc6Om51bWVyaWNbXSk7CitJTlNFUlQgSU5UTyB0 ZXN0X3NhZmVjYXN0MSBWQUxVRVMoJ2luZicsICdpbmYnLCAnaW5mJywgJ3sxMS4xMjM0LCAxMiwg aW5mLCBOYU59Jzo6bnVtZXJpY1tdKTsKK0lOU0VSVCBJTlRPIHRlc3Rfc2FmZWNhc3QxIFZBTFVF UygnLWluZicsICctaW5mJywgJy1pbmYnLCAnezExLjEyMzQsIDEyLCAtaW5mLCBOYU59Jzo6bnVt ZXJpY1tdKTsKK0lOU0VSVCBJTlRPIHRlc3Rfc2FmZWNhc3QxIFZBTFVFUygnTmFOJywgJ05hTics ICdOYU4nLCAnezExLjEyMzQsIDEyLCAtaW5mLCBOYU59Jzo6bnVtZXJpY1tdKTsKK1NFTEVDVCBj b2w1IGFzIGludDIsCisgICAgICAgQ0FTVChjb2w1IEFTIGludDIgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIHRvX2ludDIsCisgICAgICAgQ0FTVChjb2w1IEFTIGludDQgREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2ludDQsCisgICAgICAgQ0FTVChj b2w1IEFTIG9pZCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fb2lkLAor ICAgICAgIENBU1QoY29sNSBhcyBpbnQ4IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9S KSBhcyB0b19pbnQ4LAorICAgICAgIENBU1QoY29sNSBhcyBmbG9hdDQgREVGQVVMVCBOVUxMIE9O IENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2Zsb2F0NCwKKyAgICAgICBDQVNUKGNvbDUgYXMgZmxv YXQ4IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDgsCisgICAg ICAgQ0FTVChjb2w1IGFzIG51bWVyaWMgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip IGFzIHRvX251bWVyaWMsCisgICAgICAgQ0FTVChjb2w1IGFzIG51bWVyaWMoMTAsMSkgREVGQVVM VCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX251bWVyaWNfc2NhbGUKK0ZST00gdGVz dF9zYWZlY2FzdDE7CisgaW50MiAgfCB0b19pbnQyIHwgdG9faW50NCB8IHRvX29pZCB8IHRvX2lu dDggfCB0b19mbG9hdDQgfCB0b19mbG9hdDggfCB0b19udW1lcmljIHwgdG9fbnVtZXJpY19zY2Fs ZSAKKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQorIDMyNzY3 IHwgICAzMjc2NyB8ICAgMzI3NjcgfCAgMzI3NjcgfCAgIDMyNzY3IHwgICAgIDMyNzY3IHwgICAg IDMyNzY3IHwgICAgICAzMjc2NyB8ICAgICAgICAgIDMyNzY3LjAKKyAzMjc2NyB8ICAgMzI3Njcg fCAgIDMyNzY3IHwgIDMyNzY3IHwgICAzMjc2NyB8ICAgICAzMjc2NyB8ICAgICAzMjc2NyB8ICAg ICAgMzI3NjcgfCAgICAgICAgICAzMjc2Ny4wCisgMzI3NjcgfCAgIDMyNzY3IHwgICAzMjc2NyB8 ICAzMjc2NyB8ICAgMzI3NjcgfCAgICAgMzI3NjcgfCAgICAgMzI3NjcgfCAgICAgIDMyNzY3IHwg ICAgICAgICAgMzI3NjcuMAorIDMyNzY3IHwgICAzMjc2NyB8ICAgMzI3NjcgfCAgMzI3NjcgfCAg IDMyNzY3IHwgICAgIDMyNzY3IHwgICAgIDMyNzY3IHwgICAgICAzMjc2NyB8ICAgICAgICAgIDMy NzY3LjAKKyg0IHJvd3MpCisKK1NFTEVDVCBjb2w2IGFzIGludDQsCisgICAgICAgQ0FTVChjb2w2 IEFTIGludDIgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2ludDIsCisg ICAgICAgQ0FTVChjb2w2IEFTIGludDQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip IGFzIHRvX2ludDQsCisgICAgICAgQ0FTVChjb2w2IEFTIG9pZCBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUikgYXMgdG9fb2lkLAorICAgICAgIENBU1QoY29sNiBhcyBpbnQ4IERFRkFV TFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ4LAorICAgICAgIENBU1QoY29s NiBhcyBmbG9hdDQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2Zsb2F0 NCwKKyAgICAgICBDQVNUKGNvbDYgYXMgZmxvYXQ4IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9O IEVSUk9SKSBhcyB0b19mbG9hdDgsCisgICAgICAgQ0FTVChjb2w2IGFzIG51bWVyaWMgREVGQVVM VCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX251bWVyaWMsCisgICAgICAgQ0FTVChj b2w2IGFzIG51bWVyaWMoMTAsMSkgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX251bWVyaWNfc2NhbGUKK0ZST00gdGVzdF9zYWZlY2FzdDE7CisgaW50NCAgfCB0b19pbnQy IHwgdG9faW50NCB8IHRvX29pZCB8IHRvX2ludDggfCB0b19mbG9hdDQgfCB0b19mbG9hdDggfCB0 b19udW1lcmljIHwgdG9fbnVtZXJpY19zY2FsZSAKKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLQorIDMyNzY4IHwgICAgICAgICB8ICAgMzI3NjggfCAgMzI3Njgg fCAgIDMyNzY4IHwgICAgIDMyNzY4IHwgICAgIDMyNzY4IHwgICAgICAzMjc2OCB8ICAgICAgICAg IDMyNzY4LjAKKyAzMjc2OCB8ICAgICAgICAgfCAgIDMyNzY4IHwgIDMyNzY4IHwgICAzMjc2OCB8 ICAgICAzMjc2OCB8ICAgICAzMjc2OCB8ICAgICAgMzI3NjggfCAgICAgICAgICAzMjc2OC4wCisg MzI3NjggfCAgICAgICAgIHwgICAzMjc2OCB8ICAzMjc2OCB8ICAgMzI3NjggfCAgICAgMzI3Njgg fCAgICAgMzI3NjggfCAgICAgIDMyNzY4IHwgICAgICAgICAgMzI3NjguMAorIDMyNzY4IHwgICAg ICAgICB8ICAgMzI3NjggfCAgMzI3NjggfCAgIDMyNzY4IHwgICAgIDMyNzY4IHwgICAgIDMyNzY4 IHwgICAgICAzMjc2OCB8ICAgICAgICAgIDMyNzY4LjAKKyg0IHJvd3MpCisKK1NFTEVDVCBjb2w3 IGFzIGludDgsCisgICAgICAgQ0FTVChjb2w3IEFTIGludDIgREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpIGFzIHRvX2ludDIsCisgICAgICAgQ0FTVChjb2w3IEFTIGludDQgREVGQVVM VCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2ludDQsCisgICAgICAgQ0FTVChjb2w3 IEFTIG9pZCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fb2lkLAorICAg ICAgIENBU1QoY29sNyBhcyBpbnQ4IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b19pbnQ4LAorICAgICAgIENBU1QoY29sNyBhcyBmbG9hdDQgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIHRvX2Zsb2F0NCwKKyAgICAgICBDQVNUKGNvbDcgYXMgZmxvYXQ4 IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDgsCisgICAgICAg Q0FTVChjb2w3IGFzIG51bWVyaWMgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX251bWVyaWMsCisgICAgICAgQ0FTVChjb2w3IGFzIG51bWVyaWMoMTAsMSkgREVGQVVMVCBO VUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX251bWVyaWNfc2NhbGUKK0ZST00gdGVzdF9z YWZlY2FzdDE7CisgICAgaW50OCAgICB8IHRvX2ludDIgfCB0b19pbnQ0IHwgdG9fb2lkIHwgIHRv X2ludDggICB8ICB0b19mbG9hdDQgIHwgdG9fZmxvYXQ4ICB8IHRvX251bWVyaWMgfCB0b19udW1l cmljX3NjYWxlIAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0KKyA0Mjk0OTY3Mjk2IHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCA0 Mjk0OTY3Mjk2IHwgNC4yOTQ5N2UrMDkgfCA0Mjk0OTY3Mjk2IHwgNDI5NDk2NzI5NiB8ICAgICAg ICAgICAgICAgICAKKyA0Mjk0OTY3Mjk2IHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCA0 Mjk0OTY3Mjk2IHwgNC4yOTQ5N2UrMDkgfCA0Mjk0OTY3Mjk2IHwgNDI5NDk2NzI5NiB8ICAgICAg ICAgICAgICAgICAKKyA0Mjk0OTY3Mjk2IHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCA0 Mjk0OTY3Mjk2IHwgNC4yOTQ5N2UrMDkgfCA0Mjk0OTY3Mjk2IHwgNDI5NDk2NzI5NiB8ICAgICAg ICAgICAgICAgICAKKyA0Mjk0OTY3Mjk2IHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCA0 Mjk0OTY3Mjk2IHwgNC4yOTQ5N2UrMDkgfCA0Mjk0OTY3Mjk2IHwgNDI5NDk2NzI5NiB8ICAgICAg ICAgICAgICAgICAKKyg0IHJvd3MpCisKK1NFTEVDVCBjb2wzIGFzIG51bWVyaWMsCisgICAgICAg Q0FTVChjb2wzIEFTIGludDIgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRv X2ludDIsCisgICAgICAgQ0FTVChjb2wzIEFTIGludDQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpIGFzIHRvX2ludDQsCisgICAgICAgQ0FTVChjb2wzIEFTIG9pZCBERUZBVUxUIE5V TEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fb2lkLAorICAgICAgIENBU1QoY29sMyBhcyBp bnQ4IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ4LAorICAgICAg IENBU1QoY29sMyBhcyBmbG9hdDQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX2Zsb2F0NCwKKyAgICAgICBDQVNUKGNvbDMgYXMgZmxvYXQ4IERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDgsCisgICAgICAgQ0FTVChjb2wzIGFzIG51bWVy aWMgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX251bWVyaWMsCisgICAg ICAgQ0FTVChjb2wzIGFzIG51bWVyaWMoMTAsMSkgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04g RVJST1IpIGFzIHRvX251bWVyaWNfc2NhbGUKK0ZST00gdGVzdF9zYWZlY2FzdDE7CisgICAgICAg bnVtZXJpYyAgICAgICB8IHRvX2ludDIgfCB0b19pbnQ0IHwgdG9fb2lkIHwgdG9faW50OCB8ICB0 b19mbG9hdDQgIHwgICAgICB0b19mbG9hdDggICAgICAgfCAgICAgdG9fbnVtZXJpYyAgICAgIHwg dG9fbnVtZXJpY19zY2FsZSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQorIDkyMjMzNzIwMzY4 NTQ3NzU4MDggfCAgICAgICAgIHwgICAgICAgICB8ICAgICAgICB8ICAgICAgICAgfCA5LjIyMzM3 ZSsxOCB8IDkuMjIzMzcyMDM2ODU0NzhlKzE4IHwgOTIyMzM3MjAzNjg1NDc3NTgwOCB8ICAgICAg ICAgICAgICAgICAKKyAgICAgICAgICAgIEluZmluaXR5IHwgICAgICAgICB8ICAgICAgICAgfCAg ICAgICAgfCAgICAgICAgIHwgICAgSW5maW5pdHkgfCAgICAgICAgICAgICBJbmZpbml0eSB8ICAg ICAgICAgICAgSW5maW5pdHkgfCAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIC1JbmZpbml0 eSB8ICAgICAgICAgfCAgICAgICAgIHwgICAgICAgIHwgICAgICAgICB8ICAgLUluZmluaXR5IHwg ICAgICAgICAgICAtSW5maW5pdHkgfCAgICAgICAgICAgLUluZmluaXR5IHwgICAgICAgICAgICAg ICAgIAorICAgICAgICAgICAgICAgICBOYU4gfCAgICAgICAgIHwgICAgICAgICB8ICAgICAgICB8 ICAgICAgICAgfCAgICAgICAgIE5hTiB8ICAgICAgICAgICAgICAgICAgTmFOIHwgICAgICAgICAg ICAgICAgIE5hTiB8ICAgICAgICAgICAgICBOYU4KKyg0IHJvd3MpCisKK1NFTEVDVCBjb2w0IGFz IG51bV9hcnIsCisgICAgICAgQ0FTVChjb2w0IEFTIGludDJbXSBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUikgYXMgaW50MmFyciwKKyAgICAgICBDQVNUKGNvbDQgQVMgaW50NFtdIERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyBpbnQ0YXJyLAorICAgICAgIENBU1Qo Y29sNCBhcyBpbnQ4W10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIGludDhh cnIsCisgICAgICAgQ0FTVChjb2w0IGFzIGZsb2F0NFtdIERFRkFVTFQgTlVMTCBPTiBDT05WRVJT SU9OIEVSUk9SKSBhcyBmNGFyciwKKyAgICAgICBDQVNUKGNvbDQgYXMgZmxvYXQ4W10gREVGQVVM VCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIGY4YXJyLAorICAgICAgIENBU1QoY29sNCBh cyBudW1lcmljKDEwLDEpW10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIG51 bWFycgorRlJPTSB0ZXN0X3NhZmVjYXN0MTsKKyAgICAgICAgICBudW1fYXJyICAgICAgICAgICB8 IGludDJhcnIgfCBpbnQ0YXJyIHwgaW50OGFyciB8ICAgICAgICAgICBmNGFyciAgICAgICAgICAg IHwgICAgICAgICAgIGY4YXJyICAgICAgICAgICAgfCBudW1hcnIgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLQorIHsx MS4xMjM0fSAgICAgICAgICAgICAgICAgIHwgezExfSAgICB8IHsxMX0gICAgfCB7MTF9ICAgIHwg ezExLjEyMzR9ICAgICAgICAgICAgICAgICAgfCB7MTEuMTIzNH0gICAgICAgICAgICAgICAgICB8 IHsxMS4xfQorIHsxMS4xMjM0LDEyLEluZmluaXR5LE5hTn0gIHwgICAgICAgICB8ICAgICAgICAg fCAgICAgICAgIHwgezExLjEyMzQsMTIsSW5maW5pdHksTmFOfSAgfCB7MTEuMTIzNCwxMixJbmZp bml0eSxOYU59ICB8IAorIHsxMS4xMjM0LDEyLC1JbmZpbml0eSxOYU59IHwgICAgICAgICB8ICAg ICAgICAgfCAgICAgICAgIHwgezExLjEyMzQsMTIsLUluZmluaXR5LE5hTn0gfCB7MTEuMTIzNCwx MiwtSW5maW5pdHksTmFOfSB8IAorIHsxMS4xMjM0LDEyLC1JbmZpbml0eSxOYU59IHwgICAgICAg ICB8ICAgICAgICAgfCAgICAgICAgIHwgezExLjEyMzQsMTIsLUluZmluaXR5LE5hTn0gfCB7MTEu MTIzNCwxMiwtSW5maW5pdHksTmFOfSB8IAorKDQgcm93cykKKworU0VMRUNUIGNvbDEgYXMgZmxv YXQ0LAorICAgICAgIENBU1QoY29sMSBBUyBpbnQyIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9O IEVSUk9SKSBhcyB0b19pbnQyLAorICAgICAgIENBU1QoY29sMSBBUyBpbnQ0IERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ0LAorICAgICAgIENBU1QoY29sMSBBUyBv aWQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX29pZCwKKyAgICAgICBD QVNUKGNvbDEgYXMgaW50OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9f aW50OCwKKyAgICAgICBDQVNUKGNvbDEgYXMgZmxvYXQ0IERFRkFVTFQgTlVMTCBPTiBDT05WRVJT SU9OIEVSUk9SKSBhcyB0b19mbG9hdDQsCisgICAgICAgQ0FTVChjb2wxIGFzIGZsb2F0OCBERUZB VUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fZmxvYXQ4LAorICAgICAgIENBU1Qo Y29sMSBhcyBudW1lcmljIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19u dW1lcmljLAorICAgICAgIENBU1QoY29sMSBhcyBudW1lcmljKDEwLDEpIERFRkFVTFQgTlVMTCBP TiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljX3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNh c3QxOworICBmbG9hdDQgICB8IHRvX2ludDIgfCB0b19pbnQ0IHwgdG9fb2lkIHwgdG9faW50OCB8 IHRvX2Zsb2F0NCB8ICAgIHRvX2Zsb2F0OCAgICAgfCB0b19udW1lcmljIHwgdG9fbnVtZXJpY19z Y2FsZSAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tCisgICAxMS4xMjM0IHwgICAgICAxMSB8ICAgICAgMTEgfCAgICAgICAgfCAgICAgIDEx IHwgICAxMS4xMjM0IHwgMTEuMTIzMzk5NzM0NDk3MSB8ICAgIDExLjEyMzQgfCAgICAgICAgICAg ICAxMS4xCisgIEluZmluaXR5IHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgIEluZmluaXR5IHwgICAgICAgICBJbmZpbml0eSB8ICAgSW5maW5pdHkgfCAgICAgICAgICAg ICAgICAgCisgLUluZmluaXR5IHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgLUluZmluaXR5IHwgICAgICAgIC1JbmZpbml0eSB8ICAtSW5maW5pdHkgfCAgICAgICAgICAg ICAgICAgCisgICAgICAgTmFOIHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCAgICAgICAg IHwgICAgICAgTmFOIHwgICAgICAgICAgICAgIE5hTiB8ICAgICAgICBOYU4gfCAgICAgICAgICAg ICAgTmFOCisoNCByb3dzKQorCitTRUxFQ1QgY29sMiBhcyBmbG9hdDgsCisgICAgICAgQ0FTVChj b2wyIEFTIGludDIgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2ludDIs CisgICAgICAgQ0FTVChjb2wyIEFTIGludDQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJS T1IpIGFzIHRvX2ludDQsCisgICAgICAgQ0FTVChjb2wyIEFTIG9pZCBERUZBVUxUIE5VTEwgT04g Q09OVkVSU0lPTiBFUlJPUikgYXMgdG9fb2lkLAorICAgICAgIENBU1QoY29sMiBhcyBpbnQ4IERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ4LAorICAgICAgIENBU1Qo Y29sMiBhcyBmbG9hdDQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2Zs b2F0NCwKKyAgICAgICBDQVNUKGNvbDIgYXMgZmxvYXQ4IERFRkFVTFQgTlVMTCBPTiBDT05WRVJT SU9OIEVSUk9SKSBhcyB0b19mbG9hdDgsCisgICAgICAgQ0FTVChjb2wyIGFzIG51bWVyaWMgREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX251bWVyaWMsCisgICAgICAgQ0FT VChjb2wyIGFzIG51bWVyaWMoMTAsMSkgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip IGFzIHRvX251bWVyaWNfc2NhbGUKK0ZST00gdGVzdF9zYWZlY2FzdDE7CisgIGZsb2F0OCAgIHwg dG9faW50MiB8IHRvX2ludDQgfCB0b19vaWQgfCB0b19pbnQ4IHwgdG9fZmxvYXQ0IHwgdG9fZmxv YXQ4IHwgdG9fbnVtZXJpYyB8IHRvX251bWVyaWNfc2NhbGUgCistLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tCisgICAxMS4xMjM0IHwgICAgICAxMSB8ICAg ICAgMTEgfCAgICAgICAgfCAgICAgIDExIHwgICAxMS4xMjM0IHwgICAxMS4xMjM0IHwgICAgMTEu MTIzNCB8ICAgICAgICAgICAgIDExLjEKKyAgSW5maW5pdHkgfCAgICAgICAgIHwgICAgICAgICB8 ICAgICAgICB8ICAgICAgICAgfCAgSW5maW5pdHkgfCAgSW5maW5pdHkgfCAgIEluZmluaXR5IHwg ICAgICAgICAgICAgICAgIAorIC1JbmZpbml0eSB8ICAgICAgICAgfCAgICAgICAgIHwgICAgICAg IHwgICAgICAgICB8IC1JbmZpbml0eSB8IC1JbmZpbml0eSB8ICAtSW5maW5pdHkgfCAgICAgICAg ICAgICAgICAgCisgICAgICAgTmFOIHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgfCAgICAg ICAgIHwgICAgICAgTmFOIHwgICAgICAgTmFOIHwgICAgICAgIE5hTiB8ICAgICAgICAgICAgICBO YU4KKyg0IHJvd3MpCisKKy0tIHNhZmUgdHlwZSBjYXN0IGZvciB0eXBlIGRhdGUvdGltZXN0YW1w L3RpbWVzdGFtcHR6L2ludGVydmFsCitDUkVBVEUgVEFCTEUgdGVzdF9zYWZlY2FzdDIoCisgIGNv bDAgZGF0ZSwgY29sMSB0aW1lc3RhbXAsIGNvbDIgdGltZXN0YW1wdHosCisgIGNvbDMgaW50ZXJ2 YWwsIGNvbDQgdGltZSwgY29sNSB0aW1ldHopOworSU5TRVJUIElOVE8gdGVzdF9zYWZlY2FzdDIg VkFMVUVTCisoJy1pbmZpbml0eScsICctaW5maW5pdHknLCAnLWluZmluaXR5JywgJy1pbmZpbml0 eScsCisgICcyMDAzLTAzLTA3IDE1OjM2OjM5IEFtZXJpY2EvTmV3X1lvcmsnLCAnMjAwMy0wNy0w NyAxNTozNjozOSBBbWVyaWNhL05ld19Zb3JrJyksCisoJy1pbmZpbml0eScsICdpbmZpbml0eScs ICdpbmZpbml0eScsICdpbmZpbml0eScsICcxMTo1OTo1OS45OSBQTScsICcxMTo1OTo1OS45OSBQ TSBQRFQnKTsKK1NFTEVDVCBjb2wwIGFzIGRhdGUsCisgICAgICAgQ0FTVChjb2wwIEFTIHRpbWVz dGFtcHR6IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1lc3RhbXB0 eiwKKyAgICAgICBDQVNUKGNvbDAgQVMgZGF0ZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBF UlJPUikgYXMgdG9fZGF0ZSwKKyAgICAgICBDQVNUKGNvbDAgQVMgdGltZSBERUZBVUxUIE5VTEwg T04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXMsCisgICAgICAgQ0FTVChjb2wwIEFTIHRp bWV0eiBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXR6LAorICAg ICAgIENBU1QoY29sMCBBUyB0aW1lc3RhbXAoMikgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04g RVJST1IpIGFzIHRvX3RpbWVzdGFtcF9zY2FsZQorRlJPTSB0ZXN0X3NhZmVjYXN0MjsKKyAgIGRh dGUgICAgfCB0b190aW1lc3RhbXB0eiB8ICB0b19kYXRlICB8IHRvX3RpbWVzIHwgdG9fdGltZXR6 IHwgdG9fdGltZXN0YW1wX3NjYWxlIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgLWlu ZmluaXR5IHwgLWluZmluaXR5ICAgICAgfCAtaW5maW5pdHkgfCAgICAgICAgICB8ICAgICAgICAg ICB8IC1pbmZpbml0eQorIC1pbmZpbml0eSB8IC1pbmZpbml0eSAgICAgIHwgLWluZmluaXR5IHwg ICAgICAgICAgfCAgICAgICAgICAgfCAtaW5maW5pdHkKKygyIHJvd3MpCisKK1NFTEVDVCBjb2wx IGFzIHRpbWVzdGFtcCwKKyAgICAgICBDQVNUKGNvbDEgQVMgdGltZXN0YW1wdHogREVGQVVMVCBO VUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX3RpbWVzdGFtcHR6LAorICAgICAgIENBU1Qo Y29sMSBBUyBkYXRlIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19kYXRl LAorICAgICAgIENBU1QoY29sMSBBUyB0aW1lIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVS Uk9SKSBhcyB0b190aW1lcywKKyAgICAgICBDQVNUKGNvbDEgQVMgdGltZXR6IERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1ldHosCisgICAgICAgQ0FTVChjb2wxIEFT IHRpbWVzdGFtcCgyKSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGlt ZXN0YW1wX3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNhc3QyOworIHRpbWVzdGFtcCB8IHRvX3RpbWVz dGFtcHR6IHwgIHRvX2RhdGUgIHwgdG9fdGltZXMgfCB0b190aW1ldHogfCB0b190aW1lc3RhbXBf c2NhbGUgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAtaW5maW5pdHkgfCAtaW5maW5p dHkgICAgICB8IC1pbmZpbml0eSB8ICAgICAgICAgIHwgICAgICAgICAgIHwgLWluZmluaXR5Cisg aW5maW5pdHkgIHwgaW5maW5pdHkgICAgICAgfCBpbmZpbml0eSAgfCAgICAgICAgICB8ICAgICAg ICAgICB8IGluZmluaXR5CisoMiByb3dzKQorCitTRUxFQ1QgY29sMiBhcyB0aW1lc3RhbXB0eiwK KyAgICAgICBDQVNUKGNvbDIgQVMgdGltZXN0YW1wdHogREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpIGFzIHRvX3RpbWVzdGFtcHR6LAorICAgICAgIENBU1QoY29sMiBBUyBkYXRlIERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19kYXRlLAorICAgICAgIENBU1Qo Y29sMiBBUyB0aW1lIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1l cywKKyAgICAgICBDQVNUKGNvbDIgQVMgdGltZXR6IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9O IEVSUk9SKSBhcyB0b190aW1ldHosCisgICAgICAgQ0FTVChjb2wyIEFTIHRpbWVzdGFtcCgyKSBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXN0YW1wX3NjYWxlCitG Uk9NIHRlc3Rfc2FmZWNhc3QyOworIHRpbWVzdGFtcHR6IHwgdG9fdGltZXN0YW1wdHogfCAgdG9f ZGF0ZSAgfCB0b190aW1lcyB8IHRvX3RpbWV0eiB8IHRvX3RpbWVzdGFtcF9zY2FsZSAKKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgLWluZmluaXR5ICAgfCAtaW5maW5pdHkgICAgICB8 IC1pbmZpbml0eSB8ICAgICAgICAgIHwgICAgICAgICAgIHwgLWluZmluaXR5CisgaW5maW5pdHkg ICAgfCBpbmZpbml0eSAgICAgICB8IGluZmluaXR5ICB8ICAgICAgICAgIHwgICAgICAgICAgIHwg aW5maW5pdHkKKygyIHJvd3MpCisKK1NFTEVDVCBjb2wzIGFzIGludGVydmFsLAorICAgICAgIENB U1QoY29sMyBBUyB0aW1lc3RhbXB0eiBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikg YXMgdG9fdGltZXN0YW1wdHosCisgICAgICAgQ0FTVChjb2wzIEFTIGRhdGUgREVGQVVMVCBOVUxM IE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2RhdGUsCisgICAgICAgQ0FTVChjb2wzIEFTIHRp bWUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX3RpbWVzLAorICAgICAg IENBU1QoY29sMyBBUyB0aW1ldHogREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX3RpbWV0eiwKKyAgICAgICBDQVNUKGNvbDMgQVMgdGltZXN0YW1wKDIpIERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1lc3RhbXBfc2NhbGUsCisgICAgICAgQ0FT VChjb2wzIEFTIGludGVydmFsKDIpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b19pbnRlcnZhbF9zY2FsZQorRlJPTSB0ZXN0X3NhZmVjYXN0MjsKKyBpbnRlcnZhbCAgfCB0 b190aW1lc3RhbXB0eiB8IHRvX2RhdGUgfCB0b190aW1lcyB8IHRvX3RpbWV0eiB8IHRvX3RpbWVz dGFtcF9zY2FsZSB8IHRvX2ludGVydmFsX3NjYWxlIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tCisgLWluZmluaXR5IHwgICAgICAgICAgICAgICAgfCAgICAg ICAgIHwgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgfCAtaW5maW5p dHkKKyBpbmZpbml0eSAgfCAgICAgICAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8ICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8IGluZmluaXR5CisoMiByb3dzKQorCitTRUxF Q1QgY29sNCBhcyB0aW1lLAorICAgICAgIENBU1QoY29sNCBBUyB0aW1lKDIpIERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1lcywKKyAgICAgICBDQVNUKGNvbDQgQVMg dGltZXR6IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBJUyBOT1QgTlVMTCBhcyB0 b190aW1ldHosCisgICAgICAgQ0FTVChjb2w0IEFTIGludGVydmFsKDIpIERFRkFVTFQgTlVMTCBP TiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnRlcnZhbCwKKyAgICAgICBDQVNUKGNvbDQgQVMg aW50ZXJ2YWwoMikgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2ludGVy dmFsX3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNhc3QyOworICAgIHRpbWUgICAgIHwgIHRvX3RpbWVz ICAgfCB0b190aW1ldHogfCAgICAgICAgICB0b19pbnRlcnZhbCAgICAgICAgICB8ICAgICAgIHRv X2ludGVydmFsX3NjYWxlICAgICAgIAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIDE1OjM2OjM5ICAgIHwgMTU6MzY6MzkgICAgfCB0ICAgICAgICAgfCBA IDE1IGhvdXJzIDM2IG1pbnMgMzkgc2VjcyAgICB8IEAgMTUgaG91cnMgMzYgbWlucyAzOSBzZWNz CisgMjM6NTk6NTkuOTkgfCAyMzo1OTo1OS45OSB8IHQgICAgICAgICB8IEAgMjMgaG91cnMgNTkg bWlucyA1OS45OSBzZWNzIHwgQCAyMyBob3VycyA1OSBtaW5zIDU5Ljk5IHNlY3MKKygyIHJvd3Mp CisKK1NFTEVDVCBjb2w1IGFzIHRpbWV0eiwKKyAgICAgICBDQVNUKGNvbDUgQVMgdGltZSBERUZB VUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZSwKKyAgICAgICBDQVNUKGNv bDUgQVMgdGltZSgyKSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGlt ZV9zY2FsZSwKKyAgICAgICBDQVNUKGNvbDUgQVMgdGltZXR6IERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKSBhcyB0b190aW1ldHosCisgICAgICAgQ0FTVChjb2w1IEFTIHRpbWV0eig2 KSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXR6X3NjYWxlLAor ICAgICAgIENBU1QoY29sNSBBUyBpbnRlcnZhbCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBF UlJPUikgYXMgdG9faW50ZXJ2YWwsCisgICAgICAgQ0FTVChjb2w1IEFTIGludGVydmFsKDIpIERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnRlcnZhbF9zY2FsZQorRlJP TSB0ZXN0X3NhZmVjYXN0MjsKKyAgICAgdGltZXR6ICAgICB8ICAgdG9fdGltZSAgIHwgdG9fdGlt ZV9zY2FsZSB8ICAgdG9fdGltZXR6ICAgIHwgdG9fdGltZXR6X3NjYWxlIHwgdG9faW50ZXJ2YWwg fCB0b19pbnRlcnZhbF9zY2FsZSAKKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxNTozNjozOS0wNCAgICB8IDE1OjM2OjM5ICAgIHwg MTU6MzY6MzkgICAgICB8IDE1OjM2OjM5LTA0ICAgIHwgMTU6MzY6MzktMDQgICAgIHwgICAgICAg ICAgICAgfCAKKyAyMzo1OTo1OS45OS0wNyB8IDIzOjU5OjU5Ljk5IHwgMjM6NTk6NTkuOTkgICB8 IDIzOjU5OjU5Ljk5LTA3IHwgMjM6NTk6NTkuOTktMDcgIHwgICAgICAgICAgICAgfCAKKygyIHJv d3MpCisKK0NSRUFURSBUQUJMRSB0ZXN0X3NhZmVjYXN0Myhjb2wwIGpzb25iKTsKK0lOU0VSVCBJ TlRPIHRlc3Rfc2FmZWNhc3QzKGNvbDApIFZBTFVFUyAoJyJ0ZXN0IicpOworU0VMRUNUIGNvbDAg YXMganNvbmIsCisgICAgICAgQ0FTVChjb2wwIEFTIGludGVnZXIgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIHRvX2ludGVnZXIsCisgICAgICAgQ0FTVChjb2wwIEFTIG51bWVy aWMgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX251bWVyaWMsCisgICAg ICAgQ0FTVChjb2wwIEFTIGJpZ2ludCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikg YXMgdG9faW50OCwKKyAgICAgICBDQVNUKGNvbDAgQVMgZmxvYXQ0IERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDQsCisgICAgICAgQ0FTVChjb2wwIEFTIGZsb2F0 OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fZmxvYXQ4LAorICAgICAg IENBU1QoY29sMCBBUyBib29sZWFuIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b19ib29sLAorICAgICAgIENBU1QoY29sMCBBUyBzbWFsbGludCBERUZBVUxUIE5VTEwgT04g Q09OVkVSU0lPTiBFUlJPUikgYXMgdG9fc21hbGxpbnQKK0ZST00gdGVzdF9zYWZlY2FzdDM7Cisg anNvbmIgIHwgdG9faW50ZWdlciB8IHRvX251bWVyaWMgfCB0b19pbnQ4IHwgdG9fZmxvYXQ0IHwg dG9fZmxvYXQ4IHwgdG9fYm9vbCB8IHRvX3NtYWxsaW50IAorLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KKyAidGVzdCIgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAKKygxIHJv dykKKworLS0gdGVzdCBkZXBhcnNlCitTRVQgZGF0ZXN0eWxlIFRPIElTTywgWU1EOworQ1JFQVRF IFZJRVcgc2FmZWNhc3R2aWV3IEFTCitTRUxFQ1QgQ0FTVCgnMTIzNCcgYXMgY2hhcigzKSBERUZB VUxUIC0xMTExIE9OIENPTlZFUlNJT04gRVJST1IpLAorICAgICAgIENBU1QoMSBhcyBkYXRlIERF RkFVTFQgKCgnMjAyNS1EZWMtMDYnOjpkYXRlICsgcmFuZG9tKG1pbj0+MSwgbWF4PT4xOjppbnQp KSkgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgY2FzdDAsCisgICAgICAgQ0FTVChBUlJBWVtbJzEn XSwgWyd0aHJlZSddLFsnYSddXSBBUyBpbnRbXSBERUZBVUxUICd7MSwyfScgT04gQ09OVkVSU0lP TiBFUlJPUikgYXMgY2FzdDEsCisgICAgICAgQ0FTVChBUlJBWVtbJzEnLCAnMiddLCBbJ3RocmVl JywgJ2EnXV0gQVMgZGF0ZVtdIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyBj YXN0MiwKKyAgICAgICBDQVNUKEFSUkFZWyd0aHJlZSddIEFTIElOVFtdIERFRkFVTFQgJ3sxLDJ9 JyBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyBjYXN0MzsKK1xzdiBzYWZlY2FzdHZpZXcKK0NSRUFU RSBPUiBSRVBMQUNFIFZJRVcgcHVibGljLnNhZmVjYXN0dmlldyBBUworIFNFTEVDVCBDQVNUKCcx MjM0JyBBUyBjaGFyYWN0ZXIoMykgREVGQVVMVCAnLTExMTEnOjppbnRlZ2VyOjpjaGFyYWN0ZXIo MykgT04gQ09OVkVSU0lPTiBFUlJPUikgQVMgYnBjaGFyLAorICAgIENBU1QoMSBBUyBkYXRlIERF RkFVTFQgJzIwMjUtMTItMDYnOjpkYXRlICsgcmFuZG9tKG1pbiA9PiAxLCBtYXggPT4gMSkgT04g Q09OVkVSU0lPTiBFUlJPUikgQVMgY2FzdDAsCisgICAgQ0FTVChBUlJBWVtBUlJBWVsxXSwgQVJS QVlbJ3RocmVlJ10sIEFSUkFZWydhJ11dIEFTIGludGVnZXJbXSBERUZBVUxUICd7MSwyfSc6Omlu dGVnZXJbXSBPTiBDT05WRVJTSU9OIEVSUk9SKSBBUyBjYXN0MSwKKyAgICBDQVNUKEFSUkFZW0FS UkFZWycxJywgJzInXSwgQVJSQVlbJ3RocmVlJywgJ2EnXV0gQVMgZGF0ZVtdIERFRkFVTFQgTlVM TDo6ZGF0ZVtdIE9OIENPTlZFUlNJT04gRVJST1IpIEFTIGNhc3QyLAorICAgIENBU1QoQVJSQVlb J3RocmVlJ10gQVMgaW50ZWdlcltdIERFRkFVTFQgJ3sxLDJ9Jzo6aW50ZWdlcltdIE9OIENPTlZF UlNJT04gRVJST1IpIEFTIGNhc3QzCitTRUxFQ1QgKiBGUk9NIHNhZmVjYXN0dmlldzsKKyBicGNo YXIgfCAgIGNhc3QwICAgIHwgY2FzdDEgfCBjYXN0MiB8IGNhc3QzIAorLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tCisgMTIzICAgIHwgMjAyNS0xMi0wNyB8IHsx LDJ9IHwgICAgICAgfCB7MSwyfQorKDEgcm93KQorCitDUkVBVEUgVklFVyBzYWZlY2FzdHZpZXcx IEFTCitTRUxFQ1QgQ0FTVChBUlJBWVtbJzEnXSwgWyd0aHJlZSddLFsnYSddXSBBUyBkX2ludF9h cnIKKyAgICAgICAgICAgIERFRkFVTFQgJ3s0MSw0M30nIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IGNhc3QxLAorICAgICAgIENBU1QoQVJSQVlbWycxJywgJzInLCAxLjFdLCBbJ3RocmVlJywgdHJ1 ZSwgQicwMSddXSBBUyBkX2ludF9hcnIKKyAgICAgICAgICAgIERFRkFVTFQgJ3s0MSw0M30nIE9O IENPTlZFUlNJT04gRVJST1IpIGFzIGNhc3QyOworXHN2IHNhZmVjYXN0dmlldzEKK0NSRUFURSBP UiBSRVBMQUNFIFZJRVcgcHVibGljLnNhZmVjYXN0dmlldzEgQVMKKyBTRUxFQ1QgQ0FTVChBUlJB WVtBUlJBWVsxXSwgQVJSQVlbJ3RocmVlJ10sIEFSUkFZWydhJ11dIEFTIGRfaW50X2FyciBERUZB VUxUICd7NDEsNDN9Jzo6aW50ZWdlcltdOjpkX2ludF9hcnIgT04gQ09OVkVSU0lPTiBFUlJPUikg QVMgY2FzdDEsCisgICAgQ0FTVChBUlJBWVtBUlJBWVsxLCAyLCAxLjE6OmludGVnZXJdLCBBUlJB WVsndGhyZWUnLCB0cnVlLCAnMDEnOjoiYml0Il1dIEFTIGRfaW50X2FyciBERUZBVUxUICd7NDEs NDN9Jzo6aW50ZWdlcltdOjpkX2ludF9hcnIgT04gQ09OVkVSU0lPTiBFUlJPUikgQVMgY2FzdDIK K1NFTEVDVCAqIEZST00gc2FmZWNhc3R2aWV3MTsKKyAgY2FzdDEgIHwgIGNhc3QyICAKKy0tLS0t LS0tLSstLS0tLS0tLS0KKyB7NDEsNDN9IHwgezQxLDQzfQorKDEgcm93KQorCitSRVNFVCBkYXRl c3R5bGU7CistLSB0ZXN0IENBU1QgREVGQVVMVCBleHByZXNzaW9uIG11dGFiaWxpdHkKK0NSRUFU RSBJTkRFWCBjYXN0X2Vycm9yX2lkeCBPTiB0ZXN0X3NhZmVjYXN0MygoQ0FTVChjb2wwIGFzIGlu dCBERUZBVUxUIHJhbmRvbShtaW49PjEsIG1heD0+MSkgT04gQ09OVkVSU0lPTiBFUlJPUikpKTsg LS0gZXJyb3IKK0VSUk9SOiAgZnVuY3Rpb25zIGluIGluZGV4IGV4cHJlc3Npb24gbXVzdCBiZSBt YXJrZWQgSU1NVVRBQkxFCitMSU5FIDE6IENSRUFURSBJTkRFWCBjYXN0X2Vycm9yX2lkeCBPTiB0 ZXN0X3NhZmVjYXN0MygoQ0FTVChjb2wwIGFzIC4uLgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorQ1JFQVRFIElOREVYIGNhc3RfZXJyb3Jf aWR4IE9OIHRlc3Rfc2FmZWNhc3QzKChDQVNUKGNvbDAgYXMgeGlkIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSkpOyAtLSBlcnJvcgorRVJST1I6ICBkYXRhIHR5cGUgeGlkIGhhcyBu byBkZWZhdWx0IG9wZXJhdG9yIGNsYXNzIGZvciBhY2Nlc3MgbWV0aG9kICJidHJlZSIKK0hJTlQ6 ICBZb3UgbXVzdCBzcGVjaWZ5IGFuIG9wZXJhdG9yIGNsYXNzIGZvciB0aGUgaW5kZXggb3IgZGVm aW5lIGEgZGVmYXVsdCBvcGVyYXRvciBjbGFzcyBmb3IgdGhlIGRhdGEgdHlwZS4KK0NSRUFURSBJ TkRFWCBjYXN0X2Vycm9yX2lkeCBPTiB0ZXN0X3NhZmVjYXN0MygoQ0FTVChjb2wwIGFzIGludCBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikpKTsgLS1vaworU0VMRUNUIHBnX2dldF9p bmRleGRlZignY2FzdF9lcnJvcl9pZHgnOjpyZWdjbGFzcyk7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF9pbmRleGRlZiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDUkVBVEUgSU5ERVggY2FzdF9lcnJvcl9pZHggT04g cHVibGljLnRlc3Rfc2FmZWNhc3QzIFVTSU5HIGJ0cmVlICgoQ0FTVChjb2wwIEFTIGludGVnZXIg REVGQVVMVCBOVUxMOjppbnRlZ2VyIE9OIENPTlZFUlNJT04gRVJST1IpKSkKKygxIHJvdykKKwor RFJPUCBUQUJMRSB0ZXN0X3NhZmVjYXN0OworRFJPUCBUQUJMRSB0ZXN0X3NhZmVjYXN0MTsKK0RS T1AgVEFCTEUgdGVzdF9zYWZlY2FzdDI7CitEUk9QIFRBQkxFIHRlc3Rfc2FmZWNhc3QzOworRFJP UCBUQUJMRSB0Y2FzdDsKK0RST1AgRlVOQ1RJT04gcmV0X2ludDg7CitEUk9QIEZVTkNUSU9OIHJl dF9zZXRpbnQ7CitEUk9QIFRZUEUgY29tcF9kb21haW5fd2l0aF90eXBtb2Q7CitEUk9QIFRZUEUg Y29tcDI7CitEUk9QIERPTUFJTiBkX3ZhcmNoYXI7CitEUk9QIERPTUFJTiBkX2ludDQyOworRFJP UCBET01BSU4gZF9jaGFyM19ub3RfbnVsbDsKK1JFU0VUIGV4dHJhX2Zsb2F0X2RpZ2l0czsKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX2Nhc3Qub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfY2FzdC5vdXQKaW5kZXggMGU2OTY0NGJjYTIu LjY4ZTY5ZDFjNTg0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0 ZV9jYXN0Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV9jYXN0Lm91 dApAQCAtODgsNiArODgsMTEgQEAgU0VMRUNUIDEyMzQ6OmludDQ6OmNhc3R0ZXN0dHlwZTsgLS0g U2hvdWxkIHdvcmsgbm93CiAgYmFyMTIzNAogKDEgcm93KQogCitTRUxFQ1QgQ0FTVCgxMjM0Ojpp bnQ0IEFTIGNhc3R0ZXN0dHlwZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0t IGVycm9yCitFUlJPUjogIGNhbm5vdCBjYXN0IHR5cGUgaW50ZWdlciB0byBjYXN0dGVzdHR5cGUg d2hlbiBERUZBVUxUIGV4cHJlc3Npb24gaXMgc3BlY2lmaWVkIGluIENBU1QgLi4uIE9OIENPTlZF UlNJT04gRVJST1IKK0xJTkUgMTogU0VMRUNUIENBU1QoMTIzNDo6aW50NCBBUyBjYXN0dGVzdHR5 cGUgREVGQVVMVCBOVUxMIE9OIENPTlZFLi4uCisgICAgICAgICAgICAgICAgICAgIF4KK0hJTlQ6 ICBTYWZlIHR5cGUgY2FzdCBmb3IgdXNlci1kZWZpbmVkIHR5cGVzIGFyZSBub3QgeWV0IHN1cHBv cnRlZC4KIC0tIGNoZWNrIGRlcGVuZGVuY2llcyBnZW5lcmF0ZWQgZm9yIHRoYXQKIFNFTEVDVCBw Z19kZXNjcmliZV9vYmplY3QoY2xhc3NpZCwgb2JqaWQsIG9ianN1YmlkKSBhcyBvYmosCiAgICAg ICAgcGdfZGVzY3JpYmVfb2JqZWN0KHJlZmNsYXNzaWQsIHJlZm9iamlkLCByZWZvYmpzdWJpZCkg YXMgb2JqcmVmLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9lcXVpdmNs YXNzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZXF1aXZjbGFzcy5vdXQKaW5kZXgg YWQ4YWIyOTRmZjYuLmUzZjhhMjgwN2Y5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2VxdWl2Y2xhc3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZXF1 aXZjbGFzcy5vdXQKQEAgLTk1LDYgKzk1LDEzIEBAIGNyZWF0ZSBmdW5jdGlvbiBpbnQ4YWxpYXMx Y21wKGludDgsIGludDhhbGlhczEpIHJldHVybnMgaW50CiAgIHN0cmljdCBpbW11dGFibGUgbGFu Z3VhZ2UgaW50ZXJuYWwgYXMgJ2J0aW50OGNtcCc7CiBhbHRlciBvcGVyYXRvciBmYW1pbHkgaW50 ZWdlcl9vcHMgdXNpbmcgYnRyZWUgYWRkCiAgIGZ1bmN0aW9uIDEgaW50OGFsaWFzMWNtcCAoaW50 OCwgaW50OGFsaWFzMSk7CistLSBpbnQ4YWxpYXMyIGJpbmFyeS1jb2VyY2libGUgdG8gaW50OCwg dGhpcyBzaG91bGQgbm90IGZhaWwKK3NlbGVjdCBjYXN0KCcxJzo6aW50OCBhcyBpbnQ4YWxpYXMy IGRlZmF1bHQgbnVsbCBvbiBjb252ZXJzaW9uIGVycm9yKTsKKyBpbnQ4YWxpYXMyIAorLS0tLS0t LS0tLS0tCisgMQorKDEgcm93KQorCiBjcmVhdGUgdGFibGUgZWMwIChmZiBpbnQ4IHByaW1hcnkg a2V5LCBmMSBpbnQ4LCBmMiBpbnQ4KTsKIGNyZWF0ZSB0YWJsZSBlYzEgKGZmIGludDggcHJpbWFy eSBrZXksIGYxIGludDhhbGlhczEsIGYyIGludDhhbGlhczIpOwogY3JlYXRlIHRhYmxlIGVjMiAo eGYgaW50OCBwcmltYXJ5IGtleSwgeDEgaW50OGFsaWFzMSwgeDIgaW50OGFsaWFzMik7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCA1NDllOWIyZDdiZS4uYmM4YzAyYjUzZTAgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtODEsNyArODEsNyBAQCB0ZXN0OiBjcmVh dGVfdGFibGVfbGlrZSBhbHRlcl9nZW5lcmljIGFsdGVyX29wZXJhdG9yIG1pc2MgYXN5bmMgZGJz aXplIG1lcmdlIG1pcwogIyBjb2xsYXRlLmxpbnV4LnV0ZjggYW5kIGNvbGxhdGUuaWN1LnV0Zjgg dGVzdHMgY2Fubm90IGJlIHJ1biBpbiBwYXJhbGxlbCB3aXRoIGVhY2ggb3RoZXIKICMgcHNxbCBk ZXBlbmRzIG9uIGNyZWF0ZV9hbQogIyBhbXV0aWxzIGRlcGVuZHMgb24gZ2VvbWV0cnksIGNyZWF0 ZV9pbmRleF9zcGdpc3QsIGhhc2hfaW5kZXgsIGJyaW4KLXRlc3Q6IHJ1bGVzIHBzcWwgcHNxbF9j cm9zc3RhYiBwc3FsX3BpcGVsaW5lIGFtdXRpbHMgc3RhdHNfZXh0IGNvbGxhdGUubGludXgudXRm OCBjb2xsYXRlLndpbmRvd3Mud2luMTI1MgordGVzdDogcnVsZXMgcHNxbCBwc3FsX2Nyb3NzdGFi IHBzcWxfcGlwZWxpbmUgYW11dGlscyBzdGF0c19leHQgY29sbGF0ZS5saW51eC51dGY4IGNvbGxh dGUud2luZG93cy53aW4xMjUyIGNhc3QKIAogIyAtLS0tLS0tLS0tCiAjIFJ1biB0aGVzZSBhbG9u ZSBzbyB0aGV5IGRvbid0IHJ1biBvdXQgb2YgcGFyYWxsZWwgd29ya2VycwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvY2FzdC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jYXN0 LnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTE1MDUyZDllOTkK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jYXN0LnNxbApAQCAtMCww ICsxLDM0NyBAQAorU0VUIGV4dHJhX2Zsb2F0X2RpZ2l0cyA9IDA7CisKKy0tIENBU1QgREVGQVVM VCBPTiBDT05WRVJTSU9OIEVSUk9SCitTRUxFQ1QgQ0FTVChCJzAxJyBBUyBkYXRlIERFRkFVTFQg TlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKEJJVCcwMScgQVMgZGF0ZSBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVChUUlVFIEFTIGRh dGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoMS4xIEFT IGRhdGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoMSBB UyBkYXRlIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKDEx MTEgQVMgImNoYXIiIERFRkFVTFQgJ0EnIE9OIENPTlZFUlNJT04gRVJST1IpOworCistLSBzb3Vy Y2UgZXhwcmVzc2lvbiBpcyBhIHVua25vd24gY29uc3QKK1ZBTFVFUyAoQ0FTVCgnZXJyb3InIEFT IGludGVnZXIgRVJST1IgT04gQ09OVkVSU0lPTiBFUlJPUikpOyAtLSBlcnJvcgorVkFMVUVTIChD QVNUKCdlcnJvcicgQVMgaW50ZWdlciBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpKTsKK1ZBTFVF UyAoQ0FTVCgnZXJyb3InIEFTIGludGVnZXIgREVGQVVMVCA0MiBPTiBDT05WRVJTSU9OIEVSUk9S KSk7CitTRUxFQ1QgQ0FTVCgnYScgYXMgaW50IERFRkFVTFQgMTggT04gQ09OVkVSU0lPTiBFUlJP Uik7CitTRUxFQ1QgQ0FTVCgnYScgYXMgaW50IERFRkFVTFQgc3VtKDEpIE9OIENPTlZFUlNJT04g RVJST1IpOyAtLSBlcnJvcgorU0VMRUNUIENBU1QoJ2EnIGFzIGludCBERUZBVUxUIHN1bSgxKSBv dmVyKCkgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCitTRUxFQ1QgQ0FTVCgnYScgYXMg aW50IERFRkFVTFQgKFNFTEVDVCBOVUxMKSBPTiBDT05WRVJTSU9OIEVSUk9SKTsgLS0gZXJyb3IK K1NFTEVDVCBDQVNUKCdhJyBhcyBpbnQgREVGQVVMVCAnYicgT04gQ09OVkVSU0lPTiBFUlJPUik7 IC0tIGVycm9yCitTRUxFQ1QgQ0FTVCgnYSc6OmludCBhcyBpbnQgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpOyAtLSBlcnJvcgorCistLSB0aGUgZGVmYXVsdCBleHByZXNzaW9u4oCZ cyBjb2xsYXRpb24gc2hvdWxkIG1hdGNoIHRhcmdldCB0eXBlIGNvbGxhdGlvbgorVkFMVUVTIChD QVNUKCdlcnJvcicgQVMgdGV4dCBERUZBVUxUICcxJyBDT0xMQVRFICJDIiBPTiBDT05WRVJTSU9O IEVSUk9SKSk7CisKK1ZBTFVFUyAoQ0FTVCgnZXJyb3InIEFTIGludDJ2ZWN0b3IgREVGQVVMVCAn MSAzJyAgT04gQ09OVkVSU0lPTiBFUlJPUikpOworVkFMVUVTIChDQVNUKCdlcnJvcicgQVMgaW50 MnZlY3RvcltdIERFRkFVTFQgJ3sxIDN9JyAgT04gQ09OVkVSU0lPTiBFUlJPUikpOworCistLSBz b3VyY2UgZXhwcmVzc2lvbiBjb250YWluIHN1YnF1ZXJ5CitTRUxFQ1QgQ0FTVCgoU0VMRUNUIGIg RlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMSksIChWQUxVRVMoJ0gnKSkgcyhiKSkKKyAgICAgICAg ICAgIEFTIGludDJ2ZWN0b3JbXSBERUZBVUxUICd7MSAzfScgIE9OIENPTlZFUlNJT04gRVJST1Ip OworU0VMRUNUIENBU1QoKFNFTEVDVCBBUlJBWSgoU0VMRUNUIGIgRlJPTSBnZW5lcmF0ZV9zZXJp ZXMoMSwgMikgZywgKFZBTFVFUygnSCcpKSBzKGIpKSkpCisgICAgICAgICAgICBBUyBJTlRbXQor ICAgICAgICAgICAgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworCitDUkVBVEUg RlVOQ1RJT04gcmV0X2ludDgoKSBSRVRVUk5TIEJJR0lOVCBBUworJCQKK0JFR0lOIFJFVFVSTiAy MTQ3NDgzNjQ4OyBFTkQ7CiskJAorTEFOR1VBR0UgcGxwZ3NxbCBJTU1VVEFCTEU7CisKK1NFTEVD VCBDQVNUKCdhJyBhcyBpbnQgREVGQVVMVCByZXRfaW50OCgpIE9OIENPTlZFUlNJT04gRVJST1Ip OyAtLSBlcnJvcgorU0VMRUNUIENBU1QoJ2EnIGFzIGRhdGUgREVGQVVMVCByZXRfaW50OCgpIE9O IENPTlZFUlNJT04gRVJST1IpOyAtLSBlcnJvcgorCistLSBERUZBVUxUIGV4cHJlc3Npb24gY2Fu bm90IGJlIHNldC1yZXR1cm5pbmcKK0NSRUFURSBGVU5DVElPTiByZXRfc2V0aW50KCkgUkVUVVJO UyBTRVRPRiBpbnRlZ2VyIEFTCiskJAorQkVHSU4gUkVUVVJOIFFVRVJZIEVYRUNVVEUgJ3NlbGVj dCAxIHVuaW9uIGFsbCBzZWxlY3QgMSc7IEVORDsKKyQkCitMQU5HVUFHRSBwbHBnc3FsIElNTVVU QUJMRTsKKworQ1JFQVRFIFRBQkxFIHRjYXN0KGEgdGV4dFtdLCBiIGludCBHRU5FUkFURUQgQlkg REVGQVVMVCBBUyBJREVOVElUWSk7CitJTlNFUlQgSU5UTyB0Y2FzdCBWQUxVRVMgKCd7MTJ9Jyks ICgnezEsYSwgYn0nKSwgKCd7ezEsMn0sIHtjLGR9fScpLCAoJ3sxM30nKTsKK1NFTEVDVCBDQVNU KCdhJyBhcyBpbnQgREVGQVVMVCByZXRfc2V0aW50KCkgT04gQ09OVkVSU0lPTiBFUlJPUikgRlJP TSB0Y2FzdDsgLS0gZXJyb3IKK1NFTEVDVCBDQVNUKHQgQVMgdGV4dFtdIERFRkFVTFQgJ3syMSwy MiwgJyB8fCBiIHx8ICd9JyBPTiBDT05WRVJTSU9OIEVSUk9SKSBGUk9NIHRjYXN0IGFzIHQ7CitT RUxFQ1QgQ0FTVCh0LmEgQVMgaW50W10gREVGQVVMVCAnezIxLDIyfSc6OmludFtdIHx8IGIgT04g Q09OVkVSU0lPTiBFUlJPUikgRlJPTSB0Y2FzdCBhcyB0OworCistLSB0ZXN0IHdpdGggdXNlci1k ZWZpbmVkIHR5cGUsIGRvbWFpbiwgYXJyYXkgb3ZlciBkb21haW4sIGRvbWFpbiBvdmVyIGFycmF5 CitDUkVBVEUgRE9NQUlOIGRfaW50NDIgYXMgaW50IGNoZWNrICh2YWx1ZSA9IDQyKSBOT1QgTlVM TDsKK0NSRUFURSBET01BSU4gZF9jaGFyM19ub3RfbnVsbCBhcyBjaGFyKDMpIE5PVCBOVUxMOwor Q1JFQVRFIERPTUFJTiBkX3ZhcmNoYXIgYXMgdmFyY2hhcigzKSBOT1QgTlVMTDsKK0NSRUFURSBE T01BSU4gZF9pbnRfYXJyIGFzIGludFtdIGNoZWNrICh2YWx1ZSA9ICd7NDEsIDQzfScpIE5PVCBO VUxMOworQ1JFQVRFIFRZUEUgY29tcF9kb21haW5fd2l0aF90eXBtb2QgQVMgKGEgZF9jaGFyM19u b3RfbnVsbCwgYiBpbnQpOworQ1JFQVRFIFRZUEUgY29tcDIgQVMgKGEgZF92YXJjaGFyKTsKK1NF TEVDVCBDQVNUKCcoTlVMTCknIEFTIGNvbXAyIERFRkFVTFQgJygxMjMyKScgT04gQ09OVkVSU0lP TiBFUlJPUik7IC0tIGVycm9yCitTRUxFQ1QgQ0FTVCgnKE5VTEwpJyBBUyBjb21wMiBERUZBVUxU ICcoMTIzKScgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgxMSBBUyBkX2ludDQy IERFRkFVTFQgNDEgT04gQ09OVkVSU0lPTiBFUlJPUik7IC0tIGVycm9yCitTRUxFQ1QgQ0FTVCgx MSBBUyBkX2ludDQyIERFRkFVTFQgNDIgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FT VChOVUxMIEFTIGRfaW50NDIgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBl cnJvcgorU0VMRUNUIENBU1QoTlVMTCBBUyBkX2ludDQyIERFRkFVTFQgNDIgT04gQ09OVkVSU0lP TiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnKCw0MiknIEFTIGNvbXBfZG9tYWluX3dpdGhfdHlwbW9k IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCcoTlVMTCw0 MiknIEFTIGNvbXBfZG9tYWluX3dpdGhfdHlwbW9kIERFRkFVTFQgJygxLDIpJyBPTiBDT05WRVJT SU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCcoTlVMTCw0MiknIEFTIGNvbXBfZG9tYWluX3dpdGhf dHlwbW9kIERFRkFVTFQgJygxMjM0LDIpJyBPTiBDT05WRVJTSU9OIEVSUk9SKTsgLS0gZXJyb3IK KworU0VMRUNUIENBU1QoQVJSQVlbNDIsNDFdIEFTIGRfaW50NDJbXSBERUZBVUxUICd7NDIsIDQy fScgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVChBUlJBWVs0Miw0MV0gQVMgZF9p bnRfYXJyIERFRkFVTFQgJ3s0MSwgNDN9JyBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKworLS0gdGVz dCBhcnJheSBjb2VyY2UKK1NFTEVDVCBDQVNUKGFycmF5WydhJzo6dGV4dF0gQVMgaW50W10gREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBlcnJvcgorU0VMRUNUIENBU1QoYXJy YXlbJ2EnXSBBUyBpbnRbXSBERUZBVUxUIEFSUkFZWzFdIE9OIENPTlZFUlNJT04gRVJST1IpOwor U0VMRUNUIENBU1QoYXJyYXlbMTEuMTJdIEFTIGRhdGVbXSBERUZBVUxUIE5VTEwgT04gQ09OVkVS U0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVChhcnJheVsxMTExMTExMTExMTExMTExMV0gQVMgaW50 W10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoYXJyYXlb WydhYmMnXSxbNDU2XV0gQVMgaW50W10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1Ip OworU0VMRUNUIENBU1QoJ3sxMjMsYWJjLDQ1Nn0nIEFTIGludFtdIERFRkFVTFQgJ3stNzg5fScg T04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnezIzNCxkZWYsNTY3fSc6OnRleHRb XSBBUyBpbnRlZ2VyW10gREVGQVVMVCAney0xMDExfScgT04gQ09OVkVSU0lPTiBFUlJPUik7CitT RUxFQ1QgQ0FTVChBUlJBWVtbJzEnXSwgWyd0aHJlZSddLFsnYSddXSBBUyBpbnRbXSBERUZBVUxU ICd7MSwyfScgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVChBUlJBWVtbJzEnLCAn MiddLCBbJ3RocmVlJywgJ2EnXV0gQVMgaW50W10gREVGQVVMVCAnezIxLDIyfScgT04gQ09OVkVS U0lPTiBFUlJPUik7IC0tb2sKK1NFTEVDVCBDQVNUKEFSUkFZW1snMScsICcyJ10sIFsndGhyZWUn OjppbnQsICdhJ11dIEFTIGludFtdIERFRkFVTFQgJ3syMSwyMn0nIE9OIENPTlZFUlNJT04gRVJS T1IpOyAtLSBlcnJvcgorU0VMRUNUIENBU1QoQVJSQVlbMSwgJ3RocmVlJzo6aW50XSBBUyBpbnRb XSBERUZBVUxUICd7MjEsMjJ9JyBPTiBDT05WRVJTSU9OIEVSUk9SKTsgLS0gZXJyb3IKKworLS0t LS1zYWZlIGNhc3Qgd2l0aCBnZW9tZXRyeSBkYXRhIHR5cGUKK1NFTEVDVCBDQVNUKCcoMSwyKSc6 OnBvaW50IEFTIGJveCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1Qg Q0FTVCgnWyhOYU4sMSksKE5hTixpbmZpbml0eSldJzo6bHNlZyBBUyBwb2ludCBERUZBVUxUIE5V TEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnWygxZSszMDAsSW5maW5pdHkp LCgxZSszMDAsSW5maW5pdHkpXSc6OmxzZWcgQVMgcG9pbnQgREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoJ1soMSwyKSwoMyw0KV0nOjpwYXRoIGFzIHBvbHln b24gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoJyhOYU4s MS4wLE5hTixpbmZpbml0eSknOjpib3ggQVMgcG9pbnQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpOworU0VMRUNUIENBU1QoJygyLjAsMi4wLDAuMCwwLjApJzo6Ym94IEFTIGxzZWcg REVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoJygyLjAsMi4w LDAuMCwwLjApJzo6Ym94IEFTIHBvbHlnb24gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJS T1IpOworU0VMRUNUIENBU1QoJygyLjAsMi4wLDAuMCwwLjApJzo6Ym94IEFTIHBhdGggREVGQVVM VCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoJygyLjAsaW5maW5pdHks TmFOLGluZmluaXR5KSc6OmJveCBBUyBjaXJjbGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04g RVJST1IpOworU0VMRUNUIENBU1QoJyhOYU4sMC4wKSwoMi4wLDQuMCksKDAuMCxpbmZpbml0eSkn Ojpwb2x5Z29uIEFTIHBvaW50IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NF TEVDVCBDQVNUKCcoMi4wLDAuMCksKDIuMCw0LjApLCgwLjAsMC4wKSc6OnBvbHlnb24gQVMgcGF0 aCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnKDIuMCww LjApLCgyLjAsNC4wKSwoMC4wLDAuMCknOjpwb2x5Z29uIEFTIGJveCBERUZBVUxUIE5VTEwgT04g Q09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnKE5hTixpbmZpbml0eSksKDIuMCw0LjAp LCgwLjAsaW5maW5pdHkpJzo6cG9seWdvbiBBUyBjaXJjbGUgREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoJzwoNSwxKSwzPic6OmNpcmNsZSBBUyBwb2ludCBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnPCgzLDUpLDA+ Jzo6Y2lyY2xlIGFzIGJveCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CisKKy0t IGNhc3QgZnJvbSB0eXBlIGNpcmNsZSB0byB0eXBlIHBvbHlnb24gaXMgaW1wbGVtZW50ZWQgYXMg YW4gU1FMIGZ1bmN0aW9uLCB3aGljaCBjYW5ub3QgYmUgZXJyb3Itc2FmZQorU0VMRUNUIENBU1Qo JzwoMyw1KSwwPic6OmNpcmNsZSBhcyBwb2x5Z29uIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9O IEVSUk9SKTsKKworLS0tIHNhZmUgY2FzdCBmcm9tL3RvIG1vbmV5IHR5cGUgaXMgbm90IHN1cHBv cnRlZCwgYWxsIHRoZSBmb2xsb3dpbmcgd291bGQgcmVzdWx0IGVycm9yCitTRUxFQ1QgQ0FTVChO VUxMOjppbnQ4IEFTIG1vbmV5IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NF TEVDVCBDQVNUKE5VTEw6OmludDQgQVMgbW9uZXkgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04g RVJST1IpOworU0VMRUNUIENBU1QoTlVMTDo6bnVtZXJpYyBBUyBtb25leSBERUZBVUxUIE5VTEwg T04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVChOVUxMOjptb25leSBBUyBudW1lcmlj IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKE5VTEw6Om1v bmV5W10gQVMgbnVtZXJpY1tdIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKwor LS0gc2FmZSBjYXN0IGZyb20gYnl0ZWEgdHlwZSB0byBvdGhlciBkYXRhIHR5cGVzCitTRUxFQ1Qg Q0FTVCAoJ1x4MTEyMjMzNDQ1NTY2Nzc4ODk5Jzo6Ynl0ZWEgQVMgaW50OCBERUZBVUxUIDE5IE9O IENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1QoJ1x4MTIzNDU2Nzg5QSc6OmJ5dGVhIEFT IGludDQgREVGQVVMVCAyMCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCdceDEy MzQ1Nic6OmJ5dGVhIEFTIGludDIgREVGQVVMVCAyMSBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKwor LS0gc2FmZSBjYXN0IGZyb20gYml0IHR5cGUgdG8gb3RoZXIgZGF0YSB0eXBlcworU0VMRUNUIENB U1QoJzExMTExMTExMTEwMDAwMSc6OmJpdCgxMDApIEFTIElOVCBERUZBVUxUIDIyIE9OIENPTlZF UlNJT04gRVJST1IpOworU0VMRUNUIENBU1QgKCcxMTExMTExMTExMDAwMDEnOjpiaXQoMTAwKSBB UyBJTlQ4IERFRkFVTFQgMjMgT04gQ09OVkVSU0lPTiBFUlJPUik7CisKKy0tLSBzYWZlIGNhc3Qg ZnJvbSB0ZXh0IHR5cGUgdG8gb3RoZXIgZGF0YSB0eXBlcworc2VsZWN0IENBU1QoJ2EuYi5jLmQn Ojp0ZXh0IGFzIHJlZ2NsYXNzIGRlZmF1bHQgTlVMTCBvbiBjb252ZXJzaW9uIGVycm9yKTsKKwor Q1JFQVRFIFRBQkxFIHRlc3Rfc2FmZWNhc3QoY29sMCB0ZXh0KTsKK0lOU0VSVCBJTlRPIHRlc3Rf c2FmZWNhc3QoY29sMCkgVkFMVUVTICgnPHZhbHVlPm9uZTwvdmFsdWUnKTsKKworU0VMRUNUIGNv bDAgYXMgdGV4dCwKKyAgICAgICBDQVNUKGNvbDAgQVMgcmVnY2xhc3MgREVGQVVMVCBOVUxMIE9O IENPTlZFUlNJT04gRVJST1IpIGFzIHRvX3JlZ2NsYXNzLAorICAgICAgIENBU1QoY29sMCBBUyBy ZWdjbGFzcyBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgSVMgTlVMTCBhcyBleHBl Y3RfdHJ1ZSwKKyAgICAgICBDQVNUKGNvbDAgQVMgImNoYXIiICBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUikgYXMgdG9fY2hhciwKKyAgICAgICBDQVNUKGNvbDAgQVMgbmFtZSBERUZB VUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fbmFtZSwKKyAgICAgICBDQVNUKGNv bDAgQVMgeG1sIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b194bWwKK0ZS T00gdGVzdF9zYWZlY2FzdDsKKworU0VMRUNUIENBU1QoJzE5Mi4xNjguMS54JyBhcyBpbmV0IERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCcxOTIuMTY4LjEu Mi8zMCcgYXMgY2lkciBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1Qg Q0FTVCgnMjI6MDA6NWM6MDg6NTU6MDg6MDE6MDInOjptYWNhZGRyOCBhcyBtYWNhZGRyIERFRkFV TFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKKworLS0tIHNhZmUgY2FzdCBiZXR3ZWVlbiBy YW5nZSBkYXRhIHR5cGVzCitTRUxFQ1QgQ0FTVCgnWzEsMl0nOjppbnQ0cmFuZ2UgQVMgaW50NG11 bHRpcmFuZ2UgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworU0VMRUNUIENBU1Qo J1sxLDJdJzo6aW50OHJhbmdlIEFTIGludDhtdWx0aXJhbmdlIERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCdbMSwyXSc6Om51bXJhbmdlICBBUyBudW1tdWx0 aXJhbmdlIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKTsKK1NFTEVDVCBDQVNUKCdb LWluZmluaXR5LGluZmluaXR5XSc6OmRhdGVyYW5nZSBBUyBkYXRlbXVsdGlyYW5nZSBERUZBVUxU IE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnWy1pbmZpbml0eSxpbmZp bml0eV0nOjp0c3JhbmdlIEFTIHRzbXVsdGlyYW5nZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lP TiBFUlJPUik7CitTRUxFQ1QgQ0FTVCgnWy1pbmZpbml0eSxpbmZpbml0eV0nOjp0c3R6cmFuZ2Ug QVMgdHN0em11bHRpcmFuZ2UgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOworCist LSBzYWZlIGNhc3QgYmV0d2VlZW4gbnVtZXJpYyBkYXRhIHR5cGVzCitDUkVBVEUgVEFCTEUgdGVz dF9zYWZlY2FzdDEoCisgIGNvbDEgZmxvYXQ0LCBjb2wyIGZsb2F0OCwgY29sMyBudW1lcmljLCBj b2w0IG51bWVyaWNbXSwKKyAgY29sNSBpbnQyIGRlZmF1bHQgMzI3NjcsCisgIGNvbDYgaW50NCBk ZWZhdWx0IDMyNzY4LAorICBjb2w3IGludDggZGVmYXVsdCA0Mjk0OTY3Mjk2KTsKK0lOU0VSVCBJ TlRPIHRlc3Rfc2FmZWNhc3QxIFZBTFVFUygnMTEuMTIzNCcsICcxMS4xMjM0JywgJzkyMjMzNzIw MzY4NTQ3NzU4MDgnLCAnezExLjEyMzR9Jzo6bnVtZXJpY1tdKTsKK0lOU0VSVCBJTlRPIHRlc3Rf c2FmZWNhc3QxIFZBTFVFUygnaW5mJywgJ2luZicsICdpbmYnLCAnezExLjEyMzQsIDEyLCBpbmYs IE5hTn0nOjpudW1lcmljW10pOworSU5TRVJUIElOVE8gdGVzdF9zYWZlY2FzdDEgVkFMVUVTKCct aW5mJywgJy1pbmYnLCAnLWluZicsICd7MTEuMTIzNCwgMTIsIC1pbmYsIE5hTn0nOjpudW1lcmlj W10pOworSU5TRVJUIElOVE8gdGVzdF9zYWZlY2FzdDEgVkFMVUVTKCdOYU4nLCAnTmFOJywgJ05h TicsICd7MTEuMTIzNCwgMTIsIC1pbmYsIE5hTn0nOjpudW1lcmljW10pOworCitTRUxFQ1QgY29s NSBhcyBpbnQyLAorICAgICAgIENBU1QoY29sNSBBUyBpbnQyIERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKSBhcyB0b19pbnQyLAorICAgICAgIENBU1QoY29sNSBBUyBpbnQ0IERFRkFV TFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ0LAorICAgICAgIENBU1QoY29s NSBBUyBvaWQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX29pZCwKKyAg ICAgICBDQVNUKGNvbDUgYXMgaW50OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikg YXMgdG9faW50OCwKKyAgICAgICBDQVNUKGNvbDUgYXMgZmxvYXQ0IERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDQsCisgICAgICAgQ0FTVChjb2w1IGFzIGZsb2F0 OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fZmxvYXQ4LAorICAgICAg IENBU1QoY29sNSBhcyBudW1lcmljIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b19udW1lcmljLAorICAgICAgIENBU1QoY29sNSBhcyBudW1lcmljKDEwLDEpIERFRkFVTFQg TlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljX3NjYWxlCitGUk9NIHRlc3Rf c2FmZWNhc3QxOworCitTRUxFQ1QgY29sNiBhcyBpbnQ0LAorICAgICAgIENBU1QoY29sNiBBUyBp bnQyIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQyLAorICAgICAg IENBU1QoY29sNiBBUyBpbnQ0IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0 b19pbnQ0LAorICAgICAgIENBU1QoY29sNiBBUyBvaWQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpIGFzIHRvX29pZCwKKyAgICAgICBDQVNUKGNvbDYgYXMgaW50OCBERUZBVUxUIE5V TEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9faW50OCwKKyAgICAgICBDQVNUKGNvbDYgYXMg ZmxvYXQ0IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDQsCisg ICAgICAgQ0FTVChjb2w2IGFzIGZsb2F0OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJP UikgYXMgdG9fZmxvYXQ4LAorICAgICAgIENBU1QoY29sNiBhcyBudW1lcmljIERFRkFVTFQgTlVM TCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljLAorICAgICAgIENBU1QoY29sNiBh cyBudW1lcmljKDEwLDEpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19u dW1lcmljX3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNhc3QxOworCitTRUxFQ1QgY29sNyBhcyBpbnQ4 LAorICAgICAgIENBU1QoY29sNyBBUyBpbnQyIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVS Uk9SKSBhcyB0b19pbnQyLAorICAgICAgIENBU1QoY29sNyBBUyBpbnQ0IERFRkFVTFQgTlVMTCBP TiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ0LAorICAgICAgIENBU1QoY29sNyBBUyBvaWQg REVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX29pZCwKKyAgICAgICBDQVNU KGNvbDcgYXMgaW50OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9faW50 OCwKKyAgICAgICBDQVNUKGNvbDcgYXMgZmxvYXQ0IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9O IEVSUk9SKSBhcyB0b19mbG9hdDQsCisgICAgICAgQ0FTVChjb2w3IGFzIGZsb2F0OCBERUZBVUxU IE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fZmxvYXQ4LAorICAgICAgIENBU1QoY29s NyBhcyBudW1lcmljIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1l cmljLAorICAgICAgIENBU1QoY29sNyBhcyBudW1lcmljKDEwLDEpIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljX3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNhc3Qx OworCitTRUxFQ1QgY29sMyBhcyBudW1lcmljLAorICAgICAgIENBU1QoY29sMyBBUyBpbnQyIERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQyLAorICAgICAgIENBU1Qo Y29sMyBBUyBpbnQ0IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ0 LAorICAgICAgIENBU1QoY29sMyBBUyBvaWQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJS T1IpIGFzIHRvX29pZCwKKyAgICAgICBDQVNUKGNvbDMgYXMgaW50OCBERUZBVUxUIE5VTEwgT04g Q09OVkVSU0lPTiBFUlJPUikgYXMgdG9faW50OCwKKyAgICAgICBDQVNUKGNvbDMgYXMgZmxvYXQ0 IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDQsCisgICAgICAg Q0FTVChjb2wzIGFzIGZsb2F0OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMg dG9fZmxvYXQ4LAorICAgICAgIENBU1QoY29sMyBhcyBudW1lcmljIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljLAorICAgICAgIENBU1QoY29sMyBhcyBudW1l cmljKDEwLDEpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmlj X3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNhc3QxOworCitTRUxFQ1QgY29sNCBhcyBudW1fYXJyLAor ICAgICAgIENBU1QoY29sNCBBUyBpbnQyW10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJS T1IpIGFzIGludDJhcnIsCisgICAgICAgQ0FTVChjb2w0IEFTIGludDRbXSBERUZBVUxUIE5VTEwg T04gQ09OVkVSU0lPTiBFUlJPUikgYXMgaW50NGFyciwKKyAgICAgICBDQVNUKGNvbDQgYXMgaW50 OFtdIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyBpbnQ4YXJyLAorICAgICAg IENBU1QoY29sNCBhcyBmbG9hdDRbXSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikg YXMgZjRhcnIsCisgICAgICAgQ0FTVChjb2w0IGFzIGZsb2F0OFtdIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyBmOGFyciwKKyAgICAgICBDQVNUKGNvbDQgYXMgbnVtZXJpYygx MCwxKVtdIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyBudW1hcnIKK0ZST00g dGVzdF9zYWZlY2FzdDE7CisKK1NFTEVDVCBjb2wxIGFzIGZsb2F0NCwKKyAgICAgICBDQVNUKGNv bDEgQVMgaW50MiBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9faW50MiwK KyAgICAgICBDQVNUKGNvbDEgQVMgaW50NCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJP UikgYXMgdG9faW50NCwKKyAgICAgICBDQVNUKGNvbDEgQVMgb2lkIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19vaWQsCisgICAgICAgQ0FTVChjb2wxIGFzIGludDggREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2ludDgsCisgICAgICAgQ0FTVChj b2wxIGFzIGZsb2F0NCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fZmxv YXQ0LAorICAgICAgIENBU1QoY29sMSBhcyBmbG9hdDggREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJ T04gRVJST1IpIGFzIHRvX2Zsb2F0OCwKKyAgICAgICBDQVNUKGNvbDEgYXMgbnVtZXJpYyBERUZB VUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fbnVtZXJpYywKKyAgICAgICBDQVNU KGNvbDEgYXMgbnVtZXJpYygxMCwxKSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikg YXMgdG9fbnVtZXJpY19zY2FsZQorRlJPTSB0ZXN0X3NhZmVjYXN0MTsKKworU0VMRUNUIGNvbDIg YXMgZmxvYXQ4LAorICAgICAgIENBU1QoY29sMiBBUyBpbnQyIERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKSBhcyB0b19pbnQyLAorICAgICAgIENBU1QoY29sMiBBUyBpbnQ0IERFRkFV TFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnQ0LAorICAgICAgIENBU1QoY29s MiBBUyBvaWQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX29pZCwKKyAg ICAgICBDQVNUKGNvbDIgYXMgaW50OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikg YXMgdG9faW50OCwKKyAgICAgICBDQVNUKGNvbDIgYXMgZmxvYXQ0IERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19mbG9hdDQsCisgICAgICAgQ0FTVChjb2wyIGFzIGZsb2F0 OCBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fZmxvYXQ4LAorICAgICAg IENBU1QoY29sMiBhcyBudW1lcmljIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b19udW1lcmljLAorICAgICAgIENBU1QoY29sMiBhcyBudW1lcmljKDEwLDEpIERFRkFVTFQg TlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljX3NjYWxlCitGUk9NIHRlc3Rf c2FmZWNhc3QxOworCistLSBzYWZlIHR5cGUgY2FzdCBmb3IgdHlwZSBkYXRlL3RpbWVzdGFtcC90 aW1lc3RhbXB0ei9pbnRlcnZhbAorQ1JFQVRFIFRBQkxFIHRlc3Rfc2FmZWNhc3QyKAorICBjb2ww IGRhdGUsIGNvbDEgdGltZXN0YW1wLCBjb2wyIHRpbWVzdGFtcHR6LAorICBjb2wzIGludGVydmFs LCBjb2w0IHRpbWUsIGNvbDUgdGltZXR6KTsKK0lOU0VSVCBJTlRPIHRlc3Rfc2FmZWNhc3QyIFZB TFVFUworKCctaW5maW5pdHknLCAnLWluZmluaXR5JywgJy1pbmZpbml0eScsICctaW5maW5pdHkn LAorICAnMjAwMy0wMy0wNyAxNTozNjozOSBBbWVyaWNhL05ld19Zb3JrJywgJzIwMDMtMDctMDcg MTU6MzY6MzkgQW1lcmljYS9OZXdfWW9yaycpLAorKCctaW5maW5pdHknLCAnaW5maW5pdHknLCAn aW5maW5pdHknLCAnaW5maW5pdHknLCAnMTE6NTk6NTkuOTkgUE0nLCAnMTE6NTk6NTkuOTkgUE0g UERUJyk7CisKK1NFTEVDVCBjb2wwIGFzIGRhdGUsCisgICAgICAgQ0FTVChjb2wwIEFTIHRpbWVz dGFtcHR6IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1lc3RhbXB0 eiwKKyAgICAgICBDQVNUKGNvbDAgQVMgZGF0ZSBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBF UlJPUikgYXMgdG9fZGF0ZSwKKyAgICAgICBDQVNUKGNvbDAgQVMgdGltZSBERUZBVUxUIE5VTEwg T04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXMsCisgICAgICAgQ0FTVChjb2wwIEFTIHRp bWV0eiBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXR6LAorICAg ICAgIENBU1QoY29sMCBBUyB0aW1lc3RhbXAoMikgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04g RVJST1IpIGFzIHRvX3RpbWVzdGFtcF9zY2FsZQorRlJPTSB0ZXN0X3NhZmVjYXN0MjsKKworU0VM RUNUIGNvbDEgYXMgdGltZXN0YW1wLAorICAgICAgIENBU1QoY29sMSBBUyB0aW1lc3RhbXB0eiBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXN0YW1wdHosCisgICAg ICAgQ0FTVChjb2wxIEFTIGRhdGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX2RhdGUsCisgICAgICAgQ0FTVChjb2wxIEFTIHRpbWUgREVGQVVMVCBOVUxMIE9OIENPTlZF UlNJT04gRVJST1IpIGFzIHRvX3RpbWVzLAorICAgICAgIENBU1QoY29sMSBBUyB0aW1ldHogREVG QVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX3RpbWV0eiwKKyAgICAgICBDQVNU KGNvbDEgQVMgdGltZXN0YW1wKDIpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b190aW1lc3RhbXBfc2NhbGUKK0ZST00gdGVzdF9zYWZlY2FzdDI7CisKK1NFTEVDVCBjb2wy IGFzIHRpbWVzdGFtcHR6LAorICAgICAgIENBU1QoY29sMiBBUyB0aW1lc3RhbXB0eiBERUZBVUxU IE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXN0YW1wdHosCisgICAgICAgQ0FT VChjb2wyIEFTIGRhdGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2Rh dGUsCisgICAgICAgQ0FTVChjb2wyIEFTIHRpbWUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04g RVJST1IpIGFzIHRvX3RpbWVzLAorICAgICAgIENBU1QoY29sMiBBUyB0aW1ldHogREVGQVVMVCBO VUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX3RpbWV0eiwKKyAgICAgICBDQVNUKGNvbDIg QVMgdGltZXN0YW1wKDIpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190 aW1lc3RhbXBfc2NhbGUKK0ZST00gdGVzdF9zYWZlY2FzdDI7CisKK1NFTEVDVCBjb2wzIGFzIGlu dGVydmFsLAorICAgICAgIENBU1QoY29sMyBBUyB0aW1lc3RhbXB0eiBERUZBVUxUIE5VTEwgT04g Q09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXN0YW1wdHosCisgICAgICAgQ0FTVChjb2wzIEFT IGRhdGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2RhdGUsCisgICAg ICAgQ0FTVChjb2wzIEFTIHRpbWUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX3RpbWVzLAorICAgICAgIENBU1QoY29sMyBBUyB0aW1ldHogREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIHRvX3RpbWV0eiwKKyAgICAgICBDQVNUKGNvbDMgQVMgdGltZXN0 YW1wKDIpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1lc3RhbXBf c2NhbGUsCisgICAgICAgQ0FTVChjb2wzIEFTIGludGVydmFsKDIpIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnRlcnZhbF9zY2FsZQorRlJPTSB0ZXN0X3NhZmVjYXN0 MjsKKworU0VMRUNUIGNvbDQgYXMgdGltZSwKKyAgICAgICBDQVNUKGNvbDQgQVMgdGltZSgyKSBE RUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9fdGltZXMsCisgICAgICAgQ0FT VChjb2w0IEFTIHRpbWV0eiBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgSVMgTk9U IE5VTEwgYXMgdG9fdGltZXR6LAorICAgICAgIENBU1QoY29sNCBBUyBpbnRlcnZhbCgyKSBERUZB VUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgdG9faW50ZXJ2YWwsCisgICAgICAgQ0FT VChjb2w0IEFTIGludGVydmFsKDIpIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBh cyB0b19pbnRlcnZhbF9zY2FsZQorRlJPTSB0ZXN0X3NhZmVjYXN0MjsKKworU0VMRUNUIGNvbDUg YXMgdGltZXR6LAorICAgICAgIENBU1QoY29sNSBBUyB0aW1lIERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKSBhcyB0b190aW1lLAorICAgICAgIENBU1QoY29sNSBBUyB0aW1lKDIpIERF RkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1lX3NjYWxlLAorICAgICAg IENBU1QoY29sNSBBUyB0aW1ldHogREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX3RpbWV0eiwKKyAgICAgICBDQVNUKGNvbDUgQVMgdGltZXR6KDYpIERFRkFVTFQgTlVMTCBP TiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b190aW1ldHpfc2NhbGUsCisgICAgICAgQ0FTVChjb2w1 IEFTIGludGVydmFsIERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19pbnRl cnZhbCwKKyAgICAgICBDQVNUKGNvbDUgQVMgaW50ZXJ2YWwoMikgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIHRvX2ludGVydmFsX3NjYWxlCitGUk9NIHRlc3Rfc2FmZWNhc3Qy OworCitDUkVBVEUgVEFCTEUgdGVzdF9zYWZlY2FzdDMoY29sMCBqc29uYik7CitJTlNFUlQgSU5U TyB0ZXN0X3NhZmVjYXN0Myhjb2wwKSBWQUxVRVMgKCcidGVzdCInKTsKK1NFTEVDVCBjb2wwIGFz IGpzb25iLAorICAgICAgIENBU1QoY29sMCBBUyBpbnRlZ2VyIERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKSBhcyB0b19pbnRlZ2VyLAorICAgICAgIENBU1QoY29sMCBBUyBudW1lcmlj IERFRkFVTFQgTlVMTCBPTiBDT05WRVJTSU9OIEVSUk9SKSBhcyB0b19udW1lcmljLAorICAgICAg IENBU1QoY29sMCBBUyBiaWdpbnQgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFz IHRvX2ludDgsCisgICAgICAgQ0FTVChjb2wwIEFTIGZsb2F0NCBERUZBVUxUIE5VTEwgT04gQ09O VkVSU0lPTiBFUlJPUikgYXMgdG9fZmxvYXQ0LAorICAgICAgIENBU1QoY29sMCBBUyBmbG9hdDgg REVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIHRvX2Zsb2F0OCwKKyAgICAgICBD QVNUKGNvbDAgQVMgYm9vbGVhbiBERUZBVUxUIE5VTEwgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMg dG9fYm9vbCwKKyAgICAgICBDQVNUKGNvbDAgQVMgc21hbGxpbnQgREVGQVVMVCBOVUxMIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIHRvX3NtYWxsaW50CitGUk9NIHRlc3Rfc2FmZWNhc3QzOworCist LSB0ZXN0IGRlcGFyc2UKK1NFVCBkYXRlc3R5bGUgVE8gSVNPLCBZTUQ7CitDUkVBVEUgVklFVyBz YWZlY2FzdHZpZXcgQVMKK1NFTEVDVCBDQVNUKCcxMjM0JyBhcyBjaGFyKDMpIERFRkFVTFQgLTEx MTEgT04gQ09OVkVSU0lPTiBFUlJPUiksCisgICAgICAgQ0FTVCgxIGFzIGRhdGUgREVGQVVMVCAo KCcyMDI1LURlYy0wNic6OmRhdGUgKyByYW5kb20obWluPT4xLCBtYXg9PjE6OmludCkpKSBPTiBD T05WRVJTSU9OIEVSUk9SKSBhcyBjYXN0MCwKKyAgICAgICBDQVNUKEFSUkFZW1snMSddLCBbJ3Ro cmVlJ10sWydhJ11dIEFTIGludFtdIERFRkFVTFQgJ3sxLDJ9JyBPTiBDT05WRVJTSU9OIEVSUk9S KSBhcyBjYXN0MSwKKyAgICAgICBDQVNUKEFSUkFZW1snMScsICcyJ10sIFsndGhyZWUnLCAnYSdd XSBBUyBkYXRlW10gREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpIGFzIGNhc3QyLAor ICAgICAgIENBU1QoQVJSQVlbJ3RocmVlJ10gQVMgSU5UW10gREVGQVVMVCAnezEsMn0nIE9OIENP TlZFUlNJT04gRVJST1IpIGFzIGNhc3QzOworXHN2IHNhZmVjYXN0dmlldworU0VMRUNUICogRlJP TSBzYWZlY2FzdHZpZXc7CisKK0NSRUFURSBWSUVXIHNhZmVjYXN0dmlldzEgQVMKK1NFTEVDVCBD QVNUKEFSUkFZW1snMSddLCBbJ3RocmVlJ10sWydhJ11dIEFTIGRfaW50X2FycgorICAgICAgICAg ICAgREVGQVVMVCAnezQxLDQzfScgT04gQ09OVkVSU0lPTiBFUlJPUikgYXMgY2FzdDEsCisgICAg ICAgQ0FTVChBUlJBWVtbJzEnLCAnMicsIDEuMV0sIFsndGhyZWUnLCB0cnVlLCBCJzAxJ11dIEFT IGRfaW50X2FycgorICAgICAgICAgICAgREVGQVVMVCAnezQxLDQzfScgT04gQ09OVkVSU0lPTiBF UlJPUikgYXMgY2FzdDI7Citcc3Ygc2FmZWNhc3R2aWV3MQorU0VMRUNUICogRlJPTSBzYWZlY2Fz dHZpZXcxOworCitSRVNFVCBkYXRlc3R5bGU7CisKKy0tIHRlc3QgQ0FTVCBERUZBVUxUIGV4cHJl c3Npb24gbXV0YWJpbGl0eQorQ1JFQVRFIElOREVYIGNhc3RfZXJyb3JfaWR4IE9OIHRlc3Rfc2Fm ZWNhc3QzKChDQVNUKGNvbDAgYXMgaW50IERFRkFVTFQgcmFuZG9tKG1pbj0+MSwgbWF4PT4xKSBP TiBDT05WRVJTSU9OIEVSUk9SKSkpOyAtLSBlcnJvcgorQ1JFQVRFIElOREVYIGNhc3RfZXJyb3Jf aWR4IE9OIHRlc3Rfc2FmZWNhc3QzKChDQVNUKGNvbDAgYXMgeGlkIERFRkFVTFQgTlVMTCBPTiBD T05WRVJTSU9OIEVSUk9SKSkpOyAtLSBlcnJvcgorQ1JFQVRFIElOREVYIGNhc3RfZXJyb3JfaWR4 IE9OIHRlc3Rfc2FmZWNhc3QzKChDQVNUKGNvbDAgYXMgaW50IERFRkFVTFQgTlVMTCBPTiBDT05W RVJTSU9OIEVSUk9SKSkpOyAtLW9rCitTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKCdjYXN0X2Vycm9y X2lkeCc6OnJlZ2NsYXNzKTsKKworRFJPUCBUQUJMRSB0ZXN0X3NhZmVjYXN0OworRFJPUCBUQUJM RSB0ZXN0X3NhZmVjYXN0MTsKK0RST1AgVEFCTEUgdGVzdF9zYWZlY2FzdDI7CitEUk9QIFRBQkxF IHRlc3Rfc2FmZWNhc3QzOworRFJPUCBUQUJMRSB0Y2FzdDsKK0RST1AgRlVOQ1RJT04gcmV0X2lu dDg7CitEUk9QIEZVTkNUSU9OIHJldF9zZXRpbnQ7CitEUk9QIFRZUEUgY29tcF9kb21haW5fd2l0 aF90eXBtb2Q7CitEUk9QIFRZUEUgY29tcDI7CitEUk9QIERPTUFJTiBkX3ZhcmNoYXI7CitEUk9Q IERPTUFJTiBkX2ludDQyOworRFJPUCBET01BSU4gZF9jaGFyM19ub3RfbnVsbDsKK1JFU0VUIGV4 dHJhX2Zsb2F0X2RpZ2l0czsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0 ZV9jYXN0LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV9jYXN0LnNxbAppbmRleCAz MjE4Nzg1M2NjNy4uMGExNWE3OTVkODcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2NyZWF0ZV9jYXN0LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfY2FzdC5z cWwKQEAgLTYyLDYgKzYyLDcgQEAgJCQgU0VMRUNUICgnYmFyJzo6dGV4dCB8fCAkMTo6dGV4dCk7 ICQkOwogCiBDUkVBVEUgQ0FTVCAoaW50NCBBUyBjYXN0dGVzdHR5cGUpIFdJVEggRlVOQ1RJT04g YmFyX2ludDRfdGV4dChpbnQ0KSBBUyBJTVBMSUNJVDsKIFNFTEVDVCAxMjM0OjppbnQ0OjpjYXN0 dGVzdHR5cGU7IC0tIFNob3VsZCB3b3JrIG5vdworU0VMRUNUIENBU1QoMTIzNDo6aW50NCBBUyBj YXN0dGVzdHR5cGUgREVGQVVMVCBOVUxMIE9OIENPTlZFUlNJT04gRVJST1IpOyAtLSBlcnJvcgog CiAtLSBjaGVjayBkZXBlbmRlbmNpZXMgZ2VuZXJhdGVkIGZvciB0aGF0CiBTRUxFQ1QgcGdfZGVz Y3JpYmVfb2JqZWN0KGNsYXNzaWQsIG9iamlkLCBvYmpzdWJpZCkgYXMgb2JqLApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZXF1aXZjbGFzcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC9lcXVpdmNsYXNzLnNxbAppbmRleCA3ZmMyMTU5MzQ5Yi4uN2FkYTRiYjU1MDQgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2VxdWl2Y2xhc3Muc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2VxdWl2Y2xhc3Muc3FsCkBAIC05OCw2ICs5OCw5IEBAIGNyZWF0ZSBmdW5j dGlvbiBpbnQ4YWxpYXMxY21wKGludDgsIGludDhhbGlhczEpIHJldHVybnMgaW50CiBhbHRlciBv cGVyYXRvciBmYW1pbHkgaW50ZWdlcl9vcHMgdXNpbmcgYnRyZWUgYWRkCiAgIGZ1bmN0aW9uIDEg aW50OGFsaWFzMWNtcCAoaW50OCwgaW50OGFsaWFzMSk7CiAKKy0tIGludDhhbGlhczIgYmluYXJ5 LWNvZXJjaWJsZSB0byBpbnQ4LCB0aGlzIHNob3VsZCBub3QgZmFpbAorc2VsZWN0IGNhc3QoJzEn OjppbnQ4IGFzIGludDhhbGlhczIgZGVmYXVsdCBudWxsIG9uIGNvbnZlcnNpb24gZXJyb3IpOwor CiBjcmVhdGUgdGFibGUgZWMwIChmZiBpbnQ4IHByaW1hcnkga2V5LCBmMSBpbnQ4LCBmMiBpbnQ4 KTsKIGNyZWF0ZSB0YWJsZSBlYzEgKGZmIGludDggcHJpbWFyeSBrZXksIGYxIGludDhhbGlhczEs IGYyIGludDhhbGlhczIpOwogY3JlYXRlIHRhYmxlIGVjMiAoeGYgaW50OCBwcmltYXJ5IGtleSwg eDEgaW50OGFsaWFzMSwgeDIgaW50OGFsaWFzMik7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdp bmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0Cmlu ZGV4IDBkZTU1MTgzNzkzLi4zMDcwMjdmMTA5ZCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5k ZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QK QEAgLTI3MDUsNiArMjcwNSw4IEBAIFNUUkxFTgogU1YKIFNZTkNIUk9OSVpBVElPTl9CQVJSSUVS CiBTWVNURU1fSU5GTworU2FmZVR5cGVDYXN0RXhwcgorU2FmZVR5cGVDYXN0U3RhdGUKIFNhbXBs ZVNjYW4KIFNhbXBsZVNjYW5HZXRTYW1wbGVTaXplX2Z1bmN0aW9uCiBTYW1wbGVTY2FuU3RhdGUK LS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0021-error-safe-for-casting-geometry-data-type.patch" Content-Disposition: attachment; filename="v19-0021-error-safe-for-casting-geometry-data-type.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5ng13 RnJvbSA2MTgwNmQ0ZjhiYWQwNWVlMmY3ZjQ0MzJmMzEzOTZjNjQ5ZjE2YjZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMTIgTWFyIDIwMjYgMTQ6MTY6MjUgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAyMS8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBnZW9tZXRyeSBkYXRhIHR5cGUKCnNlbGVj dCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFyZ2V0OjpyZWd0eXBlLCBwcC5wcm9zcmMKZnJv bSBwZ19jYXN0IHBjIGpvaW4gcGdfcHJvYyBwcCBvbiBwcC5vaWQgPSBwYy5jYXN0ZnVuYwpqb2lu IHBnX3R5cGUgcHQgb24gcHQub2lkID0gY2FzdHNvdXJjZQpqb2luIHBnX3R5cGUgcHQxIG9uIHB0 MS5vaWQgPSBjYXN0dGFyZ2V0CmFuZCBwYy5jYXN0ZnVuYyA+IDAgYW5kICBwdC50eXBhcnJheSA8 PiAwCmFuZCBwdC50eXBuYW1lc3BhY2UgPSAncGdfY2F0YWxvZyc6OnJlZ25hbWVzcGFjZQphbmQg cHQxLnR5cG5hbWVzcGFjZSA9ICdwZ19jYXRhbG9nJzo6cmVnbmFtZXNwYWNlCmFuZCAocHQudHlw Y2F0ZWdvcnkgID0gJ0cnIG9yIHB0MS50eXBjYXRlZ29yeSAgPSAnRycpCm9yZGVyIGJ5IGNhc3Rz b3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJlZ3R5cGU7CgogY2FzdHNvdXJjZSB8IGNhc3R0 YXJnZXQgfCAgICBwcm9zcmMKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0KIHBvaW50ICAgICAgfCBib3ggICAgICAgIHwgcG9pbnRfYm94CiBsc2VnICAgICAgIHwgcG9p bnQgICAgICB8IGxzZWdfY2VudGVyCiBwYXRoICAgICAgIHwgcG9seWdvbiAgICB8IHBhdGhfcG9s eQogYm94ICAgICAgICB8IHBvaW50ICAgICAgfCBib3hfY2VudGVyCiBib3ggICAgICAgIHwgbHNl ZyAgICAgICB8IGJveF9kaWFnb25hbAogYm94ICAgICAgICB8IHBvbHlnb24gICAgfCBib3hfcG9s eQogYm94ICAgICAgICB8IGNpcmNsZSAgICAgfCBib3hfY2lyY2xlCiBwb2x5Z29uICAgIHwgcG9p bnQgICAgICB8IHBvbHlfY2VudGVyCiBwb2x5Z29uICAgIHwgcGF0aCAgICAgICB8IHBvbHlfcGF0 aAogcG9seWdvbiAgICB8IGJveCAgICAgICAgfCBwb2x5X2JveAogcG9seWdvbiAgICB8IGNpcmNs ZSAgICAgfCBwb2x5X2NpcmNsZQogY2lyY2xlICAgICB8IHBvaW50ICAgICAgfCBjaXJjbGVfY2Vu dGVyCiBjaXJjbGUgICAgIHwgYm94ICAgICAgICB8IGNpcmNsZV9ib3gKIGNpcmNsZSAgICAgfCBw b2x5Z29uICAgIHwKKDE0IHJvd3MpCgphbHJlYWR5IGVycm9yIHNhZmU6IHBvaW50X2JveCwgYm94 X2RpYWdvbmFsLCBib3hfcG9seSwgcG9seV9wYXRoLCBwb2x5X2JveCwgY2lyY2xlX2NlbnRlci4K ClRoaXMgcGF0Y2ggbWFrZSB0aGVzZSBmdW5jdGlvbnMgZXJyb3Igc2FmZTogbHNlZ19jZW50ZXIs IHBhdGhfcG9seSwgYm94X2NlbnRlciwKYm94X2NpcmNsZSwgcG9seV9jZW50ZXIsIHBvbHlfY2ly Y2xlLCBjaXJjbGVfYm94LgoKRnVuY3Rpb24gdGhhdCBjYXN0aW5nIHR5cGUgY2lyY2xlIHRvIHR5 cGUgcG9seWdvbiBjYW5ub3QgYmUgZXJyb3Igc2FmZSwgYmVjYXVzZQppdCdzIGEgU1FMIGZ1bmN0 aW9uLgoKRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUNKdWZ4SENNenJIT1c9d1Jl OEwzMHJNaEIzc2p3QXYxTEU5MjhGYTdzeE11MVR4LWdAbWFpbC5nbWFpbC5jb20KQ29tbWl0ZmVz dDogaHR0cHM6Ly9jb21taXRmZXN0LnBvc3RncmVzcWwub3JnL3BhdGNoLzU5NDEKLS0tCiBzcmMv YmFja2VuZC91dGlscy9hZHQvZ2VvX29wcy5jIHwgMTk5ICsrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTU3IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9nZW9fb3BzLmMgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvZ2VvX29wcy5jCmluZGV4IGM2NTViMDE1YzE0Li41YjE1NjA3NDc5 NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2dlb19vcHMuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvZ2VvX29wcy5jCkBAIC03Nyw3ICs3Nyw4IEBAIGVudW0gcGF0aF9k ZWxpbQogCiAvKiBSb3V0aW5lcyBmb3IgcG9pbnRzICovCiBzdGF0aWMgaW5saW5lIHZvaWQgcG9p bnRfY29uc3RydWN0KFBvaW50ICpyZXN1bHQsIGZsb2F0OCB4LCBmbG9hdDggeSk7Ci1zdGF0aWMg aW5saW5lIHZvaWQgcG9pbnRfYWRkX3BvaW50KFBvaW50ICpyZXN1bHQsIFBvaW50ICpwdDEsIFBv aW50ICpwdDIpOworc3RhdGljIGlubGluZSB2b2lkIHBvaW50X2FkZF9wb2ludChQb2ludCAqcmVz dWx0LCBQb2ludCAqcHQxLCBQb2ludCAqcHQyLAorCQkJCQkJCQkgICBOb2RlICplc2NvbnRleHQp Owogc3RhdGljIGlubGluZSB2b2lkIHBvaW50X3N1Yl9wb2ludChQb2ludCAqcmVzdWx0LCBQb2lu dCAqcHQxLCBQb2ludCAqcHQyKTsKIHN0YXRpYyBpbmxpbmUgdm9pZCBwb2ludF9tdWxfcG9pbnQo UG9pbnQgKnJlc3VsdCwgUG9pbnQgKnB0MSwgUG9pbnQgKnB0Mik7CiBzdGF0aWMgaW5saW5lIHZv aWQgcG9pbnRfZGl2X3BvaW50KFBvaW50ICpyZXN1bHQsIFBvaW50ICpwdDEsIFBvaW50ICpwdDIp OwpAQCAtMTA4LDcgKzEwOSw3IEBAIHN0YXRpYyBmbG9hdDggbHNlZ19jbG9zZXB0X2xzZWcoUG9p bnQgKnJlc3VsdCwgTFNFRyAqb25fbHNlZywgTFNFRyAqdG9fbHNlZyk7CiAKIC8qIFJvdXRpbmVz IGZvciBib3hlcyAqLwogc3RhdGljIGlubGluZSB2b2lkIGJveF9jb25zdHJ1Y3QoQk9YICpyZXN1 bHQsIFBvaW50ICpwdDEsIFBvaW50ICpwdDIpOwotc3RhdGljIHZvaWQgYm94X2NuKFBvaW50ICpj ZW50ZXIsIEJPWCAqYm94KTsKK3N0YXRpYyBib29sIGJveF9jbihQb2ludCAqY2VudGVyLCBCT1gg KmJveCwgTm9kZSAqZXNjb250ZXh0KTsKIHN0YXRpYyBib29sIGJveF9vdihCT1ggKmJveDEsIEJP WCAqYm94Mik7CiBzdGF0aWMgZmxvYXQ4IGJveF9hcihCT1ggKmJveCk7CiBzdGF0aWMgZmxvYXQ4 IGJveF9odChCT1ggKmJveCk7CkBAIC0xMjUsNyArMTI2LDcgQEAgc3RhdGljIGZsb2F0OCBjaXJj bGVfYXIoQ0lSQ0xFICpjaXJjbGUpOwogCiAvKiBSb3V0aW5lcyBmb3IgcG9seWdvbnMgKi8KIHN0 YXRpYyB2b2lkIG1ha2VfYm91bmRfYm94KFBPTFlHT04gKnBvbHkpOwotc3RhdGljIHZvaWQgcG9s eV90b19jaXJjbGUoQ0lSQ0xFICpyZXN1bHQsIFBPTFlHT04gKnBvbHkpOworc3RhdGljIGJvb2wg cG9seV90b19jaXJjbGUoQ0lSQ0xFICpyZXN1bHQsIFBPTFlHT04gKnBvbHksIE5vZGUgKmVzY29u dGV4dCk7CiBzdGF0aWMgYm9vbCBsc2VnX2luc2lkZV9wb2x5KFBvaW50ICphLCBQb2ludCAqYiwg UE9MWUdPTiAqcG9seSwgaW50IHN0YXJ0KTsKIHN0YXRpYyBib29sIHBvbHlfY29udGFpbl9wb2x5 KFBPTFlHT04gKmNvbnRhaW5zX3BvbHksIFBPTFlHT04gKmNvbnRhaW5lZF9wb2x5KTsKIHN0YXRp YyBib29sIHBsaXN0X3NhbWUoaW50IG5wdHMsIFBvaW50ICpwMSwgUG9pbnQgKnAyKTsKQEAgLTgz Niw4ICs4MzcsOCBAQCBib3hfZGlzdGFuY2UoUEdfRlVOQ1RJT05fQVJHUykKIAlQb2ludAkJYSwK IAkJCQliOwogCi0JYm94X2NuKCZhLCBib3gxKTsKLQlib3hfY24oJmIsIGJveDIpOworCSh2b2lk KSBib3hfY24oJmEsIGJveDEsIGZjaW5mby0+Y29udGV4dCk7CisJKHZvaWQpIGJveF9jbigmYiwg Ym94MiwgZmNpbmZvLT5jb250ZXh0KTsKIAogCVBHX1JFVFVSTl9GTE9BVDgocG9pbnRfZHQoJmEs ICZiLCBmY2luZm8tPmNvbnRleHQpKTsKIH0KQEAgLTg1MSw3ICs4NTIsOCBAQCBib3hfY2VudGVy KFBHX0ZVTkNUSU9OX0FSR1MpCiAJQk9YCQkgICAqYm94ID0gUEdfR0VUQVJHX0JPWF9QKDApOwog CVBvaW50CSAgICpyZXN1bHQgPSBwYWxsb2Nfb2JqZWN0KFBvaW50KTsKIAotCWJveF9jbihyZXN1 bHQsIGJveCk7CisJaWYgKCFib3hfY24ocmVzdWx0LCBib3gsIGZjaW5mby0+Y29udGV4dCkpCisJ CVBHX1JFVFVSTl9OVUxMKCk7CiAKIAlQR19SRVRVUk5fUE9JTlRfUChyZXN1bHQpOwogfQpAQCAt ODY4LDE0ICs4NzAsMzEgQEAgYm94X2FyKEJPWCAqYm94KQogCiAvKgkJYm94X2NuCS0JCXN0b3Jl cyB0aGUgY2VudGVycG9pbnQgb2YgdGhlIGJveCBpbnRvICpjZW50ZXIuCiAgKi8KLXN0YXRpYyB2 b2lkCi1ib3hfY24oUG9pbnQgKmNlbnRlciwgQk9YICpib3gpCitzdGF0aWMgYm9vbAorYm94X2Nu KFBvaW50ICpjZW50ZXIsIEJPWCAqYm94LCBOb2RlICplc2NvbnRleHQpCiB7Ci0JY2VudGVyLT54 ID0gZmxvYXQ4X2RpdihmbG9hdDhfcGwoYm94LT5oaWdoLngsIGJveC0+bG93LngpLCAyLjApOwot CWNlbnRlci0+eSA9IGZsb2F0OF9kaXYoZmxvYXQ4X3BsKGJveC0+aGlnaC55LCBib3gtPmxvdy55 KSwgMi4wKTsKKwlmbG9hdDgJCXg7CisJZmxvYXQ4CQl5OworCisJeCA9IGZsb2F0OF9wbF9zYWZl KGJveC0+aGlnaC54LCBib3gtPmxvdy54LCBlc2NvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09D Q1VSUkVEKGVzY29udGV4dCkpCisJCXJldHVybiBmYWxzZTsKKworCWNlbnRlci0+eCA9IGZsb2F0 OF9kaXZfc2FmZSh4LCAyLjAsIGVzY29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQo ZXNjb250ZXh0KSkKKwkJcmV0dXJuIGZhbHNlOworCisJeSA9IGZsb2F0OF9wbF9zYWZlKGJveC0+ aGlnaC55LCBib3gtPmxvdy55LCBlc2NvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVE KGVzY29udGV4dCkpCisJCXJldHVybiBmYWxzZTsKKworCWNlbnRlci0+eSA9IGZsb2F0OF9kaXZf c2FmZSh5LCAyLjAsIGVzY29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZXNjb250 ZXh0KSkKKwkJcmV0dXJuIGZhbHNlOworCisJcmV0dXJuIHRydWU7CiB9CiAKLQogLyoJCWJveF93 ZAktCQlyZXR1cm5zIHRoZSB3aWR0aCAobGVuZ3RoKSBvZiB0aGUgYm94CiAgKgkJCQkJCQkJICAo aG9yaXpvbnRhbCBtYWduaXR1ZGUpLgogICovCkBAIC0yMzI5LDEzICsyMzQ4LDMxIEBAIGxzZWdf Y2VudGVyKFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJTFNFRwkgICAqbHNlZyA9IFBHX0dFVEFSR19M U0VHX1AoMCk7CiAJUG9pbnQJICAgKnJlc3VsdDsKKwlmbG9hdDgJCXg7CisJZmxvYXQ4CQl5Owog CiAJcmVzdWx0ID0gcGFsbG9jX29iamVjdChQb2ludCk7CiAKLQlyZXN1bHQtPnggPSBmbG9hdDhf ZGl2KGZsb2F0OF9wbChsc2VnLT5wWzBdLngsIGxzZWctPnBbMV0ueCksIDIuMCk7Ci0JcmVzdWx0 LT55ID0gZmxvYXQ4X2RpdihmbG9hdDhfcGwobHNlZy0+cFswXS55LCBsc2VnLT5wWzFdLnkpLCAy LjApOworCXggPSBmbG9hdDhfcGxfc2FmZShsc2VnLT5wWzBdLngsIGxzZWctPnBbMV0ueCwgZmNp bmZvLT5jb250ZXh0KTsKKwlpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRChmY2luZm8tPmNvbnRleHQp KQorCQlnb3RvIGZhaWw7CisKKwlyZXN1bHQtPnggPSBmbG9hdDhfZGl2X3NhZmUoeCwgMi4wLCBm Y2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGZjaW5mby0+Y29udGV4 dCkpCisJCWdvdG8gZmFpbDsKKworCXkgPSBmbG9hdDhfcGxfc2FmZShsc2VnLT5wWzBdLnksIGxz ZWctPnBbMV0ueSwgZmNpbmZvLT5jb250ZXh0KTsKKwlpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRChm Y2luZm8tPmNvbnRleHQpKQorCQlnb3RvIGZhaWw7CisKKwlyZXN1bHQtPnkgPSBmbG9hdDhfZGl2 X3NhZmUoeSwgMi4wLCBmY2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVE KGZjaW5mby0+Y29udGV4dCkpCisJCWdvdG8gZmFpbDsKIAogCVBHX1JFVFVSTl9QT0lOVF9QKHJl c3VsdCk7CisKK2ZhaWw6CisJUEdfUkVUVVJOX05VTEwoKTsKIH0KIAogCkBAIC0zMjkwLDcgKzMz MjcsNyBAQCBib3hfaW50ZXJwdF9sc2VnKFBvaW50ICpyZXN1bHQsIEJPWCAqYm94LCBMU0VHICps c2VnKQogCiAJaWYgKHJlc3VsdCAhPSBOVUxMKQogCXsKLQkJYm94X2NuKCZwb2ludCwgYm94KTsK KwkJKHZvaWQpIGJveF9jbigmcG9pbnQsIGJveCwgTlVMTCk7CiAJCWxzZWdfY2xvc2VwdF9wb2lu dChyZXN1bHQsIGxzZWcsICZwb2ludCk7CiAJfQogCkBAIC00MTIxLDExICs0MTU4LDIwIEBAIGNv bnN0cnVjdF9wb2ludChQR19GVU5DVElPTl9BUkdTKQogCiAKIHN0YXRpYyBpbmxpbmUgdm9pZAot cG9pbnRfYWRkX3BvaW50KFBvaW50ICpyZXN1bHQsIFBvaW50ICpwdDEsIFBvaW50ICpwdDIpCitw b2ludF9hZGRfcG9pbnQoUG9pbnQgKnJlc3VsdCwgUG9pbnQgKnB0MSwgUG9pbnQgKnB0MiwgTm9k ZSAqZXNjb250ZXh0KQogewotCXBvaW50X2NvbnN0cnVjdChyZXN1bHQsCi0JCQkJCWZsb2F0OF9w bChwdDEtPngsIHB0Mi0+eCksCi0JCQkJCWZsb2F0OF9wbChwdDEtPnksIHB0Mi0+eSkpOworCWZs b2F0OAkJeDsKKwlmbG9hdDgJCXk7CisKKwl4ID0gZmxvYXQ4X3BsX3NhZmUocHQxLT54LCBwdDIt PngsIGVzY29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZXNjb250ZXh0KSkKKwkJ cmV0dXJuOworCisJeSA9IGZsb2F0OF9wbF9zYWZlKHB0MS0+eSwgcHQyLT55LCBlc2NvbnRleHQp OworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGVzY29udGV4dCkpCisJCXJldHVybjsKKworCXBv aW50X2NvbnN0cnVjdChyZXN1bHQsIHgsIHkpOwogfQogCiBEYXR1bQpAQCAtNDEzNyw3ICs0MTgz LDcgQEAgcG9pbnRfYWRkKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlyZXN1bHQgPSBwYWxsb2Nfb2Jq ZWN0KFBvaW50KTsKIAotCXBvaW50X2FkZF9wb2ludChyZXN1bHQsIHAxLCBwMik7CisJcG9pbnRf YWRkX3BvaW50KHJlc3VsdCwgcDEsIHAyLCBmY2luZm8tPmNvbnRleHQpOwogCiAJUEdfUkVUVVJO X1BPSU5UX1AocmVzdWx0KTsKIH0KQEAgLTQyNDksOCArNDI5NSw4IEBAIGJveF9hZGQoUEdfRlVO Q1RJT05fQVJHUykKIAogCXJlc3VsdCA9IHBhbGxvY19vYmplY3QoQk9YKTsKIAotCXBvaW50X2Fk ZF9wb2ludCgmcmVzdWx0LT5oaWdoLCAmYm94LT5oaWdoLCBwKTsKLQlwb2ludF9hZGRfcG9pbnQo JnJlc3VsdC0+bG93LCAmYm94LT5sb3csIHApOworCXBvaW50X2FkZF9wb2ludCgmcmVzdWx0LT5o aWdoLCAmYm94LT5oaWdoLCBwLCBmY2luZm8tPmNvbnRleHQpOworCXBvaW50X2FkZF9wb2ludCgm cmVzdWx0LT5sb3csICZib3gtPmxvdywgcCwgZmNpbmZvLT5jb250ZXh0KTsKIAogCVBHX1JFVFVS Tl9CT1hfUChyZXN1bHQpOwogfQpAQCAtNDQxMyw3ICs0NDU5LDcgQEAgcGF0aF9hZGRfcHQoUEdf RlVOQ1RJT05fQVJHUykKIAlpbnQJCQlpOwogCiAJZm9yIChpID0gMDsgaSA8IHBhdGgtPm5wdHM7 IGkrKykKLQkJcG9pbnRfYWRkX3BvaW50KCZwYXRoLT5wW2ldLCAmcGF0aC0+cFtpXSwgcG9pbnQp OworCQlwb2ludF9hZGRfcG9pbnQoJnBhdGgtPnBbaV0sICZwYXRoLT5wW2ldLCBwb2ludCwgZmNp bmZvLT5jb250ZXh0KTsKIAogCVBHX1JFVFVSTl9QQVRIX1AocGF0aCk7CiB9CkBAIC00NDcxLDcg KzQ1MTcsNyBAQCBwYXRoX3BvbHkoUEdfRlVOQ1RJT05fQVJHUykKIAogCS8qIFRoaXMgaXMgbm90 IHZlcnkgY29uc2lzdGVudCAtLS0gb3RoZXIgc2ltaWxhciBjYXNlcyByZXR1cm4gTlVMTCAuLi4g Ki8KIAlpZiAoIXBhdGgtPmNsb3NlZCkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihmY2lu Zm8tPmNvbnRleHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFS QU1FVEVSX1ZBTFVFKSwKIAkJCQkgZXJybXNnKCJvcGVuIHBhdGggY2Fubm90IGJlIGNvbnZlcnRl ZCB0byBwb2x5Z29uIikpKTsKIApAQCAtNDUyMSw3ICs0NTY3LDkgQEAgcG9seV9jZW50ZXIoUEdf RlVOQ1RJT05fQVJHUykKIAogCXJlc3VsdCA9IHBhbGxvY19vYmplY3QoUG9pbnQpOwogCi0JcG9s eV90b19jaXJjbGUoJmNpcmNsZSwgcG9seSk7CisJaWYgKCFwb2x5X3RvX2NpcmNsZSgmY2lyY2xl LCBwb2x5LCBmY2luZm8tPmNvbnRleHQpKQorCQlQR19SRVRVUk5fTlVMTCgpOworCiAJKnJlc3Vs dCA9IGNpcmNsZS5jZW50ZXI7CiAKIAlQR19SRVRVUk5fUE9JTlRfUChyZXN1bHQpOwpAQCAtNDk4 Myw3ICs1MDMxLDcgQEAgY2lyY2xlX2FkZF9wdChQR19GVU5DVElPTl9BUkdTKQogCiAJcmVzdWx0 ID0gcGFsbG9jX29iamVjdChDSVJDTEUpOwogCi0JcG9pbnRfYWRkX3BvaW50KCZyZXN1bHQtPmNl bnRlciwgJmNpcmNsZS0+Y2VudGVyLCBwb2ludCk7CisJcG9pbnRfYWRkX3BvaW50KCZyZXN1bHQt PmNlbnRlciwgJmNpcmNsZS0+Y2VudGVyLCBwb2ludCwgZmNpbmZvLT5jb250ZXh0KTsKIAlyZXN1 bHQtPnJhZGl1cyA9IGNpcmNsZS0+cmFkaXVzOwogCiAJUEdfUkVUVVJOX0NJUkNMRV9QKHJlc3Vs dCk7CkBAIC01MjA0LDE0ICs1MjUyLDMwIEBAIGNpcmNsZV9ib3goUEdfRlVOQ1RJT05fQVJHUykK IAogCWJveCA9IHBhbGxvY19vYmplY3QoQk9YKTsKIAotCWRlbHRhID0gZmxvYXQ4X2RpdihjaXJj bGUtPnJhZGl1cywgc3FydCgyLjApKTsKKwlkZWx0YSA9IGZsb2F0OF9kaXZfc2FmZShjaXJjbGUt PnJhZGl1cywgc3FydCgyLjApLCBmY2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09D Q1VSUkVEKGZjaW5mby0+Y29udGV4dCkpCisJCWdvdG8gZmFpbDsKIAotCWJveC0+aGlnaC54ID0g ZmxvYXQ4X3BsKGNpcmNsZS0+Y2VudGVyLngsIGRlbHRhKTsKLQlib3gtPmxvdy54ID0gZmxvYXQ4 X21pKGNpcmNsZS0+Y2VudGVyLngsIGRlbHRhKTsKLQlib3gtPmhpZ2gueSA9IGZsb2F0OF9wbChj aXJjbGUtPmNlbnRlci55LCBkZWx0YSk7Ci0JYm94LT5sb3cueSA9IGZsb2F0OF9taShjaXJjbGUt PmNlbnRlci55LCBkZWx0YSk7CisJYm94LT5oaWdoLnggPSBmbG9hdDhfcGxfc2FmZShjaXJjbGUt PmNlbnRlci54LCBkZWx0YSwgZmNpbmZvLT5jb250ZXh0KTsKKwlpZiAoU09GVF9FUlJPUl9PQ0NV UlJFRChmY2luZm8tPmNvbnRleHQpKQorCQlnb3RvIGZhaWw7CisKKwlib3gtPmxvdy54ID0gZmxv YXQ4X21pX3NhZmUoY2lyY2xlLT5jZW50ZXIueCwgZGVsdGEsIGZjaW5mby0+Y29udGV4dCk7CisJ aWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZmNpbmZvLT5jb250ZXh0KSkKKwkJZ290byBmYWlsOwor CisJYm94LT5oaWdoLnkgPSBmbG9hdDhfcGxfc2FmZShjaXJjbGUtPmNlbnRlci55LCBkZWx0YSwg ZmNpbmZvLT5jb250ZXh0KTsKKwlpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRChmY2luZm8tPmNvbnRl eHQpKQorCQlnb3RvIGZhaWw7CisKKwlib3gtPmxvdy55ID0gZmxvYXQ4X21pX3NhZmUoY2lyY2xl LT5jZW50ZXIueSwgZGVsdGEsIGZjaW5mby0+Y29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0ND VVJSRUQoZmNpbmZvLT5jb250ZXh0KSkKKwkJZ290byBmYWlsOwogCiAJUEdfUkVUVVJOX0JPWF9Q KGJveCk7CisKK2ZhaWw6CisJUEdfUkVUVVJOX05VTEwoKTsKIH0KIAogLyogYm94X2NpcmNsZSgp CkBAIC01MjIyLDE1ICs1Mjg2LDM1IEBAIGJveF9jaXJjbGUoUEdfRlVOQ1RJT05fQVJHUykKIHsK IAlCT1gJCSAgICpib3ggPSBQR19HRVRBUkdfQk9YX1AoMCk7CiAJQ0lSQ0xFCSAgICpjaXJjbGU7 CisJZmxvYXQ4CQl4OworCWZsb2F0OAkJeTsKIAogCWNpcmNsZSA9IHBhbGxvY19vYmplY3QoQ0lS Q0xFKTsKIAotCWNpcmNsZS0+Y2VudGVyLnggPSBmbG9hdDhfZGl2KGZsb2F0OF9wbChib3gtPmhp Z2gueCwgYm94LT5sb3cueCksIDIuMCk7Ci0JY2lyY2xlLT5jZW50ZXIueSA9IGZsb2F0OF9kaXYo ZmxvYXQ4X3BsKGJveC0+aGlnaC55LCBib3gtPmxvdy55KSwgMi4wKTsKKwl4ID0gZmxvYXQ4X3Bs X3NhZmUoYm94LT5oaWdoLngsIGJveC0+bG93LngsIGZjaW5mby0+Y29udGV4dCk7CisJaWYgKFNP RlRfRVJST1JfT0NDVVJSRUQoZmNpbmZvLT5jb250ZXh0KSkKKwkJZ290byBmYWlsOworCisJY2ly Y2xlLT5jZW50ZXIueCA9IGZsb2F0OF9kaXZfc2FmZSh4LCAyLjAsIGZjaW5mby0+Y29udGV4dCk7 CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZmNpbmZvLT5jb250ZXh0KSkKKwkJZ290byBmYWls OworCisJeSA9IGZsb2F0OF9wbF9zYWZlKGJveC0+aGlnaC55LCBib3gtPmxvdy55LCBmY2luZm8t PmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGZjaW5mby0+Y29udGV4dCkpCisJ CWdvdG8gZmFpbDsKKworCWNpcmNsZS0+Y2VudGVyLnkgPSBmbG9hdDhfZGl2X3NhZmUoeSwgMi4w LCBmY2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGZjaW5mby0+Y29u dGV4dCkpCisJCWdvdG8gZmFpbDsKIAogCWNpcmNsZS0+cmFkaXVzID0gcG9pbnRfZHQoJmNpcmNs ZS0+Y2VudGVyLCAmYm94LT5oaWdoLCBmY2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9S X09DQ1VSUkVEKGZjaW5mby0+Y29udGV4dCkpCisJCWdvdG8gZmFpbDsKIAogCVBHX1JFVFVSTl9D SVJDTEVfUChjaXJjbGUpOworCitmYWlsOgorCVBHX1JFVFVSTl9OVUxMKCk7CiB9CiAKIApAQCAt NTI4OSwxNSArNTM3MywxNiBAQCBjaXJjbGVfcG9seShQR19GVU5DVElPTl9BUkdTKQogLyoKICAq IENvbnZlcnQgcG9seWdvbiB0byBjaXJjbGUKICAqCi0gKiBUaGUgcmVzdWx0IG11c3QgYmUgcHJl YWxsb2NhdGVkLgorICogVGhlIHBhcmFtZXRlciAicmVzdWx0IiBtdXN0IGJlIHByZWFsbG9jYXRl ZC4KICAqCiAgKiBYWFggVGhpcyBhbGdvcml0aG0gc2hvdWxkIHVzZSB3ZWlnaHRlZCBtZWFucyBv ZiBsaW5lIHNlZ21lbnRzCiAgKglyYXRoZXIgdGhhbiBzdHJhaWdodCBhdmVyYWdlIHZhbHVlcyBv ZiBwb2ludHMgLSB0Z2wgOTcvMDEvMjEuCiAgKi8KLXN0YXRpYyB2b2lkCi1wb2x5X3RvX2NpcmNs ZShDSVJDTEUgKnJlc3VsdCwgUE9MWUdPTiAqcG9seSkKK3N0YXRpYyBib29sCitwb2x5X3RvX2Np cmNsZShDSVJDTEUgKnJlc3VsdCwgUE9MWUdPTiAqcG9seSwgTm9kZSAqZXNjb250ZXh0KQogewog CWludAkJCWk7CisJZmxvYXQ4CQl4OwogCiAJQXNzZXJ0KHBvbHktPm5wdHMgPiAwKTsKIApAQCAt NTMwNiwxNCArNTM5MSw0MyBAQCBwb2x5X3RvX2NpcmNsZShDSVJDTEUgKnJlc3VsdCwgUE9MWUdP TiAqcG9seSkKIAlyZXN1bHQtPnJhZGl1cyA9IDA7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcG9seS0+ bnB0czsgaSsrKQotCQlwb2ludF9hZGRfcG9pbnQoJnJlc3VsdC0+Y2VudGVyLCAmcmVzdWx0LT5j ZW50ZXIsICZwb2x5LT5wW2ldKTsKLQlyZXN1bHQtPmNlbnRlci54ID0gZmxvYXQ4X2RpdihyZXN1 bHQtPmNlbnRlci54LCBwb2x5LT5ucHRzKTsKLQlyZXN1bHQtPmNlbnRlci55ID0gZmxvYXQ4X2Rp dihyZXN1bHQtPmNlbnRlci55LCBwb2x5LT5ucHRzKTsKKwl7CisJCXBvaW50X2FkZF9wb2ludCgm cmVzdWx0LT5jZW50ZXIsCisJCQkJCQkmcmVzdWx0LT5jZW50ZXIsCisJCQkJCQkmcG9seS0+cFtp XSwKKwkJCQkJCWVzY29udGV4dCk7CisJCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGVzY29udGV4 dCkpCisJCQlyZXR1cm4gZmFsc2U7CisJfQorCisJcmVzdWx0LT5jZW50ZXIueCA9IGZsb2F0OF9k aXZfc2FmZShyZXN1bHQtPmNlbnRlci54LAorCQkJCQkJCQkJICAgcG9seS0+bnB0cywKKwkJCQkJ CQkJCSAgIGVzY29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZXNjb250ZXh0KSkK KwkJcmV0dXJuIGZhbHNlOworCisJcmVzdWx0LT5jZW50ZXIueSA9IGZsb2F0OF9kaXZfc2FmZShy ZXN1bHQtPmNlbnRlci55LAorCQkJCQkJCQkJICAgcG9seS0+bnB0cywKKwkJCQkJCQkJCSAgIGVz Y29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZXNjb250ZXh0KSkKKwkJcmV0dXJu IGZhbHNlOwogCiAJZm9yIChpID0gMDsgaSA8IHBvbHktPm5wdHM7IGkrKykKLQkJcmVzdWx0LT5y YWRpdXMgPSBmbG9hdDhfcGwocmVzdWx0LT5yYWRpdXMsCi0JCQkJCQkJCSAgIHBvaW50X2R0KCZw b2x5LT5wW2ldLCAmcmVzdWx0LT5jZW50ZXIsIE5VTEwpKTsKLQlyZXN1bHQtPnJhZGl1cyA9IGZs b2F0OF9kaXYocmVzdWx0LT5yYWRpdXMsIHBvbHktPm5wdHMpOworCXsKKwkJeCA9IHBvaW50X2R0 KCZwb2x5LT5wW2ldLCAmcmVzdWx0LT5jZW50ZXIsIGVzY29udGV4dCk7CisJCWlmIChTT0ZUX0VS Uk9SX09DQ1VSUkVEKGVzY29udGV4dCkpCisJCQlyZXR1cm4gZmFsc2U7CisKKwkJcmVzdWx0LT5y YWRpdXMgPSBmbG9hdDhfcGxfc2FmZShyZXN1bHQtPnJhZGl1cywgeCwgZXNjb250ZXh0KTsKKwkJ aWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZXNjb250ZXh0KSkKKwkJCXJldHVybiBmYWxzZTsKKwl9 CisKKwlyZXN1bHQtPnJhZGl1cyA9IGZsb2F0OF9kaXZfc2FmZShyZXN1bHQtPnJhZGl1cywgcG9s eS0+bnB0cywgZXNjb250ZXh0KTsKKwlpZiAoU09GVF9FUlJPUl9PQ0NVUlJFRChlc2NvbnRleHQp KQorCQlyZXR1cm4gZmFsc2U7CisKKwlyZXR1cm4gdHJ1ZTsKIH0KIAogRGF0dW0KQEAgLTUzMjQs NyArNTQzOCw4IEBAIHBvbHlfY2lyY2xlKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlyZXN1bHQgPSBw YWxsb2Nfb2JqZWN0KENJUkNMRSk7CiAKLQlwb2x5X3RvX2NpcmNsZShyZXN1bHQsIHBvbHkpOwor CWlmICghcG9seV90b19jaXJjbGUocmVzdWx0LCBwb2x5LCBmY2luZm8tPmNvbnRleHQpKQorCQlQ R19SRVRVUk5fTlVMTCgpOwogCiAJUEdfUkVUVVJOX0NJUkNMRV9QKHJlc3VsdCk7CiB9Ci0tIAoy LjM0LjEKCg== --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0018-refactor-float_overflow_error-float_underflow_error-float_zero_d.patch" Content-Disposition: attachment; filename="v19-0018-refactor-float_overflow_error-float_underflow_error-float_zero_d.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nm16 RnJvbSA4NGIxM2NiOTJlMzY0NGI0MDE2ODAzYzZlOTFmNTVlZDQzZWRhYjQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgOSBEZWMgMjAyNSAxNDozNjozOSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDE4LzIzXSByZWZhY3RvcgogZmxvYXRfb3ZlcmZsb3dfZXJyb3IsZmxvYXRfdW5kZXJmbG93X2Vy cm9yLGZsb2F0X3plcm9fZGl2aWRlX2Vycm9yCgpkaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5l cy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpjd3dOYmpRaXhOVmlza1E4alp1M1R6X3A2NTZpXzRoUUBt YWlsLmdtYWlsLmNvbQotLS0KIGNvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV9mbG9hdDQuYyB8ICAg MiArLQogY29udHJpYi9idHJlZV9naXN0L2J0cmVlX2Zsb2F0OC5jIHwgICA0ICstCiBzcmMvYmFj a2VuZC91dGlscy9hZHQvZmxvYXQuYyAgICAgfCAxMDQgKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tCiBzcmMvaW5jbHVkZS91dGlscy9mbG9hdC5oICAgICAgICAgfCAgMzQgKysrKystLS0t LQogNCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfZmxvYXQ0LmMgYi9jb250cmliL2J0 cmVlX2dpc3QvYnRyZWVfZmxvYXQ0LmMKaW5kZXggYzA3NjkxOGZkNDguLmZhNmIzODUyZjkyIDEw MDY0NAotLS0gYS9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfZmxvYXQ0LmMKKysrIGIvY29udHJp Yi9idHJlZV9naXN0L2J0cmVlX2Zsb2F0NC5jCkBAIC0xMDEsNyArMTAxLDcgQEAgZmxvYXQ0X2Rp c3QoUEdfRlVOQ1RJT05fQVJHUykKIAogCXIgPSBhIC0gYjsKIAlpZiAodW5saWtlbHkoaXNpbmYo cikpICYmICFpc2luZihhKSAmJiAhaXNpbmYoYikpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7 CisJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUNChmYWJz ZihyKSk7CiB9CmRpZmYgLS1naXQgYS9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfZmxvYXQ4LmMg Yi9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfZmxvYXQ4LmMKaW5kZXggZDczODZlODg1YTIuLjc5 NzE5ZmRiNzI1IDEwMDY0NAotLS0gYS9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfZmxvYXQ4LmMK KysrIGIvY29udHJpYi9idHJlZV9naXN0L2J0cmVlX2Zsb2F0OC5jCkBAIC03OSw3ICs3OSw3IEBA IGdidF9mbG9hdDhfZGlzdChjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiLCBGbWdySW5mbyAq ZmxpbmZvKQogCiAJciA9IGFyZzEgLSBhcmcyOwogCWlmICh1bmxpa2VseShpc2luZihyKSkgJiYg IWlzaW5mKGFyZzEpICYmICFpc2luZihhcmcyKSkKLQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsK KwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAJcmV0dXJuIGZhYnMocik7CiB9CiAKQEAg LTEwOSw3ICsxMDksNyBAQCBmbG9hdDhfZGlzdChQR19GVU5DVElPTl9BUkdTKQogCiAJciA9IGEg LSBiOwogCWlmICh1bmxpa2VseShpc2luZihyKSkgJiYgIWlzaW5mKGEpICYmICFpc2luZihiKSkK LQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7 CiAKIAlQR19SRVRVUk5fRkxPQVQ4KGZhYnMocikpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2Zsb2F0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZmxvYXQuYwppbmRl eCA5NzkyODBlMTQ3OC4uYjg2YTJiMDk3YTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9mbG9hdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9mbG9hdC5jCkBAIC04Mywy NSArODMsMjUgQEAgc3RhdGljIHZvaWQgaW5pdF9kZWdyZWVfY29uc3RhbnRzKHZvaWQpOwogICog VGhpcyBkb2VzIG1lYW4gdGhhdCB5b3UgZG9uJ3QgZ2V0IGEgdXNlZnVsIGVycm9yIGxvY2F0aW9u IGluZGljYXRvci4KICAqLwogcGdfbm9pbmxpbmUgdm9pZAotZmxvYXRfb3ZlcmZsb3dfZXJyb3Io dm9pZCkKK2Zsb2F0X292ZXJmbG93X2Vycm9yKHN0cnVjdCBOb2RlICplc2NvbnRleHQpCiB7Ci0J ZXJlcG9ydChFUlJPUiwKKwllcnJzYXZlKGVzY29udGV4dCwKIAkJCShlcnJjb2RlKEVSUkNPREVf TlVNRVJJQ19WQUxVRV9PVVRfT0ZfUkFOR0UpLAogCQkJIGVycm1zZygidmFsdWUgb3V0IG9mIHJh bmdlOiBvdmVyZmxvdyIpKSk7CiB9CiAKIHBnX25vaW5saW5lIHZvaWQKLWZsb2F0X3VuZGVyZmxv d19lcnJvcih2b2lkKQorZmxvYXRfdW5kZXJmbG93X2Vycm9yKHN0cnVjdCBOb2RlICplc2NvbnRl eHQpCiB7Ci0JZXJlcG9ydChFUlJPUiwKKwllcnJzYXZlKGVzY29udGV4dCwKIAkJCShlcnJjb2Rl KEVSUkNPREVfTlVNRVJJQ19WQUxVRV9PVVRfT0ZfUkFOR0UpLAogCQkJIGVycm1zZygidmFsdWUg b3V0IG9mIHJhbmdlOiB1bmRlcmZsb3ciKSkpOwogfQogCiBwZ19ub2lubGluZSB2b2lkCi1mbG9h dF96ZXJvX2RpdmlkZV9lcnJvcih2b2lkKQorZmxvYXRfemVyb19kaXZpZGVfZXJyb3Ioc3RydWN0 IE5vZGUgKmVzY29udGV4dCkKIHsKLQllcmVwb3J0KEVSUk9SLAorCWVycnNhdmUoZXNjb250ZXh0 LAogCQkJKGVycmNvZGUoRVJSQ09ERV9ESVZJU0lPTl9CWV9aRVJPKSwKIAkJCSBlcnJtc2coImRp dmlzaW9uIGJ5IHplcm8iKSkpOwogfQpAQCAtMTQ2MCw5ICsxNDYwLDkgQEAgZHNxcnQoUEdfRlVO Q1RJT05fQVJHUykKIAogCXJlc3VsdCA9IHNxcnQoYXJnMSk7CiAJaWYgKHVubGlrZWx5KGlzaW5m KHJlc3VsdCkpICYmICFpc2luZihhcmcxKSkKLQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJ ZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAJaWYgKHVubGlrZWx5KHJlc3VsdCA9PSAwLjAp ICYmIGFyZzEgIT0gMC4wKQotCQlmbG9hdF91bmRlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfdW5k ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAt MTQ3OSw5ICsxNDc5LDkgQEAgZGNicnQoUEdfRlVOQ1RJT05fQVJHUykKIAogCXJlc3VsdCA9IGNi cnQoYXJnMSk7CiAJaWYgKHVubGlrZWx5KGlzaW5mKHJlc3VsdCkpICYmICFpc2luZihhcmcxKSkK LQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7 CiAJaWYgKHVubGlrZWx5KHJlc3VsdCA9PSAwLjApICYmIGFyZzEgIT0gMC4wKQotCQlmbG9hdF91 bmRlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdf UkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMTYxNywyNCArMTYxNywyNCBAQCBkcG93KFBH X0ZVTkNUSU9OX0FSR1MpCiAJCQkJaWYgKGFic3ggPT0gMS4wKQogCQkJCQlyZXN1bHQgPSAxLjA7 CiAJCQkJZWxzZSBpZiAoYXJnMiA+PSAwLjAgPyAoYWJzeCA+IDEuMCkgOiAoYWJzeCA8IDEuMCkp Ci0JCQkJCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCQkJCWZsb2F0X292ZXJmbG93X2Vycm9y KE5VTEwpOwogCQkJCWVsc2UKLQkJCQkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKCk7CisJCQkJCWZs b2F0X3VuZGVyZmxvd19lcnJvcihOVUxMKTsKIAkJCX0KIAkJfQogCQllbHNlIGlmIChlcnJubyA9 PSBFUkFOR0UpCiAJCXsKIAkJCWlmIChyZXN1bHQgIT0gMC4wKQotCQkJCWZsb2F0X292ZXJmbG93 X2Vycm9yKCk7CisJCQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAJCQllbHNlCi0JCQkJ ZmxvYXRfdW5kZXJmbG93X2Vycm9yKCk7CisJCQkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwp OwogCQl9CiAJCWVsc2UKIAkJewogCQkJaWYgKHVubGlrZWx5KGlzaW5mKHJlc3VsdCkpKQotCQkJ CWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7 CiAJCQlpZiAodW5saWtlbHkocmVzdWx0ID09IDAuMCkgJiYgYXJnMSAhPSAwLjApCi0JCQkJZmxv YXRfdW5kZXJmbG93X2Vycm9yKCk7CisJCQkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwog CQl9CiAJfQogCkBAIC0xNjc0LDE0ICsxNjc0LDE0IEBAIGRleHAoUEdfRlVOQ1RJT05fQVJHUykK IAkJaWYgKHVubGlrZWx5KGVycm5vID09IEVSQU5HRSkpCiAJCXsKIAkJCWlmIChyZXN1bHQgIT0g MC4wKQotCQkJCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCQkJZmxvYXRfb3ZlcmZsb3dfZXJy b3IoTlVMTCk7CiAJCQllbHNlCi0JCQkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKCk7CisJCQkJZmxv YXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwogCQl9CiAJCWVsc2UgaWYgKHVubGlrZWx5KGlzaW5m KHJlc3VsdCkpKQotCQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJCWZsb2F0X292ZXJmbG93 X2Vycm9yKE5VTEwpOwogCQllbHNlIGlmICh1bmxpa2VseShyZXN1bHQgPT0gMC4wKSkKLQkJCWZs b2F0X3VuZGVyZmxvd19lcnJvcigpOworCQkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwog CX0KIAogCVBHX1JFVFVSTl9GTE9BVDgocmVzdWx0KTsKQEAgLTE3MTIsOSArMTcxMiw5IEBAIGRs b2cxKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAlyZXN1bHQgPSBsb2coYXJnMSk7CiAJaWYgKHVubGlr ZWx5KGlzaW5mKHJlc3VsdCkpICYmICFpc2luZihhcmcxKSkKLQkJZmxvYXRfb3ZlcmZsb3dfZXJy b3IoKTsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAJaWYgKHVubGlrZWx5KHJlc3Vs dCA9PSAwLjApICYmIGFyZzEgIT0gMS4wKQotCQlmbG9hdF91bmRlcmZsb3dfZXJyb3IoKTsKKwkJ ZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQp OwogfQpAQCAtMTc0NSw5ICsxNzQ1LDkgQEAgZGxvZzEwKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAly ZXN1bHQgPSBsb2cxMChhcmcxKTsKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkgJiYgIWlz aW5mKGFyZzEpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19l cnJvcihOVUxMKTsKIAlpZiAodW5saWtlbHkocmVzdWx0ID09IDAuMCkgJiYgYXJnMSAhPSAxLjAp Ci0JCWZsb2F0X3VuZGVyZmxvd19lcnJvcigpOworCQlmbG9hdF91bmRlcmZsb3dfZXJyb3IoTlVM TCk7CiAKIAlQR19SRVRVUk5fRkxPQVQ4KHJlc3VsdCk7CiB9CkBAIC0xNzc4LDcgKzE3NzgsNyBA QCBkYWNvcyhQR19GVU5DVElPTl9BUkdTKQogCiAJcmVzdWx0ID0gYWNvcyhhcmcxKTsKIAlpZiAo dW5saWtlbHkoaXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWZs b2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwog fQpAQCAtMTgwOSw3ICsxODA5LDcgQEAgZGFzaW4oUEdfRlVOQ1RJT05fQVJHUykKIAogCXJlc3Vs dCA9IGFzaW4oYXJnMSk7CiAJaWYgKHVubGlrZWx5KGlzaW5mKHJlc3VsdCkpKQotCQlmbG9hdF9v dmVyZmxvd19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAogCVBHX1JF VFVSTl9GTE9BVDgocmVzdWx0KTsKIH0KQEAgLTE4MzUsNyArMTgzNSw3IEBAIGRhdGFuKFBHX0ZV TkNUSU9OX0FSR1MpCiAJICovCiAJcmVzdWx0ID0gYXRhbihhcmcxKTsKIAlpZiAodW5saWtlbHko aXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0X292ZXJm bG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMTg2 MSw3ICsxODYxLDcgQEAgZGF0YW4yKFBHX0ZVTkNUSU9OX0FSR1MpCiAJICovCiAJcmVzdWx0ID0g YXRhbjIoYXJnMSwgYXJnMik7CiAJaWYgKHVubGlrZWx5KGlzaW5mKHJlc3VsdCkpKQotCQlmbG9h dF9vdmVyZmxvd19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAogCVBH X1JFVFVSTl9GTE9BVDgocmVzdWx0KTsKIH0KQEAgLTE5MDIsNyArMTkwMiw3IEBAIGRjb3MoUEdf RlVOQ1RJT05fQVJHUykKIAkJCQkoZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09G X1JBTkdFKSwKIAkJCQkgZXJybXNnKCJpbnB1dCBpcyBvdXQgb2YgcmFuZ2UiKSkpOwogCWlmICh1 bmxpa2VseShpc2luZihyZXN1bHQpKSkKLQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJZmxv YXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAKIAlQR19SRVRVUk5fRkxPQVQ4KHJlc3VsdCk7CiB9 CkBAIC0xOTU3LDcgKzE5NTcsNyBAQCBkc2luKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJKGVycmNv ZGUoRVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCiAJCQkJIGVycm1zZygiaW5w dXQgaXMgb3V0IG9mIHJhbmdlIikpKTsKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkpCi0J CWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwog CiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMjEzNyw3ICsyMTM3LDcgQEAgZGFj b3NkKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCXJlc3VsdCA9IDkwLjAgKyBhc2luZF9xMSgtYXJnMSk7 CiAKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9y KCk7CisJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChy ZXN1bHQpOwogfQpAQCAtMjE3NCw3ICsyMTc0LDcgQEAgZGFzaW5kKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJCXJlc3VsdCA9IC1hc2luZF9xMSgtYXJnMSk7CiAKIAlpZiAodW5saWtlbHkoaXNpbmYocmVz dWx0KSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0X292ZXJmbG93X2Vycm9y KE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMjIwNiw3ICsyMjA2 LDcgQEAgZGF0YW5kKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcmVzdWx0ID0gKGF0YW5fYXJnMSAvIGF0 YW5fMV8wKSAqIDQ1LjA7CiAKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0 X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdf UkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMjI0Miw3ICsyMjQyLDcgQEAgZGF0YW4yZChQ R19GVU5DVElPTl9BUkdTKQogCXJlc3VsdCA9IChhdGFuMl9hcmcxX2FyZzIgLyBhdGFuXzFfMCkg KiA0NS4wOwogCiAJaWYgKHVubGlrZWx5KGlzaW5mKHJlc3VsdCkpKQotCQlmbG9hdF9vdmVyZmxv d19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAogCVBHX1JFVFVSTl9G TE9BVDgocmVzdWx0KTsKIH0KQEAgLTIzNjUsNyArMjM2NSw3IEBAIGRjb3NkKFBHX0ZVTkNUSU9O X0FSR1MpCiAJcmVzdWx0ID0gc2lnbiAqIGNvc2RfcTEoYXJnMSk7CiAKIAlpZiAodW5saWtlbHko aXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0X292ZXJm bG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMjQ4 Nyw3ICsyNDg3LDcgQEAgZHNpbmQoUEdfRlVOQ1RJT05fQVJHUykKIAlyZXN1bHQgPSBzaWduICog c2luZF9xMShhcmcxKTsKIAogCWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSkKLQkJZmxvYXRf b3ZlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAKIAlQR19S RVRVUk5fRkxPQVQ4KHJlc3VsdCk7CiB9CkBAIC0yNjQ1LDcgKzI2NDUsNyBAQCBkY29zaChQR19G VU5DVElPTl9BUkdTKQogCQlyZXN1bHQgPSBnZXRfZmxvYXQ4X2luZmluaXR5KCk7CiAKIAlpZiAo dW5saWtlbHkocmVzdWx0ID09IDAuMCkpCi0JCWZsb2F0X3VuZGVyZmxvd19lcnJvcigpOworCQlm bG9hdF91bmRlcmZsb3dfZXJyb3IoTlVMTCk7CiAKIAlQR19SRVRVUk5fRkxPQVQ4KHJlc3VsdCk7 CiB9CkBAIC0yNjY1LDcgKzI2NjUsNyBAQCBkdGFuaChQR19GVU5DVElPTl9BUkdTKQogCXJlc3Vs dCA9IHRhbmgoYXJnMSk7CiAKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0 X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdf UkVUVVJOX0ZMT0FUOChyZXN1bHQpOwogfQpAQCAtMjc2NSw3ICsyNzY1LDcgQEAgZGVyZihQR19G VU5DVElPTl9BUkdTKQogCXJlc3VsdCA9IGVyZihhcmcxKTsKIAogCWlmICh1bmxpa2VseShpc2lu ZihyZXN1bHQpKSkKLQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfb3ZlcmZsb3df ZXJyb3IoTlVMTCk7CiAKIAlQR19SRVRVUk5fRkxPQVQ4KHJlc3VsdCk7CiB9CkBAIC0yNzg1LDcg KzI3ODUsNyBAQCBkZXJmYyhQR19GVU5DVElPTl9BUkdTKQogCXJlc3VsdCA9IGVyZmMoYXJnMSk7 CiAKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9y KCk7CisJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJUEdfUkVUVVJOX0ZMT0FUOChy ZXN1bHQpOwogfQpAQCAtMjgxNCw3ICsyODE0LDcgQEAgZGdhbW1hKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJCS8qIFBlciBQT1NJWCwgYW4gaW5wdXQgb2YgLUluZiBjYXVzZXMgYSBkb21haW4gZXJyb3Ig Ki8KIAkJaWYgKGFyZzEgPCAwKQogCQl7Ci0JCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQkJ ZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAJCQlyZXN1bHQgPSBnZXRfZmxvYXQ4X25hbigp OwkvKiBrZWVwIGNvbXBpbGVyIHF1aWV0ICovCiAJCX0KIAkJZWxzZQpAQCAtMjgzNiwxMiArMjgz NiwxMiBAQCBkZ2FtbWEoUEdfRlVOQ1RJT05fQVJHUykKIAkJaWYgKGVycm5vICE9IDAgfHwgaXNp bmYocmVzdWx0KSB8fCBpc25hbihyZXN1bHQpKQogCQl7CiAJCQlpZiAocmVzdWx0ICE9IDAuMCkK LQkJCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQkJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5V TEwpOwogCQkJZWxzZQotCQkJCWZsb2F0X3VuZGVyZmxvd19lcnJvcigpOworCQkJCWZsb2F0X3Vu ZGVyZmxvd19lcnJvcihOVUxMKTsKIAkJfQogCQllbHNlIGlmIChyZXN1bHQgPT0gMC4wKQotCQkJ ZmxvYXRfdW5kZXJmbG93X2Vycm9yKCk7CisJCQlmbG9hdF91bmRlcmZsb3dfZXJyb3IoTlVMTCk7 CiAJfQogCiAJUEdfUkVUVVJOX0ZMT0FUOChyZXN1bHQpOwpAQCAtMjg3OSw3ICsyODc5LDcgQEAg ZGxnYW1tYShQR19GVU5DVElPTl9BUkdTKQogCSAqIHRvIHJlcG9ydCBvdmVyZmxvdywgYnV0IGl0 IHNob3VsZCBuZXZlciB1bmRlcmZsb3cuCiAJICovCiAJaWYgKGVycm5vID09IEVSQU5HRSB8fCAo aXNpbmYocmVzdWx0KSAmJiAhaXNpbmYoYXJnMSkpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigp OworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAogCVBHX1JFVFVSTl9GTE9BVDgocmVz dWx0KTsKIH0KQEAgLTMwMTksNyArMzAxOSw3IEBAIGZsb2F0OF9jb21iaW5lKFBHX0ZVTkNUSU9O X0FSR1MpCiAJCXRtcCA9IFN4MSAvIE4xIC0gU3gyIC8gTjI7CiAJCVN4eCA9IFN4eDEgKyBTeHgy ICsgTjEgKiBOMiAqIHRtcCAqIHRtcCAvIE47CiAJCWlmICh1bmxpa2VseShpc2luZihTeHgpKSAm JiAhaXNpbmYoU3h4MSkgJiYgIWlzaW5mKFN4eDIpKQotCQkJZmxvYXRfb3ZlcmZsb3dfZXJyb3Io KTsKKwkJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCX0KIAogCS8qCkBAIC0zMDg2LDcg KzMwODYsNyBAQCBmbG9hdDhfYWNjdW0oUEdfRlVOQ1RJT05fQVJHUykKIAkJaWYgKGlzaW5mKFN4 KSB8fCBpc2luZihTeHgpKQogCQl7CiAJCQlpZiAoIWlzaW5mKHRyYW5zdmFsdWVzWzFdKSAmJiAh aXNpbmYobmV3dmFsKSkKLQkJCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQkJCWZsb2F0X292 ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJCQlTeHggPSBnZXRfZmxvYXQ4X25hbigpOwogCQl9CkBA IC0zMTY5LDcgKzMxNjksNyBAQCBmbG9hdDRfYWNjdW0oUEdfRlVOQ1RJT05fQVJHUykKIAkJaWYg KGlzaW5mKFN4KSB8fCBpc2luZihTeHgpKQogCQl7CiAJCQlpZiAoIWlzaW5mKHRyYW5zdmFsdWVz WzFdKSAmJiAhaXNpbmYobmV3dmFsKSkKLQkJCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQkJ CWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJCQlTeHggPSBnZXRfZmxvYXQ4X25hbigp OwogCQl9CkBAIC0zNDM2LDcgKzM0MzYsNyBAQCBmbG9hdDhfcmVncl9hY2N1bShQR19GVU5DVElP Tl9BUkdTKQogCQkJCShpc2luZihTeHkpICYmCiAJCQkJICFpc2luZih0cmFuc3ZhbHVlc1sxXSkg JiYgIWlzaW5mKG5ld3ZhbFgpICYmCiAJCQkJICFpc2luZih0cmFuc3ZhbHVlc1szXSkgJiYgIWlz aW5mKG5ld3ZhbFkpKSkKLQkJCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQkJCWZsb2F0X292 ZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJCQlpZiAoaXNpbmYoU3h4KSkKIAkJCQlTeHggPSBnZXRf ZmxvYXQ4X25hbigpOwpAQCAtMzYwOSwxNSArMzYwOSwxNSBAQCBmbG9hdDhfcmVncl9jb21iaW5l KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCXRtcDEgPSBTeDEgLyBOMSAtIFN4MiAvIE4yOwogCQlTeHgg PSBTeHgxICsgU3h4MiArIE4xICogTjIgKiB0bXAxICogdG1wMSAvIE47CiAJCWlmICh1bmxpa2Vs eShpc2luZihTeHgpKSAmJiAhaXNpbmYoU3h4MSkgJiYgIWlzaW5mKFN4eDIpKQotCQkJZmxvYXRf b3ZlcmZsb3dfZXJyb3IoKTsKKwkJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCQlTeSA9 IGZsb2F0OF9wbChTeTEsIFN5Mik7CiAJCXRtcDIgPSBTeTEgLyBOMSAtIFN5MiAvIE4yOwogCQlT eXkgPSBTeXkxICsgU3l5MiArIE4xICogTjIgKiB0bXAyICogdG1wMiAvIE47CiAJCWlmICh1bmxp a2VseShpc2luZihTeXkpKSAmJiAhaXNpbmYoU3l5MSkgJiYgIWlzaW5mKFN5eTIpKQotCQkJZmxv YXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCQlT eHkgPSBTeHkxICsgU3h5MiArIE4xICogTjIgKiB0bXAxICogdG1wMiAvIE47CiAJCWlmICh1bmxp a2VseShpc2luZihTeHkpKSAmJiAhaXNpbmYoU3h5MSkgJiYgIWlzaW5mKFN4eTIpKQotCQkJZmxv YXRfb3ZlcmZsb3dfZXJyb3IoKTsKKwkJCWZsb2F0X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCQlp ZiAoZmxvYXQ4X2VxKEN4MSwgQ3gyKSkKIAkJCUN4ID0gQ3gxOwogCQllbHNlCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS91dGlscy9mbG9hdC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvZmxvYXQuaApp bmRleCBiMzQwNjc4Y2E5Mi4uZDJlOTg5OTYwYTUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0 aWxzL2Zsb2F0LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZmxvYXQuaApAQCAtMzAsOSArMzAs OSBAQCBleHRlcm4gUEdETExJTVBPUlQgaW50IGV4dHJhX2Zsb2F0X2RpZ2l0czsKIC8qCiAgKiBV dGlsaXR5IGZ1bmN0aW9ucyBpbiBmbG9hdC5jCiAgKi8KLXBnX25vcmV0dXJuIGV4dGVybiB2b2lk IGZsb2F0X292ZXJmbG93X2Vycm9yKHZvaWQpOwotcGdfbm9yZXR1cm4gZXh0ZXJuIHZvaWQgZmxv YXRfdW5kZXJmbG93X2Vycm9yKHZvaWQpOwotcGdfbm9yZXR1cm4gZXh0ZXJuIHZvaWQgZmxvYXRf emVyb19kaXZpZGVfZXJyb3Iodm9pZCk7CitleHRlcm4gdm9pZCBmbG9hdF9vdmVyZmxvd19lcnJv cihzdHJ1Y3QgTm9kZSAqZXNjb250ZXh0KTsKK2V4dGVybiB2b2lkIGZsb2F0X3VuZGVyZmxvd19l cnJvcihzdHJ1Y3QgTm9kZSAqZXNjb250ZXh0KTsKK2V4dGVybiB2b2lkIGZsb2F0X3plcm9fZGl2 aWRlX2Vycm9yKHN0cnVjdCBOb2RlICplc2NvbnRleHQpOwogZXh0ZXJuIGludAlpc19pbmZpbml0 ZShmbG9hdDggdmFsKTsKIGV4dGVybiBmbG9hdDggZmxvYXQ4aW5faW50ZXJuYWwoY2hhciAqbnVt LCBjaGFyICoqZW5kcHRyX3AsCiAJCQkJCQkJCWNvbnN0IGNoYXIgKnR5cGVfbmFtZSwgY29uc3Qg Y2hhciAqb3JpZ19zdHJpbmcsCkBAIC0xMDQsNyArMTA0LDcgQEAgZmxvYXQ0X3BsKGNvbnN0IGZs b2F0NCB2YWwxLCBjb25zdCBmbG9hdDQgdmFsMikKIAogCXJlc3VsdCA9IHZhbDEgKyB2YWwyOwog CWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAmJiAhaXNpbmYodmFsMSkgJiYgIWlzaW5mKHZh bDIpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihO VUxMKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xMTYsNyArMTE2LDcgQEAgZmxvYXQ4X3Bs KGNvbnN0IGZsb2F0OCB2YWwxLCBjb25zdCBmbG9hdDggdmFsMikKIAogCXJlc3VsdCA9IHZhbDEg KyB2YWwyOwogCWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAmJiAhaXNpbmYodmFsMSkgJiYg IWlzaW5mKHZhbDIpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxv d19lcnJvcihOVUxMKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xMjgsNyArMTI4LDcgQEAg ZmxvYXQ0X21pKGNvbnN0IGZsb2F0NCB2YWwxLCBjb25zdCBmbG9hdDQgdmFsMikKIAogCXJlc3Vs dCA9IHZhbDEgLSB2YWwyOwogCWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAmJiAhaXNpbmYo dmFsMSkgJiYgIWlzaW5mKHZhbDIpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQlmbG9h dF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xNDAsNyAr MTQwLDcgQEAgZmxvYXQ4X21pKGNvbnN0IGZsb2F0OCB2YWwxLCBjb25zdCBmbG9hdDggdmFsMikK IAogCXJlc3VsdCA9IHZhbDEgLSB2YWwyOwogCWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAm JiAhaXNpbmYodmFsMSkgJiYgIWlzaW5mKHZhbDIpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigp OworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CkBA IC0xNTIsOSArMTUyLDkgQEAgZmxvYXQ0X211bChjb25zdCBmbG9hdDQgdmFsMSwgY29uc3QgZmxv YXQ0IHZhbDIpCiAKIAlyZXN1bHQgPSB2YWwxICogdmFsMjsKIAlpZiAodW5saWtlbHkoaXNpbmYo cmVzdWx0KSkgJiYgIWlzaW5mKHZhbDEpICYmICFpc2luZih2YWwyKSkKLQkJZmxvYXRfb3ZlcmZs b3dfZXJyb3IoKTsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoTlVMTCk7CiAJaWYgKHVubGlrZWx5 KHJlc3VsdCA9PSAwLjBmKSAmJiB2YWwxICE9IDAuMGYgJiYgdmFsMiAhPSAwLjBmKQotCQlmbG9h dF91bmRlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJ cmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE2Niw5ICsxNjYsOSBAQCBmbG9hdDhfbXVsKGNvbnN0IGZs b2F0OCB2YWwxLCBjb25zdCBmbG9hdDggdmFsMikKIAogCXJlc3VsdCA9IHZhbDEgKiB2YWwyOwog CWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAmJiAhaXNpbmYodmFsMSkgJiYgIWlzaW5mKHZh bDIpKQotCQlmbG9hdF9vdmVyZmxvd19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihO VUxMKTsKIAlpZiAodW5saWtlbHkocmVzdWx0ID09IDAuMCkgJiYgdmFsMSAhPSAwLjAgJiYgdmFs MiAhPSAwLjApCi0JCWZsb2F0X3VuZGVyZmxvd19lcnJvcigpOworCQlmbG9hdF91bmRlcmZsb3df ZXJyb3IoTlVMTCk7CiAKIAlyZXR1cm4gcmVzdWx0OwogfQpAQCAtMTc5LDEyICsxNzksMTIgQEAg ZmxvYXQ0X2Rpdihjb25zdCBmbG9hdDQgdmFsMSwgY29uc3QgZmxvYXQ0IHZhbDIpCiAJZmxvYXQ0 CQlyZXN1bHQ7CiAKIAlpZiAodW5saWtlbHkodmFsMiA9PSAwLjBmKSAmJiAhaXNuYW4odmFsMSkp Ci0JCWZsb2F0X3plcm9fZGl2aWRlX2Vycm9yKCk7CisJCWZsb2F0X3plcm9fZGl2aWRlX2Vycm9y KE5VTEwpOwogCXJlc3VsdCA9IHZhbDEgLyB2YWwyOwogCWlmICh1bmxpa2VseShpc2luZihyZXN1 bHQpKSAmJiAhaXNpbmYodmFsMSkpCi0JCWZsb2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWZsb2F0 X292ZXJmbG93X2Vycm9yKE5VTEwpOwogCWlmICh1bmxpa2VseShyZXN1bHQgPT0gMC4wZikgJiYg dmFsMSAhPSAwLjBmICYmICFpc2luZih2YWwyKSkKLQkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKCk7 CisJCWZsb2F0X3VuZGVyZmxvd19lcnJvcihOVUxMKTsKIAogCXJldHVybiByZXN1bHQ7CiB9CkBA IC0xOTUsMTIgKzE5NSwxMiBAQCBmbG9hdDhfZGl2KGNvbnN0IGZsb2F0OCB2YWwxLCBjb25zdCBm bG9hdDggdmFsMikKIAlmbG9hdDgJCXJlc3VsdDsKIAogCWlmICh1bmxpa2VseSh2YWwyID09IDAu MCkgJiYgIWlzbmFuKHZhbDEpKQotCQlmbG9hdF96ZXJvX2RpdmlkZV9lcnJvcigpOworCQlmbG9h dF96ZXJvX2RpdmlkZV9lcnJvcihOVUxMKTsKIAlyZXN1bHQgPSB2YWwxIC8gdmFsMjsKIAlpZiAo dW5saWtlbHkoaXNpbmYocmVzdWx0KSkgJiYgIWlzaW5mKHZhbDEpKQotCQlmbG9hdF9vdmVyZmxv d19lcnJvcigpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihOVUxMKTsKIAlpZiAodW5saWtlbHko cmVzdWx0ID09IDAuMCkgJiYgdmFsMSAhPSAwLjAgJiYgIWlzaW5mKHZhbDIpKQotCQlmbG9hdF91 bmRlcmZsb3dfZXJyb3IoKTsKKwkJZmxvYXRfdW5kZXJmbG93X2Vycm9yKE5VTEwpOwogCiAJcmV0 dXJuIHJlc3VsdDsKIH0KLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0019-introduce-float8-safe-function.patch" Content-Disposition: attachment; filename="v19-0019-introduce-float8-safe-function.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nk15 RnJvbSAxMDNiZjcwNTE5NzQxOWVhNWE4MjBjNDI5MDlmYzc1OTBkN2U4MTYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMiBKYW4gMjAyNiAxNjoxNDoyOCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDE5LzIzXSBpbnRyb2R1Y2UgZmxvYXQ4IHNhZmUgZnVuY3Rpb24KCnRoaXMgcGF0Y2ggaW50cm9k dWNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb246CmZsb2F0OF9wbF9zYWZlCmZsb2F0OF9taV9zYWZl CmZsb2F0OF9tdWxfc2FmZQpmbG9hdDhfZGl2X3NhZmUKCnJlZmFjdG9yaW5nIGV4aXN0aW5nIGZ1 bmN0aW9uIGlzIGJlIHRvbyBpbnZhc2l2ZS4gIHRodXMgYWRkIHRoZXNlIG5ldyBmdW5jdGlvbnMu Ckl0J3MgY2xvc2UgdG8gZXhpc3Rpbmcgbm9uLXNhZmUgdmVyc2lvbiBmdW5jdGlvbnMuCgpkaXNj dXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpjd3dOYmpRaXhO Vmlza1E4alp1M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9pbmNsdWRlL3V0 aWxzL2Zsb2F0LmggfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9mbG9hdC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvZmxv YXQuaAppbmRleCBkMmU5ODk5NjBhNS4uODcyM2I0YzAwYjAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL3V0aWxzL2Zsb2F0LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZmxvYXQuaApAQCAtMTA5 LDE2ICsxMDksMjQgQEAgZmxvYXQ0X3BsKGNvbnN0IGZsb2F0NCB2YWwxLCBjb25zdCBmbG9hdDQg dmFsMikKIAlyZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgaW5saW5lIGZsb2F0OAorZmxvYXQ4 X3BsX3NhZmUoY29uc3QgZmxvYXQ4IHZhbDEsIGNvbnN0IGZsb2F0OCB2YWwyLCBzdHJ1Y3QgTm9k ZSAqZXNjb250ZXh0KQoreworCWZsb2F0OAkJcmVzdWx0OworCisJcmVzdWx0ID0gdmFsMSArIHZh bDI7CisJaWYgKHVubGlrZWx5KGlzaW5mKHJlc3VsdCkpICYmICFpc2luZih2YWwxKSAmJiAhaXNp bmYodmFsMikpCisJeworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihlc2NvbnRleHQpOworCQlyZXR1 cm4gMC4wOworCX0KKwlyZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgaW5saW5lIGZsb2F0OAog ZmxvYXQ4X3BsKGNvbnN0IGZsb2F0OCB2YWwxLCBjb25zdCBmbG9hdDggdmFsMikKIHsKLQlmbG9h dDgJCXJlc3VsdDsKLQotCXJlc3VsdCA9IHZhbDEgKyB2YWwyOwotCWlmICh1bmxpa2VseShpc2lu ZihyZXN1bHQpKSAmJiAhaXNpbmYodmFsMSkgJiYgIWlzaW5mKHZhbDIpKQotCQlmbG9hdF9vdmVy Zmxvd19lcnJvcihOVUxMKTsKLQotCXJldHVybiByZXN1bHQ7CisJcmV0dXJuIGZsb2F0OF9wbF9z YWZlKHZhbDEsIHZhbDIsIE5VTEwpOzsKIH0KIAogc3RhdGljIGlubGluZSBmbG9hdDQKQEAgLTEz MywxNiArMTQxLDI0IEBAIGZsb2F0NF9taShjb25zdCBmbG9hdDQgdmFsMSwgY29uc3QgZmxvYXQ0 IHZhbDIpCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorc3RhdGljIGlubGluZSBmbG9hdDgKK2Zsb2F0 OF9taV9zYWZlKGNvbnN0IGZsb2F0OCB2YWwxLCBjb25zdCBmbG9hdDggdmFsMiwgc3RydWN0IE5v ZGUgKmVzY29udGV4dCkKK3sKKwlmbG9hdDgJCXJlc3VsdDsKKworCXJlc3VsdCA9IHZhbDEgLSB2 YWwyOworCWlmICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAmJiAhaXNpbmYodmFsMSkgJiYgIWlz aW5mKHZhbDIpKQorCXsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoZXNjb250ZXh0KTsKKwkJcmV0 dXJuIDAuMDsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KKwogc3RhdGljIGlubGluZSBmbG9hdDgK IGZsb2F0OF9taShjb25zdCBmbG9hdDggdmFsMSwgY29uc3QgZmxvYXQ4IHZhbDIpCiB7Ci0JZmxv YXQ4CQlyZXN1bHQ7Ci0KLQlyZXN1bHQgPSB2YWwxIC0gdmFsMjsKLQlpZiAodW5saWtlbHkoaXNp bmYocmVzdWx0KSkgJiYgIWlzaW5mKHZhbDEpICYmICFpc2luZih2YWwyKSkKLQkJZmxvYXRfb3Zl cmZsb3dfZXJyb3IoTlVMTCk7Ci0KLQlyZXR1cm4gcmVzdWx0OworCXJldHVybiBmbG9hdDhfbWlf c2FmZSh2YWwxLCB2YWwyLCBOVUxMKTsKIH0KIAogc3RhdGljIGlubGluZSBmbG9hdDQKQEAgLTE2 MCwxOSArMTc2LDMzIEBAIGZsb2F0NF9tdWwoY29uc3QgZmxvYXQ0IHZhbDEsIGNvbnN0IGZsb2F0 NCB2YWwyKQogfQogCiBzdGF0aWMgaW5saW5lIGZsb2F0OAotZmxvYXQ4X211bChjb25zdCBmbG9h dDggdmFsMSwgY29uc3QgZmxvYXQ4IHZhbDIpCitmbG9hdDhfbXVsX3NhZmUoY29uc3QgZmxvYXQ4 IHZhbDEsIGNvbnN0IGZsb2F0OCB2YWwyLCBzdHJ1Y3QgTm9kZSAqZXNjb250ZXh0KQogewogCWZs b2F0OAkJcmVzdWx0OwogCiAJcmVzdWx0ID0gdmFsMSAqIHZhbDI7CiAJaWYgKHVubGlrZWx5KGlz aW5mKHJlc3VsdCkpICYmICFpc2luZih2YWwxKSAmJiAhaXNpbmYodmFsMikpCi0JCWZsb2F0X292 ZXJmbG93X2Vycm9yKE5VTEwpOworCXsKKwkJZmxvYXRfb3ZlcmZsb3dfZXJyb3IoZXNjb250ZXh0 KTsKKwkJcmV0dXJuIDAuMDsKKwl9CisKIAlpZiAodW5saWtlbHkocmVzdWx0ID09IDAuMCkgJiYg dmFsMSAhPSAwLjAgJiYgdmFsMiAhPSAwLjApCi0JCWZsb2F0X3VuZGVyZmxvd19lcnJvcihOVUxM KTsKKwl7CisJCWZsb2F0X3VuZGVyZmxvd19lcnJvcihlc2NvbnRleHQpOworCQlyZXR1cm4gMC4w OworCX0KIAogCXJldHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyBpbmxpbmUgZmxvYXQ4CitmbG9h dDhfbXVsKGNvbnN0IGZsb2F0OCB2YWwxLCBjb25zdCBmbG9hdDggdmFsMikKK3sKKwlyZXR1cm4g ZmxvYXQ4X211bF9zYWZlKHZhbDEsIHZhbDIsIE5VTEwpOworfQorCisKIHN0YXRpYyBpbmxpbmUg ZmxvYXQ0CiBmbG9hdDRfZGl2KGNvbnN0IGZsb2F0NCB2YWwxLCBjb25zdCBmbG9hdDQgdmFsMikK IHsKQEAgLTE5MCwyMSArMjIwLDI4IEBAIGZsb2F0NF9kaXYoY29uc3QgZmxvYXQ0IHZhbDEsIGNv bnN0IGZsb2F0NCB2YWwyKQogfQogCiBzdGF0aWMgaW5saW5lIGZsb2F0OAotZmxvYXQ4X2Rpdihj b25zdCBmbG9hdDggdmFsMSwgY29uc3QgZmxvYXQ4IHZhbDIpCitmbG9hdDhfZGl2X3NhZmUoY29u c3QgZmxvYXQ4IHZhbDEsIGNvbnN0IGZsb2F0OCB2YWwyLCBzdHJ1Y3QgTm9kZSAqZXNjb250ZXh0 KQogewogCWZsb2F0OAkJcmVzdWx0OwogCiAJaWYgKHVubGlrZWx5KHZhbDIgPT0gMC4wKSAmJiAh aXNuYW4odmFsMSkpCi0JCWZsb2F0X3plcm9fZGl2aWRlX2Vycm9yKE5VTEwpOworCQlmbG9hdF96 ZXJvX2RpdmlkZV9lcnJvcihlc2NvbnRleHQpOwogCXJlc3VsdCA9IHZhbDEgLyB2YWwyOwogCWlm ICh1bmxpa2VseShpc2luZihyZXN1bHQpKSAmJiAhaXNpbmYodmFsMSkpCi0JCWZsb2F0X292ZXJm bG93X2Vycm9yKE5VTEwpOworCQlmbG9hdF9vdmVyZmxvd19lcnJvcihlc2NvbnRleHQpOwogCWlm ICh1bmxpa2VseShyZXN1bHQgPT0gMC4wKSAmJiB2YWwxICE9IDAuMCAmJiAhaXNpbmYodmFsMikp Ci0JCWZsb2F0X3VuZGVyZmxvd19lcnJvcihOVUxMKTsKKwkJZmxvYXRfdW5kZXJmbG93X2Vycm9y KGVzY29udGV4dCk7CiAKIAlyZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgaW5saW5lIGZsb2F0 OAorZmxvYXQ4X2Rpdihjb25zdCBmbG9hdDggdmFsMSwgY29uc3QgZmxvYXQ4IHZhbDIpCit7CisJ cmV0dXJuIGZsb2F0OF9kaXZfc2FmZSh2YWwxLCB2YWwyLCBOVUxMKTsKK30KKworCiAvKgogICog Um91dGluZXMgZm9yIE5hTi1hd2FyZSBjb21wYXJpc29ucwogICoKLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0017-error-safe-for-casting-jsonb-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0017-error-safe-for-casting-jsonb-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nn17 RnJvbSA0ZTgyZTBmMGFmYjk0ZDA4YzgzNWRmYmUzYzQzZTdlNDIxNjdkZGYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjQgTm92IDIwMjUgMTQ6MjY6NTMgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAxNy8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBqc29uYiB0byBvdGhlciB0eXBlcyBwZXIK IHBnX2Nhc3QKCnNlbGVjdCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFyZ2V0OjpyZWd0eXBl LCBjYXN0ZnVuYywKY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3JjLCBwcC5wcm9uYW1l IGZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24KcHAub2lkID0gcGMuY2FzdGZ1bmMg YW5kIHBjLmNhc3RmdW5jID4gMAphbmQgY2FzdHNvdXJjZTo6cmVndHlwZSA9ICdqc29uYic6OnJl Z3R5cGUKb3JkZXIgYnkgY2FzdHNvdXJjZTo6cmVndHlwZTsKCiBjYXN0c291cmNlIHwgICAgY2Fz dHRhcmdldCAgICB8IGNhc3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0aG9kIHwgICAgcHJv c3JjICAgICB8IHByb25hbWUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0K IGpzb25iICAgICAgfCBib29sZWFuICAgICAgICAgIHwgICAgIDM1NTYgfCBlICAgICAgICAgICB8 IGYgICAgICAgICAgfCBqc29uYl9ib29sICAgIHwgYm9vbAoganNvbmIgICAgICB8IG51bWVyaWMg ICAgICAgICAgfCAgICAgMzQ0OSB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGpzb25iX251 bWVyaWMgfCBudW1lcmljCiBqc29uYiAgICAgIHwgc21hbGxpbnQgICAgICAgICB8ICAgICAzNDUw IHwgZSAgICAgICAgICAgfCBmICAgICAgICAgIHwganNvbmJfaW50MiAgICB8IGludDIKIGpzb25i ICAgICAgfCBpbnRlZ2VyICAgICAgICAgIHwgICAgIDM0NTEgfCBlICAgICAgICAgICB8IGYgICAg ICAgICAgfCBqc29uYl9pbnQ0ICAgIHwgaW50NAoganNvbmIgICAgICB8IGJpZ2ludCAgICAgICAg ICAgfCAgICAgMzQ1MiB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8IGpzb25iX2ludDggICAg fCBpbnQ4CiBqc29uYiAgICAgIHwgcmVhbCAgICAgICAgICAgICB8ICAgICAzNDUzIHwgZSAgICAg ICAgICAgfCBmICAgICAgICAgIHwganNvbmJfZmxvYXQ0ICB8IGZsb2F0NAoganNvbmIgICAgICB8 IGRvdWJsZSBwcmVjaXNpb24gfCAgICAgMjU4MCB8IGUgICAgICAgICAgIHwgZiAgICAgICAgICB8 IGpzb25iX2Zsb2F0OCAgfCBmbG9hdDgKKDcgcm93cykKCmRpc2N1c3Npb246IGh0dHBzOi8vcG9z dGdyLmVzL20vQ0FEa0xNPWZ2MUpmWTRVZmEtamN3d05ialFpeE5WaXNrUThqWnUzVHpfcDY1Nmlf NGhRQG1haWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25iLmMgfCA3 NCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU4 IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9qc29uYi5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25iLmMKaW5kZXgg MGEzYTc3ZWU3ODYuLjhlYTlmYTFjNzlkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvanNvbmIuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbmIuYwpAQCAtMTgxOCw3 ICsxODE4LDcgQEAgSnNvbmJFeHRyYWN0U2NhbGFyKEpzb25iQ29udGFpbmVyICpqYmMsIEpzb25i VmFsdWUgKnJlcykKICAqIEVtaXQgY29ycmVjdCwgdHJhbnNsYXRhYmxlIGNhc3QgZXJyb3IgbWVz c2FnZQogICovCiBzdGF0aWMgdm9pZAotY2Fubm90Q2FzdEpzb25iVmFsdWUoZW51bSBqYnZUeXBl IHR5cGUsIGNvbnN0IGNoYXIgKnNxbHR5cGUpCitjYW5ub3RDYXN0SnNvbmJWYWx1ZShlbnVtIGpi dlR5cGUgdHlwZSwgY29uc3QgY2hhciAqc3FsdHlwZSwgTm9kZSAqZXNjb250ZXh0KQogewogCXN0 YXRpYyBjb25zdCBzdHJ1Y3QKIAl7CkBAIC0xODM5LDcgKzE4MzksNyBAQCBjYW5ub3RDYXN0SnNv bmJWYWx1ZShlbnVtIGpidlR5cGUgdHlwZSwgY29uc3QgY2hhciAqc3FsdHlwZSkKIAogCWZvciAo aSA9IDA7IGkgPCBsZW5ndGhvZihtZXNzYWdlcyk7IGkrKykKIAkJaWYgKG1lc3NhZ2VzW2ldLnR5 cGUgPT0gdHlwZSkKLQkJCWVyZXBvcnQoRVJST1IsCisJCQllcmV0dXJuKGVzY29udGV4dCwsCiAJ CQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAogCQkJCQkgZXJy bXNnKG1lc3NhZ2VzW2ldLm1zZywgc3FsdHlwZSkpKTsKIApAQCAtMTg1NCw3ICsxODU0LDEwIEBA IGpzb25iX2Jvb2woUEdfRlVOQ1RJT05fQVJHUykKIAlKc29uYlZhbHVlCXY7CiAKIAlpZiAoIUpz b25iRXh0cmFjdFNjYWxhcigmaW4tPnJvb3QsICZ2KSkKLQkJY2Fubm90Q2FzdEpzb25iVmFsdWUo di50eXBlLCAiYm9vbGVhbiIpOworCXsKKwkJY2Fubm90Q2FzdEpzb25iVmFsdWUodi50eXBlLCAi Ym9vbGVhbiIsIGZjaW5mby0+Y29udGV4dCk7CisJCVBHX1JFVFVSTl9OVUxMKCk7CisJfQogCiAJ aWYgKHYudHlwZSA9PSBqYnZOdWxsKQogCXsKQEAgLTE4NjMsNyArMTg2NiwxMCBAQCBqc29uYl9i b29sKFBHX0ZVTkNUSU9OX0FSR1MpCiAJfQogCiAJaWYgKHYudHlwZSAhPSBqYnZCb29sKQotCQlj YW5ub3RDYXN0SnNvbmJWYWx1ZSh2LnR5cGUsICJib29sZWFuIik7CisJeworCQljYW5ub3RDYXN0 SnNvbmJWYWx1ZSh2LnR5cGUsICJib29sZWFuIiwgZmNpbmZvLT5jb250ZXh0KTsKKwkJUEdfUkVU VVJOX05VTEwoKTsKKwl9CiAKIAlQR19GUkVFX0lGX0NPUFkoaW4sIDApOwogCkBAIC0xODc4LDcg KzE4ODQsMTAgQEAganNvbmJfbnVtZXJpYyhQR19GVU5DVElPTl9BUkdTKQogCU51bWVyaWMJCXJl dFZhbHVlOwogCiAJaWYgKCFKc29uYkV4dHJhY3RTY2FsYXIoJmluLT5yb290LCAmdikpCi0JCWNh bm5vdENhc3RKc29uYlZhbHVlKHYudHlwZSwgIm51bWVyaWMiKTsKKwl7CisJCWNhbm5vdENhc3RK c29uYlZhbHVlKHYudHlwZSwgIm51bWVyaWMiLCBmY2luZm8tPmNvbnRleHQpOworCQlQR19SRVRV Uk5fTlVMTCgpOworCX0KIAogCWlmICh2LnR5cGUgPT0gamJ2TnVsbCkKIAl7CkBAIC0xODg3LDcg KzE4OTYsMTAgQEAganNvbmJfbnVtZXJpYyhQR19GVU5DVElPTl9BUkdTKQogCX0KIAogCWlmICh2 LnR5cGUgIT0gamJ2TnVtZXJpYykKLQkJY2Fubm90Q2FzdEpzb25iVmFsdWUodi50eXBlLCAibnVt ZXJpYyIpOworCXsKKwkJY2Fubm90Q2FzdEpzb25iVmFsdWUodi50eXBlLCAibnVtZXJpYyIsIGZj aW5mby0+Y29udGV4dCk7CisJCVBHX1JFVFVSTl9OVUxMKCk7CisJfQogCiAJLyoKIAkgKiB2LnZh bC5udW1lcmljIHBvaW50cyBpbnRvIGpzb25iIGJvZHksIHNvIHdlIG5lZWQgdG8gbWFrZSBhIGNv cHkgdG8KQEAgLTE5MDgsNyArMTkyMCwxMCBAQCBqc29uYl9pbnQyKFBHX0ZVTkNUSU9OX0FSR1Mp CiAJRGF0dW0JCXJldFZhbHVlOwogCiAJaWYgKCFKc29uYkV4dHJhY3RTY2FsYXIoJmluLT5yb290 LCAmdikpCi0JCWNhbm5vdENhc3RKc29uYlZhbHVlKHYudHlwZSwgInNtYWxsaW50Iik7CisJewor CQljYW5ub3RDYXN0SnNvbmJWYWx1ZSh2LnR5cGUsICJzbWFsbGludCIsIGZjaW5mby0+Y29udGV4 dCk7CisJCVBHX1JFVFVSTl9OVUxMKCk7CisJfQogCiAJaWYgKHYudHlwZSA9PSBqYnZOdWxsKQog CXsKQEAgLTE5MTcsNyArMTkzMiwxMCBAQCBqc29uYl9pbnQyKFBHX0ZVTkNUSU9OX0FSR1MpCiAJ fQogCiAJaWYgKHYudHlwZSAhPSBqYnZOdW1lcmljKQotCQljYW5ub3RDYXN0SnNvbmJWYWx1ZSh2 LnR5cGUsICJzbWFsbGludCIpOworCXsKKwkJY2Fubm90Q2FzdEpzb25iVmFsdWUodi50eXBlLCAi c21hbGxpbnQiLCBmY2luZm8tPmNvbnRleHQpOworCQlQR19SRVRVUk5fTlVMTCgpOworCX0KIAog CXJldFZhbHVlID0gRGlyZWN0RnVuY3Rpb25DYWxsMShudW1lcmljX2ludDIsCiAJCQkJCQkJCSAg IE51bWVyaWNHZXREYXR1bSh2LnZhbC5udW1lcmljKSk7CkBAIC0xOTM1LDcgKzE5NTMsMTAgQEAg anNvbmJfaW50NChQR19GVU5DVElPTl9BUkdTKQogCURhdHVtCQlyZXRWYWx1ZTsKIAogCWlmICgh SnNvbmJFeHRyYWN0U2NhbGFyKCZpbi0+cm9vdCwgJnYpKQotCQljYW5ub3RDYXN0SnNvbmJWYWx1 ZSh2LnR5cGUsICJpbnRlZ2VyIik7CisJeworCQljYW5ub3RDYXN0SnNvbmJWYWx1ZSh2LnR5cGUs ICJpbnRlZ2VyIiwgZmNpbmZvLT5jb250ZXh0KTsKKwkJUEdfUkVUVVJOX05VTEwoKTsKKwl9CiAK IAlpZiAodi50eXBlID09IGpidk51bGwpCiAJewpAQCAtMTk0NCw3ICsxOTY1LDEwIEBAIGpzb25i X2ludDQoUEdfRlVOQ1RJT05fQVJHUykKIAl9CiAKIAlpZiAodi50eXBlICE9IGpidk51bWVyaWMp Ci0JCWNhbm5vdENhc3RKc29uYlZhbHVlKHYudHlwZSwgImludGVnZXIiKTsKKwl7CisJCWNhbm5v dENhc3RKc29uYlZhbHVlKHYudHlwZSwgImludGVnZXIiLCBmY2luZm8tPmNvbnRleHQpOworCQlQ R19SRVRVUk5fTlVMTCgpOworCX0KIAogCXJldFZhbHVlID0gRGlyZWN0RnVuY3Rpb25DYWxsMShu dW1lcmljX2ludDQsCiAJCQkJCQkJCSAgIE51bWVyaWNHZXREYXR1bSh2LnZhbC5udW1lcmljKSk7 CkBAIC0xOTYyLDcgKzE5ODYsMTAgQEAganNvbmJfaW50OChQR19GVU5DVElPTl9BUkdTKQogCURh dHVtCQlyZXRWYWx1ZTsKIAogCWlmICghSnNvbmJFeHRyYWN0U2NhbGFyKCZpbi0+cm9vdCwgJnYp KQotCQljYW5ub3RDYXN0SnNvbmJWYWx1ZSh2LnR5cGUsICJiaWdpbnQiKTsKKwl7CisJCWNhbm5v dENhc3RKc29uYlZhbHVlKHYudHlwZSwgImJpZ2ludCIsIGZjaW5mby0+Y29udGV4dCk7CisJCVBH X1JFVFVSTl9OVUxMKCk7CisJfQogCiAJaWYgKHYudHlwZSA9PSBqYnZOdWxsKQogCXsKQEAgLTE5 NzEsNyArMTk5OCwxMCBAQCBqc29uYl9pbnQ4KFBHX0ZVTkNUSU9OX0FSR1MpCiAJfQogCiAJaWYg KHYudHlwZSAhPSBqYnZOdW1lcmljKQotCQljYW5ub3RDYXN0SnNvbmJWYWx1ZSh2LnR5cGUsICJi aWdpbnQiKTsKKwl7CisJCWNhbm5vdENhc3RKc29uYlZhbHVlKHYudHlwZSwgImJpZ2ludCIsIGZj aW5mby0+Y29udGV4dCk7CisJCVBHX1JFVFVSTl9OVUxMKCk7CisJfQogCiAJcmV0VmFsdWUgPSBE aXJlY3RGdW5jdGlvbkNhbGwxKG51bWVyaWNfaW50OCwKIAkJCQkJCQkJICAgTnVtZXJpY0dldERh dHVtKHYudmFsLm51bWVyaWMpKTsKQEAgLTE5ODksNyArMjAxOSwxMCBAQCBqc29uYl9mbG9hdDQo UEdfRlVOQ1RJT05fQVJHUykKIAlEYXR1bQkJcmV0VmFsdWU7CiAKIAlpZiAoIUpzb25iRXh0cmFj dFNjYWxhcigmaW4tPnJvb3QsICZ2KSkKLQkJY2Fubm90Q2FzdEpzb25iVmFsdWUodi50eXBlLCAi cmVhbCIpOworCXsKKwkJY2Fubm90Q2FzdEpzb25iVmFsdWUodi50eXBlLCAicmVhbCIsIGZjaW5m by0+Y29udGV4dCk7CisJCVBHX1JFVFVSTl9OVUxMKCk7CisJfQogCiAJaWYgKHYudHlwZSA9PSBq YnZOdWxsKQogCXsKQEAgLTE5OTgsNyArMjAzMSwxMCBAQCBqc29uYl9mbG9hdDQoUEdfRlVOQ1RJ T05fQVJHUykKIAl9CiAKIAlpZiAodi50eXBlICE9IGpidk51bWVyaWMpCi0JCWNhbm5vdENhc3RK c29uYlZhbHVlKHYudHlwZSwgInJlYWwiKTsKKwl7CisJCWNhbm5vdENhc3RKc29uYlZhbHVlKHYu dHlwZSwgInJlYWwiLCBmY2luZm8tPmNvbnRleHQpOworCQlQR19SRVRVUk5fTlVMTCgpOworCX0K IAogCXJldFZhbHVlID0gRGlyZWN0RnVuY3Rpb25DYWxsMShudW1lcmljX2Zsb2F0NCwKIAkJCQkJ CQkJICAgTnVtZXJpY0dldERhdHVtKHYudmFsLm51bWVyaWMpKTsKQEAgLTIwMTYsNyArMjA1Miwx MCBAQCBqc29uYl9mbG9hdDgoUEdfRlVOQ1RJT05fQVJHUykKIAlEYXR1bQkJcmV0VmFsdWU7CiAK IAlpZiAoIUpzb25iRXh0cmFjdFNjYWxhcigmaW4tPnJvb3QsICZ2KSkKLQkJY2Fubm90Q2FzdEpz b25iVmFsdWUodi50eXBlLCAiZG91YmxlIHByZWNpc2lvbiIpOworCXsKKwkJY2Fubm90Q2FzdEpz b25iVmFsdWUodi50eXBlLCAiZG91YmxlIHByZWNpc2lvbiIsIGZjaW5mby0+Y29udGV4dCk7CisJ CVBHX1JFVFVSTl9OVUxMKCk7CisJfQogCiAJaWYgKHYudHlwZSA9PSBqYnZOdWxsKQogCXsKQEAg LTIwMjUsNyArMjA2NCwxMCBAQCBqc29uYl9mbG9hdDgoUEdfRlVOQ1RJT05fQVJHUykKIAl9CiAK IAlpZiAodi50eXBlICE9IGpidk51bWVyaWMpCi0JCWNhbm5vdENhc3RKc29uYlZhbHVlKHYudHlw ZSwgImRvdWJsZSBwcmVjaXNpb24iKTsKKwl7CisJCWNhbm5vdENhc3RKc29uYlZhbHVlKHYudHlw ZSwgImRvdWJsZSBwcmVjaXNpb24iLCBmY2luZm8tPmNvbnRleHQpOworCQlQR19SRVRVUk5fTlVM TCgpOworCX0KIAogCXJldFZhbHVlID0gRGlyZWN0RnVuY3Rpb25DYWxsMShudW1lcmljX2Zsb2F0 OCwKIAkJCQkJCQkJICAgTnVtZXJpY0dldERhdHVtKHYudmFsLm51bWVyaWMpKTsKLS0gCjIuMzQu MQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0016-error-safe-for-casting-timestamp-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0016-error-safe-for-casting-timestamp-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5np18 RnJvbSAyNzBlMWIxZTUyYWE0NDk0Y2VkMzYwZDhjMjIyNjQ4NmM3ZTdiMWFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMiBEZWMgMjAyNSAxMjoxNDozNiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDE2LzIzXSBlcnJvciBzYWZlIGZvciBjYXN0aW5nIHRpbWVzdGFtcCB0byBvdGhlciB0eXBlcyBw ZXIKIHBnX2Nhc3QKCnNlbGVjdCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFyZ2V0OjpyZWd0 eXBlLCBjYXN0ZnVuYywKICAgICAgIGNhc3Rjb250ZXh0LGNhc3RtZXRob2QsIHBwLnByb3NyYywg cHAucHJvbmFtZQpmcm9tIHBnX2Nhc3QgcGMgam9pbiBwZ19wcm9jIHBwIG9uCnBwLm9pZCA9IHBj LmNhc3RmdW5jCmFuZCBwYy5jYXN0ZnVuYyA+IDAgYW5kIChjYXN0c291cmNlOjpyZWd0eXBlID0n dGltZXN0YW1wJzo6cmVndHlwZSkKb3JkZXIgYnkgY2FzdHNvdXJjZTo6cmVndHlwZTsKCiAgICAg ICAgIGNhc3Rzb3VyY2UgICAgICAgICAgfCAgICAgICAgIGNhc3R0YXJnZXQgICAgICAgICAgfCBj YXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8ICAgICAgICBwcm9zcmMgICAgICAg ICB8ICAgcHJvbmFtZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KIHRpbWVzdGFtcCB3aXRob3V0IHRp bWUgem9uZSB8IGRhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAyMDI5IHwgYSAgICAg ICAgICAgfCBmICAgICAgICAgIHwgdGltZXN0YW1wX2RhdGUgICAgICAgIHwgZGF0ZQogdGltZXN0 YW1wIHdpdGhvdXQgdGltZSB6b25lIHwgdGltZSB3aXRob3V0IHRpbWUgem9uZSAgICAgIHwgICAg IDEzMTYgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCB0aW1lc3RhbXBfdGltZSAgICAgICAg fCB0aW1lCiB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgfCB0aW1lc3RhbXAgd2l0aCB0aW1l IHpvbmUgICAgfCAgICAgMjAyOCB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IHRpbWVzdGFt cF90aW1lc3RhbXB0eiB8IHRpbWVzdGFtcHR6CiB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUg fCB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgfCAgICAgMTk2MSB8IGkgICAgICAgICAgIHwg ZiAgICAgICAgICB8IHRpbWVzdGFtcF9zY2FsZSAgICAgICB8IHRpbWVzdGFtcAooNCByb3dzKQoK ZGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQURrTE09ZnYxSmZZNFVmYS1qY3d3TmJq UWl4TlZpc2tROGpadTNUel9wNjU2aV80aFFAbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2Vu ZC91dGlscy9hZHQvZGF0ZS5jICAgICAgfCAgNyArKysrKy0tCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvdGltZXN0YW1wLmMgfCAxMCArKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L2RhdGUuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9kYXRlLmMKaW5kZXggYmU1Mjc3N2Q4 OGQuLmEwNTc0NzEwOTlkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9kYXRlLmMKQEAgLTEzMzAsNyArMTMzMCwxMCBA QCB0aW1lc3RhbXBfZGF0ZShQR19GVU5DVElPTl9BUkdTKQogCVRpbWVzdGFtcAl0aW1lc3RhbXAg PSBQR19HRVRBUkdfVElNRVNUQU1QKDApOwogCURhdGVBRFQJCXJlc3VsdDsKIAotCXJlc3VsdCA9 IHRpbWVzdGFtcDJkYXRlX3NhZmUodGltZXN0YW1wLCBOVUxMKTsKKwlyZXN1bHQgPSB0aW1lc3Rh bXAyZGF0ZV9zYWZlKHRpbWVzdGFtcCwgZmNpbmZvLT5jb250ZXh0KTsKKwlpZiAoU09GVF9FUlJP Ul9PQ0NVUlJFRChmY2luZm8tPmNvbnRleHQpKQorCQlQR19SRVRVUk5fTlVMTCgpOworCiAJUEdf UkVUVVJOX0RBVEVBRFQocmVzdWx0KTsKIH0KIApAQCAtMjAwOCw3ICsyMDExLDcgQEAgdGltZXN0 YW1wX3RpbWUoUEdfRlVOQ1RJT05fQVJHUykKIAkJUEdfUkVUVVJOX05VTEwoKTsKIAogCWlmICh0 aW1lc3RhbXAydG0odGltZXN0YW1wLCBOVUxMLCB0bSwgJmZzZWMsIE5VTEwsIE5VTEwpICE9IDAp Ci0JCWVyZXBvcnQoRVJST1IsCisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0pIDAs CiAJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRFVElNRV9WQUxVRV9PVVRfT0ZfUkFOR0UpLAogCQkJ CSBlcnJtc2coInRpbWVzdGFtcCBvdXQgb2YgcmFuZ2UiKSkpOwogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvdGlt ZXN0YW1wLmMKaW5kZXggMDQ4N2Y4NDU3ZjIuLjc0ZGYxM2M2MWM4IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3RpbWVzdGFtcC5jCkBAIC0zNTAsNyArMzUwLDggQEAgdGltZXN0YW1wX3NjYWxlKFBHX0ZVTkNU SU9OX0FSR1MpCiAKIAlyZXN1bHQgPSB0aW1lc3RhbXA7CiAKLQlBZGp1c3RUaW1lc3RhbXBGb3JU eXBtb2QoJnJlc3VsdCwgdHlwbW9kLCBOVUxMKTsKKwlpZiAoIUFkanVzdFRpbWVzdGFtcEZvclR5 cG1vZCgmcmVzdWx0LCB0eXBtb2QsIGZjaW5mby0+Y29udGV4dCkpCisJCVBHX1JFVFVSTl9OVUxM KCk7CiAKIAlQR19SRVRVUk5fVElNRVNUQU1QKHJlc3VsdCk7CiB9CkBAIC02NDMwLDggKzY0MzEs MTMgQEAgRGF0dW0KIHRpbWVzdGFtcF90aW1lc3RhbXB0eihQR19GVU5DVElPTl9BUkdTKQogewog CVRpbWVzdGFtcAl0aW1lc3RhbXAgPSBQR19HRVRBUkdfVElNRVNUQU1QKDApOworCVRpbWVzdGFt cFR6IHJlc3VsdDsKIAotCVBHX1JFVFVSTl9USU1FU1RBTVBUWih0aW1lc3RhbXAydGltZXN0YW1w dHoodGltZXN0YW1wKSk7CisJcmVzdWx0ID0gdGltZXN0YW1wMnRpbWVzdGFtcHR6X3NhZmUodGlt ZXN0YW1wLCBmY2luZm8tPmNvbnRleHQpOworCWlmIChTT0ZUX0VSUk9SX09DQ1VSUkVEKGZjaW5m by0+Y29udGV4dCkpCisJCVBHX1JFVFVSTl9OVUxMKCk7CisKKwlQR19SRVRVUk5fVElNRVNUQU1Q VFoocmVzdWx0KTsKIH0KIAogLyoKLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0015-error-safe-for-casting-timestamptz-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0015-error-safe-for-casting-timestamptz-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nr19 RnJvbSBlNWJiYTE1OWI1YjU2MTQ3NjZiZTI0N2M3MDk0Zjc1ZWM0ZTQzMDJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMiBEZWMgMjAyNSAxMjowNDo0MCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDE1LzIzXSBlcnJvciBzYWZlIGZvciBjYXN0aW5nIHRpbWVzdGFtcHR6IHRvIG90aGVyIHR5cGVz CiBwZXIgcGdfY2FzdAoKc2VsZWN0IGNhc3Rzb3VyY2U6OnJlZ3R5cGUsIGNhc3R0YXJnZXQ6OnJl Z3R5cGUsIGNhc3RmdW5jLAogICAgICAgY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3Jj LCBwcC5wcm9uYW1lCmZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24gcHAub2lkID0g cGMuY2FzdGZ1bmMKYW5kIHBjLmNhc3RmdW5jID4gMCBhbmQgKGNhc3Rzb3VyY2U6OnJlZ3R5cGUg PSd0aW1lc3RhbXB0eic6OnJlZ3R5cGUpCm9yZGVyIGJ5IGNhc3Rzb3VyY2U6OnJlZ3R5cGU7Cgog ICAgICAgIGNhc3Rzb3VyY2UgICAgICAgIHwgICAgICAgICBjYXN0dGFyZ2V0ICAgICAgICAgIHwg Y2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgICAgICAgcHJvc3JjICAgICAg ICAgfCAgIHByb25hbWUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpv bmUgfCBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMTE3OCB8IGEgICAgICAgICAg IHwgZiAgICAgICAgICB8IHRpbWVzdGFtcHR6X2RhdGUgICAgICB8IGRhdGUKIHRpbWVzdGFtcCB3 aXRoIHRpbWUgem9uZSB8IHRpbWUgd2l0aG91dCB0aW1lIHpvbmUgICAgICB8ICAgICAyMDE5IHwg YSAgICAgICAgICAgfCBmICAgICAgICAgIHwgdGltZXN0YW1wdHpfdGltZSAgICAgIHwgdGltZQog dGltZXN0YW1wIHdpdGggdGltZSB6b25lIHwgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lIHwg ICAgIDIwMjcgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCB0aW1lc3RhbXB0el90aW1lc3Rh bXAgfCB0aW1lc3RhbXAKIHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSB8IHRpbWUgd2l0aCB0aW1l IHpvbmUgICAgICAgICB8ICAgICAxMzg4IHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgdGlt ZXN0YW1wdHpfdGltZXR6ICAgIHwgdGltZXR6CiB0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgfCB0 aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgICAgfCAgICAgMTk2NyB8IGkgICAgICAgICAgIHwgZiAg ICAgICAgICB8IHRpbWVzdGFtcHR6X3NjYWxlICAgICB8IHRpbWVzdGFtcHR6Cig1IHJvd3MpCgpk aXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpjd3dOYmpR aXhOVmlza1E4alp1M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iYWNrZW5k L3V0aWxzL2FkdC9kYXRlLmMgICAgICB8ICA5ICsrKysrKy0tLQogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3RpbWVzdGFtcC5jIHwgMTAgKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9kYXRlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5jCmluZGV4IGJjNGM2Nzc3 NWRkLi5iZTUyNzc3ZDg4ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2RhdGUu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5jCkBAIC0xNDA2LDcgKzE0MDYsMTAg QEAgdGltZXN0YW1wdHpfZGF0ZShQR19GVU5DVElPTl9BUkdTKQogCVRpbWVzdGFtcFR6IHRpbWVz dGFtcCA9IFBHX0dFVEFSR19USU1FU1RBTVAoMCk7CiAJRGF0ZUFEVAkJcmVzdWx0OwogCi0JcmVz dWx0ID0gdGltZXN0YW1wdHoyZGF0ZV9zYWZlKHRpbWVzdGFtcCwgTlVMTCk7CisJcmVzdWx0ID0g dGltZXN0YW1wdHoyZGF0ZV9zYWZlKHRpbWVzdGFtcCwgZmNpbmZvLT5jb250ZXh0KTsKKwlpZiAo U09GVF9FUlJPUl9PQ0NVUlJFRChmY2luZm8tPmFyZ3MpKQorCQlQR19SRVRVUk5fTlVMTCgpOwor CiAJUEdfUkVUVVJOX0RBVEVBRFQocmVzdWx0KTsKIH0KIApAQCAtMjAzNiw3ICsyMDM5LDcgQEAg dGltZXN0YW1wdHpfdGltZShQR19GVU5DVElPTl9BUkdTKQogCQlQR19SRVRVUk5fTlVMTCgpOwog CiAJaWYgKHRpbWVzdGFtcDJ0bSh0aW1lc3RhbXAsICZ0eiwgdG0sICZmc2VjLCBOVUxMLCBOVUxM KSAhPSAwKQotCQllcmVwb3J0KEVSUk9SLAorCQllcmV0dXJuKGZjaW5mby0+Y29udGV4dCwgKERh dHVtKSAwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfREFURVRJTUVfVkFMVUVfT1VUX09GX1JBTkdF KSwKIAkJCQkgZXJybXNnKCJ0aW1lc3RhbXAgb3V0IG9mIHJhbmdlIikpKTsKIApAQCAtMjk1NSw3 ICsyOTU4LDcgQEAgdGltZXN0YW1wdHpfdGltZXR6KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCVBHX1JF VFVSTl9OVUxMKCk7CiAKIAlpZiAodGltZXN0YW1wMnRtKHRpbWVzdGFtcCwgJnR6LCB0bSwgJmZz ZWMsIE5VTEwsIE5VTEwpICE9IDApCi0JCWVyZXBvcnQoRVJST1IsCisJCWVyZXR1cm4oZmNpbmZv LT5jb250ZXh0LCAoRGF0dW0pIDAsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRFVElNRV9WQUxV RV9PVVRfT0ZfUkFOR0UpLAogCQkJCSBlcnJtc2coInRpbWVzdGFtcCBvdXQgb2YgcmFuZ2UiKSkp OwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMKaW5kZXggOGNkOTdjY2E5MjYuLjA0ODdmODQ1 N2YyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RpbWVzdGFtcC5jCkBAIC04NzMsNyArODczLDggQEAgdGlt ZXN0YW1wdHpfc2NhbGUoUEdfRlVOQ1RJT05fQVJHUykKIAogCXJlc3VsdCA9IHRpbWVzdGFtcDsK IAotCUFkanVzdFRpbWVzdGFtcEZvclR5cG1vZCgmcmVzdWx0LCB0eXBtb2QsIE5VTEwpOworCWlm ICghQWRqdXN0VGltZXN0YW1wRm9yVHlwbW9kKCZyZXN1bHQsIHR5cG1vZCwgZmNpbmZvLT5jb250 ZXh0KSkKKwkJUEdfUkVUVVJOX05VTEwoKTsKIAogCVBHX1JFVFVSTl9USU1FU1RBTVBUWihyZXN1 bHQpOwogfQpAQCAtNjQ5Miw4ICs2NDkzLDEzIEBAIERhdHVtCiB0aW1lc3RhbXB0el90aW1lc3Rh bXAoUEdfRlVOQ1RJT05fQVJHUykKIHsKIAlUaW1lc3RhbXBUeiB0aW1lc3RhbXAgPSBQR19HRVRB UkdfVElNRVNUQU1QVFooMCk7CisJVGltZXN0YW1wCXJlc3VsdDsKIAotCVBHX1JFVFVSTl9USU1F U1RBTVAodGltZXN0YW1wdHoydGltZXN0YW1wKHRpbWVzdGFtcCkpOworCXJlc3VsdCA9IHRpbWVz dGFtcHR6MnRpbWVzdGFtcF9zYWZlKHRpbWVzdGFtcCwgZmNpbmZvLT5jb250ZXh0KTsKKwlpZiAo dW5saWtlbHkoU09GVF9FUlJPUl9PQ0NVUlJFRChmY2luZm8tPmNvbnRleHQpKSkKKwkJUEdfUkVU VVJOX05VTEwoKTsKKworCVBHX1JFVFVSTl9USU1FU1RBTVAocmVzdWx0KTsKIH0KIAogLyoKLS0g CjIuMzQuMQoK --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0012-error-safe-for-casting-float8-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0012-error-safe-for-casting-float8-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nw22 RnJvbSA0YzJhNDMzNDNiNWJiY2ZhY2E3ZmFmM2U1ZTQ1ODgwM2ViMGI1NDczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMjIgTm92IDIwMjUgMDA6MzE6NTMgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAxMi8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBmbG9hdDggdG8gb3RoZXIgdHlwZXMgcGVy CiBwZ19jYXN0CgpzZWxlY3QgY2FzdHNvdXJjZTo6cmVndHlwZSwgY2FzdHRhcmdldDo6cmVndHlw ZSwgY2FzdGZ1bmMsCmNhc3Rjb250ZXh0LGNhc3RtZXRob2QsIHBwLnByb3NyYywgcHAucHJvbmFt ZSBmcm9tIHBnX2Nhc3QgcGMgam9pbiBwZ19wcm9jIHBwIG9uCnBwLm9pZCA9IHBjLmNhc3RmdW5j IGFuZCBwYy5jYXN0ZnVuYyA+IDAKYW5kIGNhc3Rzb3VyY2U6OnJlZ3R5cGUgPSAnZmxvYXQ4Jzo6 cmVndHlwZQpvcmRlciBieSBjYXN0c291cmNlOjpyZWd0eXBlOwoKICAgIGNhc3Rzb3VyY2UgICAg fCBjYXN0dGFyZ2V0IHwgY2FzdGZ1bmMgfCBjYXN0Y29udGV4dCB8IGNhc3RtZXRob2QgfCAgICAg cHJvc3JjICAgICB8IHByb25hbWUKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tCiBkb3VibGUgcHJlY2lzaW9uIHwgYmlnaW50ICAgICB8ICAgICAgNDgzIHwgYSAgICAgICAg ICAgfCBmICAgICAgICAgIHwgZHRvaTggICAgICAgICAgfCBpbnQ4CiBkb3VibGUgcHJlY2lzaW9u IHwgc21hbGxpbnQgICB8ICAgICAgMjM3IHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgZHRv aTIgICAgICAgICAgfCBpbnQyCiBkb3VibGUgcHJlY2lzaW9uIHwgaW50ZWdlciAgICB8ICAgICAg MzE3IHwgYSAgICAgICAgICAgfCBmICAgICAgICAgIHwgZHRvaTQgICAgICAgICAgfCBpbnQ0CiBk b3VibGUgcHJlY2lzaW9uIHwgcmVhbCAgICAgICB8ICAgICAgMzEyIHwgYSAgICAgICAgICAgfCBm ICAgICAgICAgIHwgZHRvZiAgICAgICAgICAgfCBmbG9hdDQKIGRvdWJsZSBwcmVjaXNpb24gfCBu dW1lcmljICAgIHwgICAgIDE3NDMgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCBmbG9hdDhf bnVtZXJpYyB8IG51bWVyaWMKKDUgcm93cykKCmRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVz L20vQ0FEa0xNPWZ2MUpmWTRVZmEtamN3d05ialFpeE5WaXNrUThqWnUzVHpfcDY1NmlfNGhRQG1h aWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zsb2F0LmMgICB8IDEzICsr KysrKysrKy0tLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMgICAgfCAgMiArLQogc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYyB8ICAzICsrLQogMyBmaWxlcyBjaGFuZ2VkLCAx MiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9mbG9hdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zsb2F0LmMKaW5kZXgg ZjY2MzNkZWQwOTIuLjk3OTI4MGUxNDc4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvZmxvYXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZmxvYXQuYwpAQCAtMTE5OSw5 ICsxMTk5LDE0IEBAIGR0b2YoUEdfRlVOQ1RJT05fQVJHUykKIAogCXJlc3VsdCA9IChmbG9hdDQp IG51bTsKIAlpZiAodW5saWtlbHkoaXNpbmYocmVzdWx0KSkgJiYgIWlzaW5mKG51bSkpCi0JCWZs b2F0X292ZXJmbG93X2Vycm9yKCk7CisJCWVyZXR1cm4oZmNpbmZvLT5jb250ZXh0LCAoRGF0dW0p IDAsCisJCQkJZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwKKwkJ CQllcnJtc2coInZhbHVlIG91dCBvZiByYW5nZTogb3ZlcmZsb3ciKSk7CisKIAlpZiAodW5saWtl bHkocmVzdWx0ID09IDAuMGYpICYmIG51bSAhPSAwLjApCi0JCWZsb2F0X3VuZGVyZmxvd19lcnJv cigpOworCQllcmV0dXJuKGZjaW5mby0+Y29udGV4dCwgKERhdHVtKSAwLAorCQkJCWVycmNvZGUo RVJSQ09ERV9OVU1FUklDX1ZBTFVFX09VVF9PRl9SQU5HRSksCisJCQkJZXJybXNnKCJ2YWx1ZSBv dXQgb2YgcmFuZ2U6IHVuZGVyZmxvdyIpKTsKIAogCVBHX1JFVFVSTl9GTE9BVDQocmVzdWx0KTsK IH0KQEAgLTEyMjQsNyArMTIyOSw3IEBAIGR0b2k0KFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAkvKiBS YW5nZSBjaGVjayAqLwogCWlmICh1bmxpa2VseShpc25hbihudW0pIHx8ICFGTE9BVDhfRklUU19J Tl9JTlQzMihudW0pKSkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihmY2luZm8tPmNvbnRl eHQsIChEYXR1bSkgMCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09G X1JBTkdFKSwKIAkJCQkgZXJybXNnKCJpbnRlZ2VyIG91dCBvZiByYW5nZSIpKSk7CiAKQEAgLTEy NDksNyArMTI1NCw3IEBAIGR0b2kyKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAkvKiBSYW5nZSBjaGVj ayAqLwogCWlmICh1bmxpa2VseShpc25hbihudW0pIHx8ICFGTE9BVDhfRklUU19JTl9JTlQxNihu dW0pKSkKLQkJZXJlcG9ydChFUlJPUiwKKwkJZXJldHVybihmY2luZm8tPmNvbnRleHQsIChEYXR1 bSkgMCwKIAkJCQkoZXJyY29kZShFUlJDT0RFX05VTUVSSUNfVkFMVUVfT1VUX09GX1JBTkdFKSwK IAkJCQkgZXJybXNnKCJzbWFsbGludCBvdXQgb2YgcmFuZ2UiKSkpOwogCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hZHQvaW50OC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDgu YwppbmRleCA4ZmQ1NTFiZDUyYi4uMTliYjMwZjJkMGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9pbnQ4LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDguYwpAQCAt MTMwNyw3ICsxMzA3LDcgQEAgZHRvaTgoUEdfRlVOQ1RJT05fQVJHUykKIAogCS8qIFJhbmdlIGNo ZWNrICovCiAJaWYgKHVubGlrZWx5KGlzbmFuKG51bSkgfHwgIUZMT0FUOF9GSVRTX0lOX0lOVDY0 KG51bSkpKQotCQllcmVwb3J0KEVSUk9SLAorCQllcmV0dXJuKGZjaW5mby0+Y29udGV4dCwgKERh dHVtKSAwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfTlVNRVJJQ19WQUxVRV9PVVRfT0ZfUkFOR0Up LAogCQkJCSBlcnJtc2coImJpZ2ludCBvdXQgb2YgcmFuZ2UiKSkpOwogCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hZHQvbnVtZXJpYy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251 bWVyaWMuYwppbmRleCA5MTYwNTMwMDdlYS4uNWMyZTEyZmU3OGUgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251 bWVyaWMuYwpAQCAtNDU1OSw3ICs0NTU5LDggQEAgZmxvYXQ4X251bWVyaWMoUEdfRlVOQ1RJT05f QVJHUykKIAlpbml0X3ZhcigmcmVzdWx0KTsKIAogCS8qIEFzc3VtZSB3ZSBuZWVkIG5vdCB3b3Jy eSBhYm91dCBsZWFkaW5nL3RyYWlsaW5nIHNwYWNlcyAqLwotCSh2b2lkKSBzZXRfdmFyX2Zyb21f c3RyKGJ1ZiwgYnVmLCAmcmVzdWx0LCAmZW5kcHRyLCBOVUxMKTsKKwlpZiAoIXNldF92YXJfZnJv bV9zdHIoYnVmLCBidWYsICZyZXN1bHQsICZlbmRwdHIsIGZjaW5mby0+Y29udGV4dCkpCisJCVBH X1JFVFVSTl9OVUxMKCk7CiAKIAlyZXMgPSBtYWtlX3Jlc3VsdCgmcmVzdWx0KTsKIAotLSAKMi4z NC4xCgo= --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0014-error-safe-for-casting-interval-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0014-error-safe-for-casting-interval-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5ns20 RnJvbSBjMjk2ZDVlMWY0ZTY3OWZhMDllODkyMzNlNjJlMTBlN2FlNTc5ZmM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTIgRGVjIDIwMjUgMTU6MDU6MjYgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx OSAxNC8yM10gZXJyb3Igc2FmZSBmb3IgY2FzdGluZyBpbnRlcnZhbCB0byBvdGhlciB0eXBlcyBw ZXIKIHBnX2Nhc3QKCnNlbGVjdCBjYXN0c291cmNlOjpyZWd0eXBlLCBjYXN0dGFyZ2V0OjpyZWd0 eXBlLCBjYXN0ZnVuYywKY2FzdGNvbnRleHQsY2FzdG1ldGhvZCwgcHAucHJvc3JjLCBwcC5wcm9u YW1lIGZyb20gcGdfY2FzdCBwYyBqb2luIHBnX3Byb2MgcHAgb24KcHAub2lkID0gcGMuY2FzdGZ1 bmMgYW5kIHBjLmNhc3RmdW5jID4gMAphbmQgY2FzdHNvdXJjZTo6cmVndHlwZSA9ICdpbnRlcnZh bCc6OnJlZ3R5cGUKb3JkZXIgYnkgY2FzdHNvdXJjZTo6cmVndHlwZTsKCiBjYXN0c291cmNlIHwg ICAgICAgY2FzdHRhcmdldCAgICAgICB8IGNhc3RmdW5jIHwgY2FzdGNvbnRleHQgfCBjYXN0bWV0 aG9kIHwgICAgIHByb3NyYyAgICAgfCBwcm9uYW1lCi0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0KIGludGVydmFsICAgfCB0aW1lIHdpdGhvdXQgdGltZSB6b25l IHwgICAgIDE0MTkgfCBhICAgICAgICAgICB8IGYgICAgICAgICAgfCBpbnRlcnZhbF90aW1lICB8 IHRpbWUKIGludGVydmFsICAgfCBpbnRlcnZhbCAgICAgICAgICAgICAgIHwgICAgIDEyMDAgfCBp ICAgICAgICAgICB8IGYgICAgICAgICAgfCBpbnRlcnZhbF9zY2FsZSB8IGludGVydmFsCigyIHJv d3MpCgpkaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBRGtMTT1mdjFKZlk0VWZhLWpj d3dOYmpRaXhOVmlza1E4alp1M1R6X3A2NTZpXzRoUUBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9i YWNrZW5kL3V0aWxzL2FkdC9kYXRlLmMgICAgICB8IDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC90aW1lc3RhbXAuYyB8IDMgKystCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2RhdGUuYwppbmRleCBlOGRjOGQyNzZiZi4uYmM0YzY3 Nzc1ZGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9kYXRlLmMKKysrIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L2RhdGUuYwpAQCAtMjEwNiw3ICsyMTA2LDcgQEAgaW50ZXJ2YWxf dGltZShQR19GVU5DVElPTl9BUkdTKQogCVRpbWVBRFQJCXJlc3VsdDsKIAogCWlmIChJTlRFUlZB TF9OT1RfRklOSVRFKHNwYW4pKQotCQllcmVwb3J0KEVSUk9SLAorCQllcmV0dXJuKGZjaW5mby0+ Y29udGV4dCwgKERhdHVtKSAwLAogCQkJCShlcnJjb2RlKEVSUkNPREVfREFURVRJTUVfVkFMVUVf T1VUX09GX1JBTkdFKSwKIAkJCQkgZXJybXNnKCJjYW5ub3QgY29udmVydCBpbmZpbml0ZSBpbnRl cnZhbCB0byB0aW1lIikpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Rp bWVzdGFtcC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RpbWVzdGFtcC5jCmluZGV4IDZmOGNm MjljOTEwLi44Y2Q5N2NjYTkyNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Rp bWVzdGFtcC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90aW1lc3RhbXAuYwpAQCAtMTMz Miw3ICsxMzMyLDggQEAgaW50ZXJ2YWxfc2NhbGUoUEdfRlVOQ1RJT05fQVJHUykKIAlyZXN1bHQg PSBwYWxsb2Nfb2JqZWN0KEludGVydmFsKTsKIAkqcmVzdWx0ID0gKmludGVydmFsOwogCi0JQWRq dXN0SW50ZXJ2YWxGb3JUeXBtb2QocmVzdWx0LCB0eXBtb2QsIE5VTEwpOworCWlmICghQWRqdXN0 SW50ZXJ2YWxGb3JUeXBtb2QocmVzdWx0LCB0eXBtb2QsIGZjaW5mby0+Y29udGV4dCkpCisJCVBH X1JFVFVSTl9OVUxMKCk7CiAKIAlQR19SRVRVUk5fSU5URVJWQUxfUChyZXN1bHQpOwogfQotLSAK Mi4zNC4xCgo= --0000000000008762c5064cdd66ca Content-Type: text/x-patch; charset="US-ASCII"; name="v19-0013-error-safe-for-casting-date-to-other-types-per-pg_cast.patch" Content-Disposition: attachment; filename="v19-0013-error-safe-for-casting-date-to-other-types-per-pg_cast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmo6w5nu21 RnJvbSAzZGI4ZTM4YjU4MTI0OWJmY2VlZjMwNGFhMjk5OWI1ZDZmNmVkMDZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMiBEZWMgMjAyNSAxMzoxNTozMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjE5 IDEzLzIzXSBlcnJvciBzYWZlIGZvciBjYXN0aW5nIGRhdGUgdG8gb3RoZXIgdHlwZXMgcGVyCiBw Z19jYXN0CgpzZWxlY3QgY2FzdHNvdXJjZTo6cmVndHlwZSwgY2FzdHRhcmdldDo6cmVndHlwZSwg Y2FzdGZ1bmMsCmNhc3Rjb250ZXh0LGNhc3RtZXRob2QsIHBwLnByb3NyYywgcHAucHJvbmFtZSBm cm9tIHBnX2Nhc3QgcGMgam9pbiBwZ19wcm9jIHBwIG9uCnBwLm9pZCA9IHBjLmNhc3RmdW5jIGFu ZCBwYy5jYXN0ZnVuYyA+IDAKYW5kIGNhc3Rzb3VyY2U6OnJlZ3R5cGUgPSAnZGF0ZSc6OnJlZ3R5 cGUKb3JkZXIgYnkgY2FzdHNvdXJjZTo6cmVndHlwZTsKCmNhc3Rzb3VyY2UgfCAgICAgICAgIGNh c3R0YXJnZXQgICAgICAgICAgfCBjYXN0ZnVuYyB8IGNhc3Rjb250ZXh0IHwgY2FzdG1ldGhvZCB8 ICAgICAgcHJvc3JjICAgICAgfCAgIHByb25hbWUKLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KIGRhdGUgICAgICAgfCB0aW1lc3RhbXAgd2l0 aG91dCB0aW1lIHpvbmUgfCAgICAgMjAyNCB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGRh dGVfdGltZXN0YW1wICAgfCB0aW1lc3RhbXAKIGRhdGUgICAgICAgfCB0aW1lc3RhbXAgd2l0aCB0 aW1lIHpvbmUgICAgfCAgICAgMTE3NCB8IGkgICAgICAgICAgIHwgZiAgICAgICAgICB8IGRhdGVf dGltZXN0YW1wdHogfCB0aW1lc3RhbXB0egooMiByb3dzKQoKZGlzY3Vzc2lvbjogaHR0cHM6Ly9w b3N0Z3IuZXMvbS9DQURrTE09ZnYxSmZZNFVmYS1qY3d3TmJqUWl4TlZpc2tROGpadTNUel9wNjU2 aV80aFFAbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5jIHwg MTcgKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9kYXRlLmMg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5jCmluZGV4IDYyMWI5MTc1YzEyLi5lOGRjOGQy NzZiZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2RhdGUuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9hZHQvZGF0ZS5jCkBAIC03MzAsMTUgKzczMCw2IEBAIGRhdGUydGltZXN0 YW1wdHpfc2FmZShEYXRlQURUIGRhdGVWYWwsIE5vZGUgKmVzY29udGV4dCkKIAlyZXR1cm4gcmVz dWx0OwogfQogCi0vKgotICogUHJvbW90ZSBkYXRlIHRvIHRpbWVzdGFtcHR6LCB0aHJvd2luZyBl cnJvciBmb3Igb3ZlcmZsb3cuCi0gKi8KLXN0YXRpYyBUaW1lc3RhbXBUegotZGF0ZTJ0aW1lc3Rh bXB0eihEYXRlQURUIGRhdGVWYWwpCi17Ci0JcmV0dXJuIGRhdGUydGltZXN0YW1wdHpfc2FmZShk YXRlVmFsLCBOVUxMKTsKLX0KLQogLyoKICAqIGRhdGUydGltZXN0YW1wX25vX292ZXJmbG93CiAg KgpAQCAtMTMyMyw3ICsxMzE0LDkgQEAgZGF0ZV90aW1lc3RhbXAoUEdfRlVOQ1RJT05fQVJHUykK IAlEYXRlQURUCQlkYXRlVmFsID0gUEdfR0VUQVJHX0RBVEVBRFQoMCk7CiAJVGltZXN0YW1wCXJl c3VsdDsKIAotCXJlc3VsdCA9IGRhdGUydGltZXN0YW1wKGRhdGVWYWwpOworCXJlc3VsdCA9IGRh dGUydGltZXN0YW1wX3NhZmUoZGF0ZVZhbCwgZmNpbmZvLT5jb250ZXh0KTsKKwlpZihTT0ZUX0VS Uk9SX09DQ1VSUkVEKGZjaW5mby0+Y29udGV4dCkpCisJCVBHX1JFVFVSTl9OVUxMKCk7CiAKIAlQ R19SRVRVUk5fVElNRVNUQU1QKHJlc3VsdCk7CiB9CkBAIC0xMzk2LDcgKzEzODksOSBAQCBkYXRl X3RpbWVzdGFtcHR6KFBHX0ZVTkNUSU9OX0FSR1MpCiAJRGF0ZUFEVAkJZGF0ZVZhbCA9IFBHX0dF VEFSR19EQVRFQURUKDApOwogCVRpbWVzdGFtcFR6IHJlc3VsdDsKIAotCXJlc3VsdCA9IGRhdGUy dGltZXN0YW1wdHooZGF0ZVZhbCk7CisJcmVzdWx0ID0gZGF0ZTJ0aW1lc3RhbXB0el9zYWZlKGRh dGVWYWwsIGZjaW5mby0+Y29udGV4dCk7CisJaWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoZmNpbmZv LT5jb250ZXh0KSkKKwkJUEdfUkVUVVJOX05VTEwoKTsKIAogCVBHX1JFVFVSTl9USU1FU1RBTVAo cmVzdWx0KTsKIH0KLS0gCjIuMzQuMQoK --0000000000008762c5064cdd66ca--