<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>206253</bug_id>
          
          <creation_ts>2020-01-14 12:39:47 -0800</creation_ts>
          <short_desc>AX: Support ARIA 1.3 property aria-description</short_desc>
          <delta_ts>2022-08-06 15:32:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>Safari 12</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aaron Leventhal">aleventhal</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>charlie.croom</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>robert.vuj.linder</cc>
    
    <cc>samuel_white</cc>
    
    <cc>thomas_mchugh</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1606539</commentid>
    <comment_count>0</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2020-01-14 12:39:47 -0800</bug_when>
    <thetext>The new ARIA 1.3 (still in draft) aria-description property can be used to provide a flat string description.
It&apos;s implemented in Chrome 81, currently behind a flag:
--enable-features=AccessibilityExposeARIAAnnotations

References:
ARIA spec issue: https://github.com/w3c/aria/issues/891
ARIA spec pull request: https://github.com/w3c/aria/pull/1137
Chrome issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1006767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606540</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-14 12:39:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/58577548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607443</commentid>
    <comment_count>2</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2020-01-16 06:33:40 -0800</bug_when>
    <thetext>aria-description has now landed in ARIA 1.3 master branch (draft)
https://w3c.github.io/aria/#aria-description</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785593</commentid>
    <comment_count>3</comment_count>
      <attachid>435909</attachid>
    <who name="Tommy McHugh">thomas_mchugh</who>
    <bug_when>2021-08-19 15:19:44 -0700</bug_when>
    <thetext>Created attachment 435909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785595</commentid>
    <comment_count>4</comment_count>
      <attachid>435909</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-19 15:23:51 -0700</bug_when>
    <thetext>Comment on attachment 435909
Patch

I don&apos;t think aria-description is an approved attribute for ARIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785598</commentid>
    <comment_count>5</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-19 15:26:56 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #4)
&gt; Comment on attachment 435909 [details]
&gt; Patch
&gt; 
&gt; I don&apos;t think aria-description is an approved attribute for ARIA

I think it might have been removed from 1.2

https://www.w3.org/TR/wai-aria-1.2/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785601</commentid>
    <comment_count>6</comment_count>
    <who name="Tommy McHugh">thomas_mchugh</who>
    <bug_when>2021-08-19 15:33:59 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #5)
&gt; (In reply to chris fleizach from comment #4)
&gt; &gt; Comment on attachment 435909 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I don&apos;t think aria-description is an approved attribute for ARIA
&gt; 
&gt; I think it might have been removed from 1.2
&gt; 
&gt; https://www.w3.org/TR/wai-aria-1.2/

Ah, you&apos;re right, my bad. It&apos;s part of 1.3, which I don&apos;t believe is standardized yet. The title misled me :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785763</commentid>
    <comment_count>7</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2021-08-20 02:58:56 -0700</bug_when>
    <thetext>FWIW, we (the ARIA WG) don&apos;t anticipate it being removed from the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785888</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-08-20 10:11:42 -0700</bug_when>
    <thetext>(In reply to Joanmarie Diggs (irc: joanie) from comment #7)
&gt; FWIW, we (the ARIA WG) don&apos;t anticipate it being removed from the spec.

@James - should we add this now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794467</commentid>
    <comment_count>9</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2021-09-17 09:33:17 -0700</bug_when>
    <thetext>Here&apos;s my argument for using AXHelp:

It&apos;s the parallel of aria-label, e.g. you *could* use aria-labelledby on hidden content to generate a name, but aria-label is just easier.
In this case, aria-description is the shorter way of using aria-describedby with hidden content.

It would be weird if these created different results:
&lt;textarea aria-describedby=&quot;hidden-description&quot;&gt;&lt;/textarea&gt;
&lt;div style=&quot;display: none&quot; id=&quot;hidden-description&quot;&gt;My descriptions&lt;/div&gt;
vs.
&lt;textarea aria-descriptjon=&quot;My description&quot;&gt;&lt;/textarea&gt;

Looking at the WebKit tests, it looks like aria-describedby maps to AXHelp, e.g. in this expectations file. See https://github.com/WebKit/WebKit/blob/8afe31a018b11741abdf9b4d5bb973d7c1d9ff05/LayoutTests/accessibility/mac/aria-describedby-fieldset-expected.txt

Thanks for any feedback on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818947</commentid>
    <comment_count>10</comment_count>
    <who name="Charlie Croom">charlie.croom</who>
    <bug_when>2021-11-30 14:21:42 -0800</bug_when>
    <thetext>Hi! My friendly bump from Twitter that we think this would be a great and quick way to make accessibility easier to support and implement and could push the web forward. Firefox + Chromium have supported this for quite some time now, and given it&apos;s unlikely to be removed according to the comment above. This brings real benefits to devs and users!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822843</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-12-10 11:35:45 -0800</bug_when>
    <thetext>(In reply to Charlie Croom from comment #10)
&gt; Hi! My friendly bump from Twitter that we think this would be a great and
&gt; quick way to make accessibility easier to support and implement and could
&gt; push the web forward. Firefox + Chromium have supported this for quite some
&gt; time now, and given it&apos;s unlikely to be removed according to the comment
&gt; above. This brings real benefits to devs and users!

FYI we&apos;re thinking we can put this in AXCustomContent, so it doesn&apos;t conflict with existing help attributes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822849</commentid>
    <comment_count>12</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2021-12-10 11:41:32 -0800</bug_when>
    <thetext>Thanks for the update.

From an authoring/user POV, will it act differently than when you use aria-describedby to point to a hidden div? If so, that would be weird. It would be like aria-label working differently than aria-labelledby pointing to a hidden div.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822942</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-12-10 13:29:32 -0800</bug_when>
    <thetext>(In reply to Aaron Leventhal from comment #12)
&gt; Thanks for the update.
&gt; 
&gt; From an authoring/user POV, will it act differently than when you use
&gt; aria-describedby to point to a hidden div? If so, that would be weird. It
&gt; would be like aria-label working differently than aria-labelledby pointing
&gt; to a hidden div.

Right now described-by is jammed into the help text. I don&apos;t know if that&apos;s the right place for it, now that we have the AXCustomContent paradigm. So I think a change for this property would also change aria-describedby</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822968</commentid>
    <comment_count>14</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2021-12-10 14:15:50 -0800</bug_when>
    <thetext>That makes sense, as long as it&apos;s the same as aria-describedby.

What versions of VoiceOver will work with AXCustomContent? I mean, if we change Chrome to using that for aria-describedby, will we break existing content?
Would we need to check the OS version before deciding how to expose it?

Thanks again for the dialogue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822975</commentid>
    <comment_count>15</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-12-10 14:19:11 -0800</bug_when>
    <thetext>(In reply to Aaron Leventhal from comment #14)
&gt; That makes sense, as long as it&apos;s the same as aria-describedby.
&gt; 
&gt; What versions of VoiceOver will work with AXCustomContent? I mean, if we
&gt; change Chrome to using that for aria-describedby, will we break existing
&gt; content?
&gt; Would we need to check the OS version before deciding how to expose it?
&gt; 

iOS 14 and macOS 11 should support AXCustomContent

&gt; Thanks again for the dialogue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822986</commentid>
    <comment_count>16</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2021-12-10 14:36:19 -0800</bug_when>
    <thetext>MacOS 11+ should probably be enough.
Blink doesn&apos;t run on iOS, Chrome uses WebKit there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823507</commentid>
    <comment_count>17</comment_count>
    <who name="Aaron Leventhal">aleventhal</who>
    <bug_when>2021-12-13 06:21:00 -0800</bug_when>
    <thetext>Chris, does the strategy in comment 15 mean that we should expose aria-description/describedby as AXCustomContent when MacOS version &gt;= 11, otherwise expose as AXHelp, for backward compatibility?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823911</commentid>
    <comment_count>18</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2021-12-13 23:10:19 -0800</bug_when>
    <thetext>(In reply to Aaron Leventhal from comment #17)
&gt; Chris, does the strategy in comment 15 mean that we should expose
&gt; aria-description/describedby as AXCustomContent when MacOS version &gt;= 11,
&gt; otherwise expose as AXHelp, for backward compatibility?

Yes that&apos;s the plan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1870687</commentid>
    <comment_count>19</comment_count>
    <who name="RobLi">robert.vuj.linder</who>
    <bug_when>2022-05-20 05:40:44 -0700</bug_when>
    <thetext>This is supported in most popular browsers and screen readers by now: https://a11ysupport.io/tech/aria/aria-description_attribute#support-table-0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1887022</commentid>
    <comment_count>20</comment_count>
      <attachid>461239</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-07-27 01:14:58 -0700</bug_when>
    <thetext>Created attachment 461239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1887044</commentid>
    <comment_count>21</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-07-27 06:48:25 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #20)
&gt; Created attachment 461239 [details]
&gt; Patch

--- a/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
+++ a/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
@@ -1804,6 +1811,7 @@
                 DD20DE4527BC90D80093D175 /* PopupMenu.h in Headers */,
                 E34F26F62846D0D90076E549 /* PowerLogSPI.h in Headers */,
                 DD20DE0427BC90D80093D175 /* pthreadSPI.h in Headers */,
+                5CB898B2286274FA00CA3485 /* QuarantineSPI.h in Headers */,
                 DD20DE0527BC90D80093D175 /* QuartzCoreSPI.h in Headers */,
                 DD20DE3F27BC90D80093D175 /* QuickLookMacSPI.h in Headers */,
                 DD20DDC127BC90D70093D175 /* QuickLookSoftLink.h in Headers */,
@@ -1991,7 +1999,6 @@
                 DD20DDAE27BC90D70093D175 /* WebGPUTextureAspect.h in Headers */,
                 DD20DDAF27BC90D70093D175 /* WebGPUTextureBindingLayout.h in Headers */,
                 DD20DDB027BC90D70093D175 /* WebGPUTextureDescriptor.h in Headers */,
-                5CB898B2286274FA00CA3485 /* QuarantineSPI.h in Headers */,
                 DD20DDB127BC90D70093D175 /* WebGPUTextureDimension.h in Headers */,
                 DD20DDB227BC90D70093D175 /* WebGPUTextureFormat.h in Headers */,
                 DD20DD3E27BC90D60093D175 /* WebGPUTextureImpl.h in Headers */,

Artifact from editing the proj file?

--- a/Source/WebCore/PAL/pal/cocoa/AccessibilitySoftLink.mm
+++ a/Source/WebCore/PAL/pal/cocoa/AccessibilitySoftLink.mm

+/*
+ * Copyright (C) 2019 Apple Inc. All rights reserved.

Shouldn&apos;t it be 2022 for a new file?

--- a/Source/WebCore/accessibility/AccessibilityObjectInterface.h
+++ a/Source/WebCore/accessibility/AccessibilityObjectInterface.h

+    virtual String ariaDescription() const = 0;

Name it just description(). In the interface we already have accessibilityDescription(), descriptionAttributeValue()... can we consolidate all of this in a single description() method?

After looking at the rest of the change, perhaps we can call this customContent()?

--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
+++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp

+    if (object.ariaDescription().length())
+        setProperty(AXPropertyName::ARIADescription, object.ariaDescription());

object.ariaDescription().isolatedCopy()

Also I would call it only once by keeping it in a temp var, in case it grows into a non-trivial call, it is not an inline already.

Eventually we want to move the check for the 0 length into the setProperty itself, but that would do for now.

--- a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
+++ a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm

+#if HAVE(ACCESSIBILITY_FRAMEWORK)
+- (NSArray&lt;AXCustomContent *&gt; *)accessibilityCustomContent
+{
+    [self baseUpdateBackingStore];

auto* backingObject = [self baseUpdateBackingStore];
if (!backingObject)
    return nil;

+    NSMutableArray&lt;AXCustomContent *&gt; *accessibilityCustomContent = nil;
+    auto ariaDescription = self.axBackingObject-&gt;ariaDescription();

auto ariaDescription = backingObject-&gt;ariaDescription();

--- a/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
+++ a/Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl

+    DOMString customContent();

readonly attribute DOMString customContent();

--- a/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
+++ a/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm

+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::customContent() const
+{
+#if HAVE(ACCESSIBILITY_FRAMEWORK)
+    RetainPtr&lt;NSMutableArray&gt; customContent = adoptNS([[NSMutableArray alloc] init]);
+    s_controller-&gt;executeOnAXThreadAndWait([&amp;customContent, this] {

We are not doing AX thread on iOS.

--- a/LayoutTests/accessibility/aria-description.html
+++ a/LayoutTests/accessibility/aria-description.html

+&lt;script src=&quot;../resources/accessibility-helper.js&quot;&gt;&lt;/script&gt;

Don&apos;t need this, since not using any of that.

+        const slider = accessibilityController.accessibleElementById(&quot;button&quot;);

slider -&gt; button</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1887285</commentid>
    <comment_count>22</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-07-27 23:56:21 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #21)
&gt; (In reply to chris fleizach from comment #20)
&gt; &gt; Created attachment 461239 [details]
&gt; &gt; Patch
&gt; 
&gt; Artifact from editing the proj file?

Yes I&apos;ve learned to just let Xcode do what it wants to do

&gt; Name it just description(). In the interface we already have
&gt; accessibilityDescription(), descriptionAttributeValue()... can we
&gt; consolidate all of this in a single description() method?
&gt; 
&gt; After looking at the rest of the change, perhaps we can call this
&gt; customContent()?

The way that I saw this is that the core web provides an attribute called aria-description. Each platform is going to decide how to expose that differently. on Mac/iOS we&apos;re able to use this existing, generic API, (custom content). But on GTK they might want to do something else.

So description() seemed too generic (it&apos;s also conflated with AXDescription which is in heavy use on the Mac). But customContent() is too specific.

ariaDescription() is the most accurate for what it does, but open to other ideas

Rest of comments make sense</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1887319</commentid>
    <comment_count>23</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-07-28 07:20:46 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #22)
&gt; (In reply to Andres Gonzalez from comment #21)
&gt; &gt; (In reply to chris fleizach from comment #20)
&gt; &gt; &gt; Created attachment 461239 [details]
&gt; &gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Artifact from editing the proj file?
&gt; 
&gt; Yes I&apos;ve learned to just let Xcode do what it wants to do
&gt; 
&gt; &gt; Name it just description(). In the interface we already have
&gt; &gt; accessibilityDescription(), descriptionAttributeValue()... can we
&gt; &gt; consolidate all of this in a single description() method?
&gt; &gt; 
&gt; &gt; After looking at the rest of the change, perhaps we can call this
&gt; &gt; customContent()?
&gt; 
&gt; The way that I saw this is that the core web provides an attribute called
&gt; aria-description. Each platform is going to decide how to expose that
&gt; differently. on Mac/iOS we&apos;re able to use this existing, generic API,
&gt; (custom content). But on GTK they might want to do something else.
&gt; 
&gt; So description() seemed too generic (it&apos;s also conflated with AXDescription
&gt; which is in heavy use on the Mac). But customContent() is too specific.
&gt; 
&gt; ariaDescription() is the most accurate for what it does, but open to other
&gt; ideas

All what it does is getAttribute(aria_descriptionAttr), so if we want platform wrapper code to be able to retrieve HTmL attributes directly, we would be better off moving getAttribute back to the AXCoreObject interface. That way we don&apos;t pollute the core object interface with a method for each HTML attribute that we want to provide direct access to. We can go ahead with this change now though, and we can rework that later. 

In a more general comment, I would hope that we can abstract the AX API enough that we don&apos;t need to expose the underlying HTML attributes too often. Not clear why, for instance, we need to expose this particular HTML attribute separate from all the properties we already have to describe an element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888318</commentid>
    <comment_count>24</comment_count>
      <attachid>461351</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-01 23:24:31 -0700</bug_when>
    <thetext>Created attachment 461351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888456</commentid>
    <comment_count>25</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-08-02 11:27:40 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #24)
&gt; Created attachment 461351 [details]
&gt; Patch

--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
+++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
@@ -397,6 +397,10 @@ void AXIsolatedObject::initializeProperties(Ref&lt;AXCoreObject&gt; coreObject, IsRoot

+    auto extendedDescription = object.extendedDescription().isolatedCopy();
+    if (extendedDescription.length())
+        setProperty(AXPropertyName::ExtendedDescription, extendedDescription);

I would make the isolatedCopy in the call to setProperty().

--- a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
+++ a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm

+- (NSArray&lt;AXCustomContent *&gt; *)accessibilityCustomContent
+{
+    auto* backingObject = [self baseUpdateBackingStore];
+    if (!backingObject)
+        return nil;
+
+    NSMutableArray&lt;AXCustomContent *&gt; *accessibilityCustomContent = nil;
+    auto extendedDescription = backingObject-&gt;extendedDescription();
+    if (extendedDescription.length()) {
+        if (!accessibilityCustomContent)

This check is unnecessary, it will be nil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888576</commentid>
    <comment_count>26</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-02 22:41:21 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #25)
&gt; (In reply to chris fleizach from comment #24)
&gt; &gt; Created attachment 461351 [details]
&gt; &gt; Patch
&gt; 
&gt; --- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
&gt; +++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
&gt; @@ -397,6 +397,10 @@ void
&gt; AXIsolatedObject::initializeProperties(Ref&lt;AXCoreObject&gt; coreObject, IsRoot
&gt; 
&gt; +    auto extendedDescription = object.extendedDescription().isolatedCopy();
&gt; +    if (extendedDescription.length())
&gt; +        setProperty(AXPropertyName::ExtendedDescription,
&gt; extendedDescription);
&gt; 
&gt; I would make the isolatedCopy in the call to setProperty().
&gt; 
&gt; --- a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
&gt; +++ a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperBase.mm
&gt; 
&gt; +- (NSArray&lt;AXCustomContent *&gt; *)accessibilityCustomContent
&gt; +{
&gt; +    auto* backingObject = [self baseUpdateBackingStore];
&gt; +    if (!backingObject)
&gt; +        return nil;
&gt; +
&gt; +    NSMutableArray&lt;AXCustomContent *&gt; *accessibilityCustomContent = nil;
&gt; +    auto extendedDescription = backingObject-&gt;extendedDescription();
&gt; +    if (extendedDescription.length()) {
&gt; +        if (!accessibilityCustomContent)
&gt; 
&gt; This check is unnecessary, it will be nil.

Thanks, will fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888577</commentid>
    <comment_count>27</comment_count>
      <attachid>461371</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-02 22:42:05 -0700</bug_when>
    <thetext>Created attachment 461371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888806</commentid>
    <comment_count>28</comment_count>
      <attachid>461393</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-03 23:47:41 -0700</bug_when>
    <thetext>Created attachment 461393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888810</commentid>
    <comment_count>29</comment_count>
      <attachid>461395</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-04 00:40:01 -0700</bug_when>
    <thetext>Created attachment 461395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1888917</commentid>
    <comment_count>30</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-04 11:40:58 -0700</bug_when>
    <thetext>iOS-wk2 failure

Thread 0 Crashed::   Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                          	       0x1a834448a objc_msgSend + 10
1   com.apple.WebKitTestRunner.InjectedBundle	       0x1e1c06c9c WTR::AccessibilityUIElement::customContent() const
2   com.apple.WebKitTestRunner.InjectedBundle	       0x1e1c25d2c WTR::JSAccessibilityUIElement::customContent(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSString*, OpaqueJSValue const**)
3   com.apple.JavaScriptCore                 	       0x1b4c44de2 JSC::JSCallbackObject&lt;JSC::JSNonFinalObject&gt;::getStaticValue(JSC::JSGlobalObject*, JSC::PropertyName)
4   com.apple.JavaScriptCore                 	       0x1b4c3c97a JSC::JSCallbackObject&lt;JSC::JSNonFinalObject&gt;::getOwnPropertySlot(JSC::JSObject*, JSC::JSGlobalObject*, JSC::PropertyName, JSC::PropertySlot&amp;)
5   com.apple.JavaScriptCore                 	       0x1b5451d7e JSC::LLInt::performLLIntGetByID(JSC::BytecodeIndex, JSC::CodeBlock*, JSC::JSGlobalObject*, JSC::JSValue, JSC::Identifier const&amp;, JSC::GetByIdModeMetadata&amp;)
6   com.apple.JavaScriptCore                 	       0x1b5451150 llint_slow_path_get_by_id
7   com.apple.JavaScriptCore                 	       0x1b490bc46 llint_entry
8   com.apple.JavaScriptCore                 	       0x1b49017f8 vmEntryToJavaScript</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889321</commentid>
    <comment_count>31</comment_count>
      <attachid>461435</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-08-05 22:54:10 -0700</bug_when>
    <thetext>Created attachment 461435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889422</commentid>
    <comment_count>32</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-06 15:32:26 -0700</bug_when>
    <thetext>Committed 253184@main (7c414e7250fb): &lt;https://commits.webkit.org/253184@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 461435.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435909</attachid>
            <date>2021-08-19 15:19:44 -0700</date>
            <delta_ts>2022-07-27 01:14:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20210819171943.patch</filename>
            <type>text/plain</type>
            <size>10873</size>
            <attacher name="Tommy McHugh">thomas_mchugh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ2MDI2Mjk3Nzg1Njg1
YTE1ZGI4YTUwOTViNWMxY2JlZTk0NDE5Mi4uNThmMjVmYTE5ODFkNTQ2MzkzOTYxMWVlNGEzN2Q1
NWI0MzljM2VkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA4LTE5ICBUb21t
eSBNY0h1Z2ggIDx0aG9tYXNfbWNodWdoQGFwcGxlLmNvbT4KKworICAgICAgICBBWDogSW1wbGVt
ZW50IGFyaWEtZGVzY3JpcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNjI1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg1Nzc1NDg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogYWNj
ZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLW9uLWlucHV0Lmh0bWwKKworICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmhlbHBUZXh0IGNvbnN0KToKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBQXR0cmlidXRlcyBjb25zdCk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAg
ICAgICogaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CisKIDIwMjEtMDgtMTkgIEFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIHN1cHBvcnQg
Zm9yIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDI3MGJiZDlk
OGNhOGU0NWY0NzhjNDJhYzNmYTBmOGNlNWJkODI1MWQuLjU1YzM5YWNhMDNlYWUzMTQ5ZDhkNzUy
MWE4NTVkYzM3NTU1NzI5MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC0xNTMxLDYgKzE1MzEsMTEg
QEAgdm9pZCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aGVscFRleHQoVmVjdG9yPEFjY2Vzc2li
aWxpdHlUZXh0PiYgdGV4dE9yZGVyKSBjb24KICAgICAgICAgfTsKICAgICAgICAgaWYgKGNvbnN0
IGF1dG8qIHBhcmVudCA9IEFjY2Vzc2liaWxpdHk6OmZpbmRBbmNlc3RvcjxBY2Nlc3NpYmlsaXR5
T2JqZWN0PigqdGhpcywgZmFsc2UsIFdURk1vdmUobWF0Y2hGdW5jKSkpCiAgICAgICAgICAgICB0
ZXh0T3JkZXIuYXBwZW5kKEFjY2Vzc2liaWxpdHlUZXh0KHBhcmVudC0+YXJpYURlc2NyaWJlZEJ5
QXR0cmlidXRlKCksIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpTdW1tYXJ5KSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgLy8gYXJpYS1kZXNjcmliZWRieSBoYXMgcHJlY2VkZW5jZSBvdmVyIGFy
aWEtZGVzY3JpcHRpb24uCisgICAgICAgIFN0cmluZyBhcmlhRGVzY3JpcHRpb25WYWx1ZSA9IGFy
aWFEZXNjcmlwdGlvbigpOworICAgICAgICBpZiAoIWFyaWFEZXNjcmlwdGlvblZhbHVlLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIHRleHRPcmRlci5hcHBlbmQoQWNjZXNzaWJpbGl0eVRleHQoYXJp
YURlc2NyaXB0aW9uVmFsdWUsIEFjY2Vzc2liaWxpdHlUZXh0U291cmNlOjpTdW1tYXJ5KSk7CiAg
ICAgfQogCiAgICAgLy8gU3VtbWFyeSBhdHRyaWJ1dGUgdXNlZCBhcyBoZWxwIHRleHQgb24gdGFi
bGVzLgpAQCAtMTY5Myw2ICsxNjk4LDEwIEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dDo6aGVscFRleHQoKSBjb25zdAogICAgIGlmICghZGVzY3JpYmVkQnkuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gZGVzY3JpYmVkQnk7CiAgICAgCisgICAgU3RyaW5nIGFyaWFEZXNjcmlwdGlv
blZhbHVlID0gYXJpYURlc2NyaXB0aW9uKCk7CisgICAgaWYgKCFhcmlhRGVzY3JpcHRpb25WYWx1
ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBhcmlhRGVzY3JpcHRpb25WYWx1ZTsKKyAgICAK
ICAgICBTdHJpbmcgZGVzY3JpcHRpb24gPSBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKTsKICAg
ICBmb3IgKE5vZGUqIGFuY2VzdG9yID0gbm9kZTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0
b3ItPnBhcmVudE5vZGUoKSkgewogICAgICAgICBpZiAoaXM8SFRNTEVsZW1lbnQ+KCphbmNlc3Rv
cikpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCmluZGV4IDhiNDEzNDcwMTRhOTlmOGM2OWM2NWQyNjU2NzBjYjc2ZTNlNDEw
OGQuLmIwYzUzN2NlMTQyYWE0NmQ2NzkxZTM0OWMzNDljNTkwN2VlMGRhYTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApA
QCAtMjQ4NSw2ICsyNDg1LDcgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzdXBwb3J0c0FS
SUFBdHRyaWJ1dGVzKCkgY29uc3QKICAgICAgICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfY29udHJv
bHNBdHRyKQogICAgICAgICB8fCBoYXNBdHRyaWJ1dGUoYXJpYV9jdXJyZW50QXR0cikKICAgICAg
ICAgfHwgaGFzQXR0cmlidXRlKGFyaWFfZGVzY3JpYmVkYnlBdHRyKQorICAgICAgICB8fCBoYXNB
dHRyaWJ1dGUoYXJpYV9kZXNjcmlwdGlvbkF0dHIpCiAgICAgICAgIHx8IGhhc0F0dHJpYnV0ZShh
cmlhX2RldGFpbHNBdHRyKQogICAgICAgICB8fCBoYXNBdHRyaWJ1dGUoYXJpYV9kaXNhYmxlZEF0
dHIpCiAgICAgICAgIHx8IGhhc0F0dHJpYnV0ZShhcmlhX2Vycm9ybWVzc2FnZUF0dHIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmlu
ZGV4IGI4YTFmZDdkNTQzNDU1OGY5ZTdjMjIxMjM2MzEzZDE2YWNmYTM0NWYuLjU1NGUzOGU4ZDIy
NGU1ZjY5YzE3OTY2Yjk3OGRjZjNkMTc2ZmY5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC00MDEsNiArNDAxLDcgQEAg
cHVibGljOgogICAgIFN0cmluZyBicmFpbGxlUm9sZURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6YXJpYV9icmFpbGxlcm9sZWRlc2Ny
aXB0aW9uQXR0cik7IH0KICAgICBTdHJpbmcgZW1iZWRkZWRJbWFnZURlc2NyaXB0aW9uKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjpvcHRpb25hbDxBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0
b3I+IGltYWdlT3ZlcmxheUVsZW1lbnRzKCkgb3ZlcnJpZGUgeyByZXR1cm4gc3RkOjpudWxsb3B0
OyB9CisgICAgU3RyaW5nIGFyaWFEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFyaWFfZGVzY3JpcHRpb25BdHRyKTsgfQogCiAgICAg
Ly8gQWJicmV2aWF0aW9ucwogICAgIFN0cmluZyBleHBhbmRlZFRleHRWYWx1ZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIFN0cmluZygpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCmluZGV4IDE4
YWU2OTU1ODNkOWQ4NGNmYTQzNjJkNGVhOWFlOWE3YjhjZDJlZDQuLjVlN2UxZmM1OTQ1YTdlMjI2
MmM4ZmRlYmU1N2M2MTIwZTE5M2FhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC0xMDE5
LDYgKzEwMTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgYnJhaWxsZVJvbGVEZXNj
cmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBlbWJlZGRlZEltYWdlRGVz
Y3JpcHRpb24oKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSA9IDA7CisgICAgdmly
dHVhbCBTdHJpbmcgYXJpYURlc2NyaXB0aW9uKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBi
b29sIHN1cHBvcnRzQVJJQU93bnMoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWN0
aXZlRGVzY2VuZGFudE9mRm9jdXNlZENvbnRhaW5lcigpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZE9iamVjdC5jcHAKaW5kZXggYjcwYWRiYTY0OGVkYjcyM2U0M2YxNjA3MmVmZTRhNzFkNzg1
NzljMi4uYTVlMjY2YjlmMzViM2M0NzUxMjMxMjRlMjc5ZWE3ZjU4NmMyODhjMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZE9iamVjdC5jcHAKQEAgLTIzNyw2ICsyMzcsNyBAQCB2b2lkIEFYSXNvbGF0ZWRP
YmplY3Q6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFYQ29yZU9iamVjdCYgb2JqZWN0LCBib29s
IGlzUm9vdAogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpTdXBwb3J0c0NoZWNrZWRT
dGF0ZSwgb2JqZWN0LnN1cHBvcnRzQ2hlY2tlZFN0YXRlKCkpOwogICAgIHNldFByb3BlcnR5KEFY
UHJvcGVydHlOYW1lOjpCcmFpbGxlUm9sZURlc2NyaXB0aW9uLCBvYmplY3QuYnJhaWxsZVJvbGVE
ZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5
TmFtZTo6QnJhaWxsZUxhYmVsLCBvYmplY3QuYnJhaWxsZUxhYmVsKCkuaXNvbGF0ZWRDb3B5KCkp
OworICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpBUklBRGVzY3JpcHRpb24sIG9iamVj
dC5hcmlhRGVzY3JpcHRpb24oKS5pc29sYXRlZENvcHkoKSk7CiAKICAgICBpZiAob2JqZWN0Lmlz
VGFibGUoKSkgewogICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6SXNUYWJsZSwg
dHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKaW5kZXggNzI1NWYyYzRkYmYyY2FkYzU2YzIx
NTlmNDVkZjNlZWZjNTQ2N2NmNC4uNGQyM2NhNjQ1YTRhMjFiMDFkOTEwMDIxZDUwNjFiZDVhNmM4
Yzk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApAQCAtMjczLDYgKzI3Myw3IEBAIHByaXZh
dGU6CiAgICAgU3RyaW5nIGJyYWlsbGVSb2xlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6QnJhaWxsZVJvbGVE
ZXNjcmlwdGlvbik7IH0KICAgICBTdHJpbmcgZW1iZWRkZWRJbWFnZURlc2NyaXB0aW9uKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6
OkVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbik7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSBvdmVycmlkZSB7IHJl
dHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICBTdHJpbmcgYXJpYURlc2NyaXB0aW9uKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFEZXNjcmlwdGlvbik7IH0KIAogICAgIFN0cmluZyBjb21wdXRlZFJvbGVTdHJpbmcoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6
Q29tcHV0ZWRSb2xlU3RyaW5nKTsgfQogICAgIGJvb2wgaXNWYWx1ZUF1dG9maWxsZWQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6Oklz
VmFsdWVBdXRvZmlsbGVkKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKaW5kZXggN2MzNDY5Njc5N2Fi
NGYwOTY4NDBlZThkZTM3YzA3ODZmYzdkMTllYS4uNWU5MmE4ZGUyMzAwYmQyYmIzNDczYmJmZTc4
MDMwYzc1YWI2YWYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCkBAIC00OCw2ICs0OCw3IEBAIHVz
aW5nIEFYSXNvbGF0ZWRUcmVlSUQgPSB1bnNpZ25lZDsKIAogZW51bSBjbGFzcyBBWFByb3BlcnR5
TmFtZSA6IHVpbnQxNl90IHsKICAgICBBUklBQ29udHJvbHNFbGVtZW50cywKKyAgICBBUklBRGVz
Y3JpcHRpb24sCiAgICAgQVJJQURldGFpbHNFbGVtZW50cywKICAgICBEcm9wRWZmZWN0cywKICAg
ICBBUklBRXJyb3JNZXNzYWdlRWxlbWVudHMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluCmluZGV4IDRmZGNiOWQzMjE4ZTcyYjgxYzM0NWRiNTcxZmViYjFiZGQ5ZGM2
MTQuLjU2NjE4ZmMyMGMyMDU5MDFhZWFjYjFmMjc0YWQ1ZjMxNzJiZGFlZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC0yNyw2ICsyNyw3IEBAIGFyaWEt
Y29sc3BhbgogYXJpYS1jb250cm9scwogYXJpYS1jdXJyZW50CiBhcmlhLWRlc2NyaWJlZGJ5Cith
cmlhLWRlc2NyaXB0aW9uCiBhcmlhLWRldGFpbHMKIGFyaWEtZGlzYWJsZWQKIGFyaWEtZHJvcGVm
ZmVjdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDFkMTE5ZTFlYTEzZGRkZGNkMzkyYzMwMjdlYTQxMjM3NjI5Njk0NDAuLjdj
MGExMTc5NDE2M2JkYWQwMmZjZTFlMDA4MGQzZmFlNzcxOTA3ZjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMS0wOC0xOSAgVG9tbXkgTWNIdWdoICA8dGhvbWFzX21jaHVnaEBhcHBsZS5jb20+
CisKKyAgICAgICAgQVg6IEltcGxlbWVudCBhcmlhLWRlc2NyaXB0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNTMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzU4NTc3NTQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLW9uLWlucHV0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0
aW9uLW9uLWlucHV0Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTA4LTE5ICBBbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBwb3J0IGZvciBvdmVy
Zmxvdy13cmFwOiBhbnl3aGVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWRlc2NyaXB0aW9uLW9uLWlucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1vbi1pbnB1dC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmZiN2YyNWIyYWVhZDNmMmU5MTZjYmFmM2IxYWMzNjZmZGFkYzE4YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1vbi1p
bnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhlIFNlY29uZHMgRGVzY3JpcHRp
b24KK1ZhbGlkYXRlIGFyaWEtZGVzY3JpcHRpb24KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaGVscFRl
eHQgaXMgJ0FYSGVscDogVGhlIE1pbnV0ZXMgRGVzY3JpcHRpb24nCitQQVNTIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmhlbHBUZXh0IGlzICdBWEhlbHA6IFRoZSBTZWNv
bmRzIERlc2NyaXB0aW9uJworCitURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tb24taW5wdXQuaHRtbCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1vbi1pbnB1dC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZjZmY2NTk5NTcxMzk2MjUxMjI3ZTg3MzYwZjFiZDAwMzM4ZjRhYzcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tb24taW5w
dXQuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+CisK
KzxpbnB1dCBpZD0ibWludXRlcyIgdHlwZT0idGV4dCIgdmFsdWU9IjEwIiBhcmlhLWRlc2NyaXB0
aW9uPSJUaGUgTWludXRlcyBEZXNjcmlwdGlvbiIvPgorPGlucHV0IGlkPSJzZWNvbmRzIiB0eXBl
PSJ0ZXh0IiB2YWx1ZT0iMTAiIGFyaWEtZGVzY3JpcHRpb249Ik5vdCBteSBkZXNjcmlwdGlvbiIg
YXJpYS1kZXNjcmliZWRieT0ic2Vjb25kc0Rlc2NyaXB0aW9uIi8+Cis8ZGl2IGlkPSJzZWNvbmRz
RGVzY3JpcHRpb24iPlRoZSBTZWNvbmRzIERlc2NyaXB0aW9uPC9kaXY+CisKKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisgICAg
ZGVzY3JpcHRpb24oIlZhbGlkYXRlIGFyaWEtZGVzY3JpcHRpb24iKTsKKworICAgIGlmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm1pbnV0ZXMiKS5mb2N1cygpOworICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaGVscFRleHQiLCAiJ0FYSGVscDogVGhlIE1pbnV0
ZXMgRGVzY3JpcHRpb24nIik7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNl
Y29uZHMiKS5mb2N1cygpOworICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQuaGVscFRleHQiLCAiJ0FYSGVscDogVGhlIFNlY29uZHMgRGVzY3Jp
cHRpb24nIik7CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461239</attachid>
            <date>2022-07-27 01:14:58 -0700</date>
            <delta_ts>2022-08-01 23:24:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20220727011457.patch</filename>
            <type>text/plain</type>
            <size>28661</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">RnJvbSA0MmNmY2Q2OWFhMThlZWExNzgxZTZmNjNlZTZkMWFiOWRhYjRlMzQyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBGbGVpemFjaCA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCAyNyBKdWwgMjAyMiAwMTowODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBTdXBwb3J0IEFSSUEgMS4zIHByb3BlcnR5IGFyaWEtZGVzY3JpcHRpb24KIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNTMKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKQWRkIHN1cHBvcnQgZm9yIGFyaWEtZGVzY3JpcHRpb24gb24gQXBwbGUgcGxhdGZv
cm1zIGJ5IG1hcHBpbmcgdG8gQVhDdXN0b21Db250ZW50LgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbDogQWRkZWQuCiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zOgoqIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaDoK
KiBTb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CiogU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaDogQWRkZWQu
CiogU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW06
IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhRGVzY3JpcHRpb24gY29u
c3QpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
OgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNv
bGF0ZWRPYmplY3QuY3BwOgooV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVBy
b3BlcnRpZXMpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRPYmplY3QuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKC1bV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJCYXNlIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50XSk6CiogU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW46CiogVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L21hYy5weToKKE1hY1BvcnQuYXJjaGl0ZWN0dXJlKToKKiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgooV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50IGNvbnN0KToKKiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoK
KiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaWRsOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CihXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmN1c3RvbUNvbnRlbnQgY29uc3QpOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CihXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmN1c3RvbUNvbnRlbnQgY29uc3QpOgotLS0KIFNvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtSGF2ZS5oICAgICAgICAgICAgICAgICB8ICA3ICsrKysKIC4uLi9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8IDEwICsrKystCiAuLi4vUEFM
L3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaCAgICAgfCAzNyArKysrKysrKysrKysr
KysrKysrCiAuLi4vUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gICAgfCAz
NiArKysrKysrKysrKysrKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwICAgICB8ICA1ICsrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oICAgICAgIHwgIDMgKy0KIC4uLi9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmggICAg
ICAgICAgICB8ICAxICsKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAgICAg
ICAgICB8ICAzICsrCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCAgICAgICAg
ICAgfCAgMSArCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggICAgICAgICAgICAg
fCAgMSArCiAuLi4vbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbSAgfCAy
MCArKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiAg
ICAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAg
fCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oICAgfCAg
MSArCiAuLi4vQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgICAgICAgfCAgMSAr
CiAuLi4vaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0gICAgICAgICAgfCAxOSArKysr
KysrKysrCiAuLi4vbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gICAgICAgICAgfCAy
MSArKysrKysrKysrKwogLi4uL2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0ICAgICAgICAg
ICAgIHwgIDggKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sICAg
ICAgIHwgMjMgKysrKysrKysrKysrCiAuLi4vcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhw
ZWN0YXRpb25zICAgfCAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMgfCAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cyAgICAgfCAgMSArCiAyMiBmaWxlcyBjaGFuZ2VkLCAyMDAgaW5zZXJ0aW9ucygrKSwgMiBkZWxl
dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQu
dHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRl
c2NyaXB0aW9uLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUu
aCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDMwMDc4NTkzODgzYy4uNzY4
Y2EyOWE0MDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTMxOCwzICsxMzE4LDEwIEBACiAg
ICAgfHwgUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxNjAwMDApKQogI2RlZmluZSBIQVZFX0xPQ0tET1dOX01PREVfUERGX0FERElUSU9OUyAxCiAj
ZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNjAwKSBcCisgICAgfHwgKChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAw
KSBcCisgICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gNzAwMDApIFwKKyAgICB8fCAoUExBVEZPUk0oQVBQTEVUVikgJiYgX19UVl9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCisjZGVmaW5lIEhBVkVfQUNDRVNTSUJJ
TElUWV9GUkFNRVdPUksgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWEyZGM2ZDlmZTYxLi40N2RkZjRlNGM0NjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTY2LDYgKzY2LDggQEAKIAkJMUNDQTVGMDAyODBGQUJCNDAwOEE2Rjc4IC8qIFdlYkdQ
VUNyZWF0ZUltcGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFDQ0E1RUZFMjgwRkFCQjQwMDhBNkY3OCAvKiBXZWJHUFVDcmVhdGVJbXBsLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUQyQjQxMzQyNUYw
NUUzNTAwQTNGNzBBIC8qIENsb2NrR2VuZXJpYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRDJCNDEzMjI1RjA1RTM0MDBBM0Y3MEEgLyogQ2xvY2tH
ZW5lcmljLmNwcCAqLzsgfTsKIAkJMjkzRUU0QTgyNDE1NEY4RjAwNDc0OTNEIC8qIEFjY2Vzc2li
aWxpdHlTdXBwb3J0U29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMjkzRUU0QTYyNDE1NEY4RjAwNDc0OTNEIC8qIEFjY2Vzc2liaWxpdHlT
dXBwb3J0U29mdExpbmsuY3BwICovOyB9OworCQkyOTdDQjQ4MjI4OEIxMUQ3MDBCQjc5NzEgLyog
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOTdDQjQ4MDI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNv
ZnRMaW5rLmggKi87IH07CisJCTI5N0NCNDgzMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmls
aXR5U29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyOTdDQjQ4MTI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1t
ICovOyB9OwogCQkyRTEzNDJDRDIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0TGluay5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMTM0MkNCMjE1
QUExMEEwMDcxOTlEMiAvKiBVSUtpdFNvZnRMaW5rLm1tICovOyB9OwogCQkzMTY0N0ZCMDI1MTc1
OUREMDAxMEY4RkIgLyogT3BlbkdMU29mdExpbmtDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNjQ3RkFFMjUxNzU5REIwMDEwRjhGQiAvKiBP
cGVuR0xTb2Z0TGlua0NvY29hLm1tICovOyB9OwogCQk0MTZFOTk1MzIzREFFNkJFMDBFODcxQ0Ig
LyogQXVkaW9Ub29sYm94U29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2RTk5NTEyM0RBRTZCRDAwRTg3MUNCIC8qIEF1ZGlvVG9vbGJv
eFNvZnRMaW5rLmNwcCAqLzsgfTsKQEAgLTg0OCw2ICs4NTAsOCBAQAogCQkxRDJCNDEzMzI1RjA1
RTM1MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENsb2NrR2VuZXJpYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNF
RTRBNjI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTb2Z0TGluay5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkzRUU0QTcyNDE1NEY4RjAwNDc0OTNEIC8qIEFj
Y2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0
eVN1cHBvcnRTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOTdDQjQ4
MDI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyOTdDQjQ4MTI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI5QzE1RjQ3MjVENzVGNjMwMDFDRTMxQyAvKiBNZWRpYUFjY2Vz
c2liaWxpdHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFBY2Nlc3NpYmlsaXR5U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5Q0RFQjlFMjU0OEQwNTUwMDdDMDdCNyAvKiBB
WFNwZWVjaE1hbmFnZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVhTcGVlY2hNYW5hZ2VyU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMDJFOTNCMjA1NkZBQTcwMEExMzc5NyAv
KiBBdWRpb1Rvb2xib3hTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXVk
aW9Ub29sYm94U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzMwLDYgKzEz
MzQsOCBAQAogCQkxQzQ4NzZERTFGOEQ4MzEzMDBDQ0VFQkQgLyogY29jb2EgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI5N0NCNDgwMjg4QjExRDcwMEJC
Nzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCAqLywKKwkJCQkyOTdDQjQ4MTI4OEIxMUQ3
MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tICovLAogCQkJCTU3RkQzMTg4MjJC
MzU5MkYwMDhEMEU4QiAvKiBBcHBTU09Tb2Z0TGluay5oICovLAogCQkJCTU3RkQzMTg5MjJCMzU5
M0UwMDhEMEU4QiAvKiBBcHBTU09Tb2Z0TGluay5tbSAqLywKIAkJCQkwNzdFODdCMDIyNkE0NjAy
MDBBMkFGRjAgLyogQVZGb3VuZGF0aW9uU29mdExpbmsuaCAqLywKQEAgLTE2NjQsNiArMTY3MCw3
IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9
IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQkyOTdDQjQ4MjI4OEIxMUQ3MDBCQjc5NzEg
LyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERENTI3
QkM5MEQ3MDA5M0QxNzUgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTb2Z0TGluay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJREQyMERERDYyN0JDOTBENzAwOTNEMTc1IC8qIEFjY2Vzc2liaWxpdHlTdXBw
b3J0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwREQxQTI3QkM5MEQ2MDA5M0QxNzUgLyog
QXBwU1NPU29mdExpbmsuaCBpbiBIZWFkZXJzICovLApAQCAtMTgwNCw2ICsxODExLDcgQEAKIAkJ
CQlERDIwREU0NTI3QkM5MEQ4MDA5M0QxNzUgLyogUG9wdXBNZW51LmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMzRGMjZGNjI4NDZEMEQ5MDA3NkU1NDkgLyogUG93ZXJMb2dTUEkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUREMjBERTA0MjdCQzkwRDgwMDkzRDE3NSAvKiBwdGhyZWFkU1BJLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1Q0I4OThCMjI4NjI3NEZBMDBDQTM0ODUgLyogUXVhcmFudGluZVNQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMERFMDUyN0JDOTBEODAwOTNEMTc1IC8qIFF1YXJ0ekNv
cmVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBERTNGMjdCQzkwRDgwMDkzRDE3NSAvKiBR
dWlja0xvb2tNYWNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREMxMjdCQzkwRDcwMDkz
RDE3NSAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCkBAIC0xOTkxLDcgKzE5
OTksNiBAQAogCQkJCUREMjBEREFFMjdCQzkwRDcwMDkzRDE3NSAvKiBXZWJHUFVUZXh0dXJlQXNw
ZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERBRjI3QkM5MEQ3MDA5M0QxNzUgLyogV2Vi
R1BVVGV4dHVyZUJpbmRpbmdMYXlvdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREIwMjdC
QzkwRDcwMDkzRDE3NSAvKiBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJNUNCODk4QjIyODYyNzRGQTAwQ0EzNDg1IC8qIFF1YXJhbnRpbmVTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUREMjBEREIxMjdCQzkwRDcwMDkzRDE3NSAvKiBXZWJHUFVUZXh0dXJlRGlt
ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMjI3QkM5MEQ3MDA5M0QxNzUgLyog
V2ViR1BVVGV4dHVyZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMEREM0UyN0JDOTBE
NjAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVJbXBsLmggaW4gSGVhZGVycyAqLywKQEAgLTIxMDMs
NiArMjExMCw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQkyOTdDQjQ4MzI4OEIxMUQ3
MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjkzRUU0QTgyNDE1NEY4RjAwNDc0OTNEIC8qIEFjY2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTdGRDMxOEEyMkIzNTkzRTAwOEQwRThCIC8qIEFwcFNT
T1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDE2RTk5NTMyM0RBRTZCRTAwRTg3MUNC
IC8qIEF1ZGlvVG9vbGJveFNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NGU4NjMzODcxMDIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0
TGluay5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEhBVkUoQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCisKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eS5oPgorI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElO
S19GUkFNRVdPUktfRk9SX0hFQURFUihQQUwsIEFjY2Vzc2liaWxpdHkpOworCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIEFYQ3VzdG9tQ29udGVudCk7CisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5t
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmViOTg3MDg2NDJmZQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJp
bGl0eVNvZnRMaW5rLm1tCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJj
b25maWcuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCisKKyNpbXBvcnQg
PHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIEFjY2Vzc2liaWxpdHksIFBBTF9FWFBPUlQpOworCitTT0ZU
X0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIEFjY2Vzc2liaWxpdHksIEFY
Q3VzdG9tQ29udGVudCwgUEFMX0VYUE9SVCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggY2RkY2Zh
NTI3ODdjLi5lOTllMmIwNTBkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMjcxOSw2ICsyNzE5LDExIEBAIGJv
b2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6c3VwcG9ydHNBUklBUm9sZURlc2NyaXB0aW9uKCkgY29u
c3QKICAgICB9CiB9CiAKK1N0cmluZyBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphcmlhRGVzY3JpcHRp
b24oKSBjb25zdAoreworICAgIHJldHVybiBnZXRBdHRyaWJ1dGUoYXJpYV9kZXNjcmlwdGlvbkF0
dHIpOworfQorCiBTdHJpbmcgQWNjZXNzaWJpbGl0eU9iamVjdDo6cm9sZURlc2NyaXB0aW9uKCkg
Y29uc3QKIHsKICAgICAvLyBhcmlhLXJvbGVkZXNjcmlwdGlvbiB0YWtlcyBwcmVjZWRlbmNlIG92
ZXIgYW55IG90aGVyIHJ1bGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDdlMGNjYjJkN2FiMy4uMDkyNTYzOWM2ZjVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaApAQCAtMzA2LDcgKzMwNiw3IEBAIHB1YmxpYzoKICAgICBib29sIHN1cHBvcnRzQVJJQVJv
bGVEZXNjcmlwdGlvbigpIGNvbnN0OwogICAgIGJvb2wgc3VwcG9ydHNBUklBT3ducygpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIoKSBjb25zdCBvdmVycmlkZTsKLQorICAgIAogICAgIGJvb2wgaGFz
UG9wdXAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIFN0cmluZyBwb3B1
cFZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNEYXRhbGlzdCgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDEzLDYgKzQxMyw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgYnJhaWxsZVJv
bGVEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGdldEF0dHJpYnV0ZShIVE1M
TmFtZXM6OmFyaWFfYnJhaWxsZXJvbGVkZXNjcmlwdGlvbkF0dHIpOyB9CiAgICAgU3RyaW5nIGVt
YmVkZGVkSW1hZ2VEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9u
YWw8QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBpbWFnZU92ZXJsYXlFbGVtZW50cygpIG92
ZXJyaWRlIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIFN0cmluZyBhcmlhRGVzY3JpcHRp
b24oKSBjb25zdCBvdmVycmlkZTsKIAogICAgIC8vIEFiYnJldmlhdGlvbnMKICAgICBTdHJpbmcg
ZXhwYW5kZWRUZXh0VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBTdHJpbmcoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaAppbmRleCBhYzM4MzY5MmVkYzYuLjk5ZWE4OGYzNzU0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTEwNzUsNiArMTA3NSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIFN0cmluZyBicmFpbGxlUm9sZURlc2NyaXB0aW9uKCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgU3RyaW5nIGVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBpbWFnZU92
ZXJsYXlFbGVtZW50cygpID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBhcmlhRGVzY3JpcHRpb24o
KSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNBUklBT3ducygpIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmVEZXNjZW5kYW50T2ZGb2N1c2VkQ29udGFp
bmVyKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcAppbmRleCA5NDY3MGVm
YmI2ZjkuLmM2NWJkNzgwMmVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKQEAgLTM5
Nyw2ICszOTcsOSBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQcm9wZXJ0aWVz
KFJlZjxBWENvcmVPYmplY3Q+IGNvcmVPYmplY3QsIElzUm9vdAogICAgIGlmIChvYmplY3QuaXNX
aWRnZXQoKSkKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzV2lkZ2V0LCB0
cnVlKTsKIAorICAgIGlmIChvYmplY3QuYXJpYURlc2NyaXB0aW9uKCkubGVuZ3RoKCkpCisgICAg
ICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpBUklBRGVzY3JpcHRpb24sIG9iamVjdC5h
cmlhRGVzY3JpcHRpb24oKSk7CisgICAgCiAgICAgaW5pdGlhbGl6ZVBsYXRmb3JtUHJvcGVydGll
cyhjb3JlT2JqZWN0LCBpc1Jvb3QpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKaW5kZXgg
MDRmYWM4MTQ4Y2Y4Li5jNWQ1NmVjMGE0MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmgKQEAg
LTI4Miw2ICsyODIsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBicmFpbGxlUm9sZURlc2NyaXB0
aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OkJyYWlsbGVSb2xlRGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGVtYmVkZGVk
SW1hZ2VEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0
ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpFbWJlZGRlZEltYWdlRGVzY3JpcHRpb24pOyB9CiAgICAg
c3RkOjpvcHRpb25hbDxBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3I+IGltYWdlT3ZlcmxheUVs
ZW1lbnRzKCkgb3ZlcnJpZGUgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CisgICAgU3RyaW5nIGFy
aWFEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEFYUHJvcGVydHlOYW1lOjpBUklBRGVzY3JpcHRpb24pOyB9CiAKICAgICBTdHJpbmcgY29t
cHV0ZWRSb2xlU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkNvbXB1dGVkUm9sZVN0cmluZyk7IH0KICAgICBib29sIGlz
VmFsdWVBdXRvZmlsbEF2YWlsYWJsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNWYWx1ZUF1dG9maWxsQXZhaWxhYmxlKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmgKaW5kZXggZWU3NDUzMmYyMWFjLi42NDA0MmQyNDllNzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0
ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuaApAQCAtNDksNiArNDksNyBAQCBlbnVtIGNsYXNzIEFYU3RyZWFtT3B0
aW9ucyA6IHVpbnQ4X3Q7CiB1c2luZyBBWElzb2xhdGVkVHJlZUlEID0gdW5zaWduZWQ7CiAKIGVu
dW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50MTZfdCB7CisgICAgQVJJQURlc2NyaXB0aW9u
LAogICAgIEFSSUFJc011bHRpbGluZSwKICAgICBBUklBTGFuZG1hcmtSb2xlRGVzY3JpcHRpb24s
CiAgICAgQVJJQVRyZWVJdGVtQ29udGVudCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQmFzZS5tbQppbmRleCAzZGQwN2E5YTJlYzkuLjk3ZTE3ZmQ1ZGU1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXJCYXNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQpAQCAtMzEsNiArMzEsOCBAQAogCiAjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCiAKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eS5oPgorCiAjaW1wb3J0ICJBWE9iamVjdENhY2hlLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmls
aXR5QVJJQUdyaWRSb3cuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC01OSw2
ICs2MSw3IEBACiAjaW1wb3J0ICJUZXh0SXRlcmF0b3IuaCIKICNpbXBvcnQgIlZpc2libGVVbml0
cy5oIgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CisjaW1wb3J0IDxwYWwvY29j
b2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0
ICJXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5oIgpAQCAtNDAzLDYgKzQwNiwyMyBA
QCAtIChOU0FycmF5PE5TU3RyaW5nICo+ICopYmFzZUFjY2Vzc2liaWxpdHlTcGVlY2hIaW50CiAg
ICAgcmV0dXJuIFsoTlNTdHJpbmcgKilzZWxmLmF4QmFja2luZ09iamVjdC0+c3BlZWNoSGludEF0
dHJpYnV0ZVZhbHVlKCkgY29tcG9uZW50c1NlcGFyYXRlZEJ5U3RyaW5nOkAiICJdOwogfQogCisj
aWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKy0gKE5TQXJyYXk8QVhDdXN0b21Db250
ZW50ICo+ICopYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnQKK3sKKyAgICBbc2VsZiBiYXNlVXBk
YXRlQmFja2luZ1N0b3JlXTsKKyAgICAKKyAgICBOU011dGFibGVBcnJheTxBWEN1c3RvbUNvbnRl
bnQgKj4gKmFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50ID0gbmlsOworICAgIGF1dG8gYXJpYURl
c2NyaXB0aW9uID0gc2VsZi5heEJhY2tpbmdPYmplY3QtPmFyaWFEZXNjcmlwdGlvbigpOworICAg
IGlmIChhcmlhRGVzY3JpcHRpb24ubGVuZ3RoKCkpIHsKKyAgICAgICAgaWYgKCFhY2Nlc3NpYmls
aXR5Q3VzdG9tQ29udGVudCkKKyAgICAgICAgICAgIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50
ID0gW05TTXV0YWJsZUFycmF5IG5ld107CisgICAgICAgIFthY2Nlc3NpYmlsaXR5Q3VzdG9tQ29u
dGVudCBhZGRPYmplY3Q6W1BBTDo6Z2V0QVhDdXN0b21Db250ZW50Q2xhc3MoKSBjdXN0b21Db250
ZW50V2l0aExhYmVsOldFQl9VSV9TVFJJTkcoImRlc2NyaXB0aW9uIiwgImRlc2NyaXB0aW9uIGRl
dGFpbCIpIHZhbHVlOmFyaWFEZXNjcmlwdGlvbl1dOworICAgIH0KKyAgICAKKyAgICByZXR1cm4g
YWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnQ7Cit9CisjZW5kaWYKKwogLSAoTlNTdHJpbmcgKili
YXNlQWNjZXNzaWJpbGl0eUhlbHBUZXh0CiB7CiAgICAgcmV0dXJuIHNlbGYuYXhCYWNraW5nT2Jq
ZWN0LT5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0
dHJpYnV0ZU5hbWVzLmluCmluZGV4IGQ1YTM2YTQ0MWQ3MS4uZGMzODBlOWY2YWJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjcsNiArMjcsNyBAQCBh
cmlhLWNvbHNwYW4KIGFyaWEtY29udHJvbHMKIGFyaWEtY3VycmVudAogYXJpYS1kZXNjcmliZWRi
eQorYXJpYS1kZXNjcmlwdGlvbgogYXJpYS1kZXRhaWxzCiBhcmlhLWRpc2FibGVkCiBhcmlhLWRy
b3BlZmZlY3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IDM4YzQ5MDI0ZTU2
NS4uMDU3YTg3MmY2NDNjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTEx
Myw2ICsxMTMsNyBAQCBKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhSb290
UmFkaWNhbmQoKSBjb25zdCB7IHJldHVybiB7IH07IH0KIAogI2lmICFQTEFURk9STShDT0NPQSkg
fHwgIUVOQUJMRShBQ0NFU1NJQklMSVRZKQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmZvY3VzZWRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
bnVsbHB0cjsgfQorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKIGJvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aGFzRG9jdW1lbnRSb2xlQW5jZXN0b3IoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNXZWJBcHBsaWNh
dGlvbkFuY2VzdG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmgKaW5kZXggYzJkZTY0OWJhM2NlLi41ZjVlMGJmZGI1ZjkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oCkBAIC0yMzUsNiArMjM1LDcgQEAgcHVibGljOgogICAgIGludCBjb2x1
bW5Db3VudCgpOwogICAgIEpTVmFsdWVSZWYgcm93SGVhZGVycygpIGNvbnN0OwogICAgIEpTVmFs
dWVSZWYgY29sdW1uSGVhZGVycygpIGNvbnN0OworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBjdXN0b21Db250ZW50KCkgY29uc3Q7CiAKICAgICAvLyBUcmVlL091dGxpbmUgc3BlY2lmaWMg
YXR0cmlidXRlcwogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBzZWxlY3RlZFJv
d0F0SW5kZXgodW5zaWduZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5pZGwKaW5kZXggZjI2Y2FmYzA4NzQyLi42MzZlMTE2MDAxYzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbApAQCAtMTc5LDYgKzE3OSw3
IEBACiAgICAgbG9uZyBjb2x1bW5Db3VudCgpOwogICAgIG9iamVjdCBjb2x1bW5IZWFkZXJzKCk7
CiAgICAgb2JqZWN0IHJvd0hlYWRlcnMoKTsKKyAgICBET01TdHJpbmcgY3VzdG9tQ29udGVudCgp
OwogCiAgICAgb2JqZWN0IGRldGFpbHNFbGVtZW50cygpOwogICAgIG9iamVjdCBlcnJvck1lc3Nh
Z2VFbGVtZW50cygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0K
aW5kZXggY2MzYTc3NTBkZWIwLi5kMDliY2IyZjBlODYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1Mu
bW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudElPUy5tbQpAQCAtMzksNiArMzksMTAgQEAKICNpbXBvcnQgPHd0Zi9W
ZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCisjaWYgSEFWRShB
Q0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eS5oPgorI2VuZGlmCisKIHR5cGVkZWYgdm9pZCAoKkFYUG9zdGVkTm90aWZpY2F0aW9uQ2Fs
bGJhY2spKGlkIGVsZW1lbnQsIE5TU3RyaW5nKiBub3RpZmljYXRpb24sIHZvaWQqIGNvbnRleHQp
OwogCiBAaW50ZXJmYWNlIE5TT2JqZWN0IChVSUFjY2Vzc2liaWxpdHlIaWRkZW4pCkBAIC00ODUs
NiArNDg5LDIxIEBAIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp1aUVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShKCiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
dXN0b21Db250ZW50KCkgY29uc3QKK3sKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JL
KQorICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0TlMo
W1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgIHNfY29udHJvbGxlci0+ZXhlY3V0
ZU9uQVhUaHJlYWRBbmRXYWl0KFsmY3VzdG9tQ29udGVudCwgdGhpc10geworICAgICAgICBmb3Ig
KEFYQ3VzdG9tQ29udGVudCAqY29udGVudCBpbiBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlDdXN0
b21Db250ZW50XSkKKyAgICAgICAgICAgIFtjdXN0b21Db250ZW50IGFkZE9iamVjdDpbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOiAlQCIsIGNvbnRlbnQubGFiZWwsIGNvbnRlbnQudmFs
dWVdXTsKKyAgICB9KTsKKworICAgIHJldHVybiBbW2N1c3RvbUNvbnRlbnQuZ2V0KCkgY29tcG9u
ZW50c0pvaW5lZEJ5U3RyaW5nOkAiXG4iXSBjcmVhdGVKU1N0cmluZ1JlZl07CisjZWxzZQorICAg
IHJldHVybiBudWxscHRyOworI2VuZGlmCit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Ym9vbEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKIHsKICAgICBpZiAo
SlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhhdHRyaWJ1dGUsICJBWEhhc1RvdWNoRXZlbnRM
aXN0ZW5lciIpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5k
ZXggYzdjZDdmOTJmNDhmLi43ZmI4NjY0ZTg3ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0K
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNDIsNiArNDIsMTAgQEAKICNpbXBvcnQgPHd0Zi9WZWN0
b3IuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCisjaWYgSEFWRShBQ0NF
U1NJQklMSVRZX0ZSQU1FV09SSykKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eS5oPgorI2VuZGlmCisKICNkZWZpbmUgTlNBY2Nlc3NpYmlsaXR5RE9NSWRlbnRpZmllckF0dHJp
YnV0ZSBAIkFYRE9NSWRlbnRpZmllciIKIAogI2lmbmRlZiBOU0FjY2Vzc2liaWxpdHlPd25zQXR0
cmlidXRlCkBAIC0zOTMsNiArMzk3LDIzIEBAIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UoVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFCiAgICAg
RU5EX0FYX09CSkNfRVhDRVBUSU9OUwogfQogCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCgpIGNvbnN0Cit7CisgICAgQkVHSU5f
QVhfT0JKQ19FWENFUFRJT05TCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKyAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk+IGN1c3RvbUNvbnRlbnQgPSBhZG9wdE5TKFtbTlNN
dXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKKyAgICBzX2NvbnRyb2xsZXItPmV4ZWN1dGVPbkFY
VGhyZWFkQW5kV2FpdChbJmN1c3RvbUNvbnRlbnQsIHRoaXNdIHsKKyAgICAgICAgZm9yIChBWEN1
c3RvbUNvbnRlbnQgKmNvbnRlbnQgaW4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29u
dGVudF0pCisgICAgICAgICAgICBbY3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W05TU3RyaW5nIHN0
cmluZ1dpdGhGb3JtYXQ6QCIlQDogJUAiLCBjb250ZW50LmxhYmVsLCBjb250ZW50LnZhbHVlXV07
CisgICAgfSk7CisKKyAgICByZXR1cm4gW1tjdXN0b21Db250ZW50LmdldCgpIGNvbXBvbmVudHNK
b2luZWRCeVN0cmluZzpAIlxuIl0gY3JlYXRlSlNTdHJpbmdSZWZdOworI2Vsc2UKKyAgICByZXR1
cm4gbnVsbHB0cjsKKyNlbmRpZgorICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKK30KKwogSlNW
YWx1ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dIZWFkZXJzKCkgY29uc3QKIHsKICAg
ICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTVmYWE2NDZjZjdmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYXJpYS1kZXNjcmlwdGlvbiBt
YXBzIHRvIGFwcHJvcHJpYXRlIGF0dHJpYnV0ZXMuCisKK0N1c3RvbSBjb250ZW50OiBkZXNjcmlw
dGlvbjogTG9uZ2VyIGRlc2NyaXB0aW9uCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorYnV0dG9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uNTkyNTJkZmU3NDg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJidXR0b24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1kZXNj
cmlwdGlvbj0iTG9uZ2VyIGRlc2NyaXB0aW9uIj5idXR0b248L2Rpdj4KKworPHNjcmlwdD4KKyAg
ICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFyaWEtZGVzY3JpcHRp
b24gbWFwcyB0byBhcHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuXG4iOworCisgICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBjb25zdCBzbGlkZXIgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGBDdXN0b20gY29udGVudDogJHtzbGlkZXIuY3VzdG9tQ29udGVu
dCgpfVxuYDsKKyAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgfQorPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNp
bXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGVlZWFjODBhYjM2OS4uMDcxOGZiYThjZTNm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhw
ZWN0YXRpb25zCkBAIC04LDYgKzgsNyBAQCBhY2Nlc3NpYmlsaXR5L2luc2VydC1uZXdsaW5lLmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvdXJsLXRlc3QuaHRtbCBbIFBhc3MgXQogYWNjZXNz
aWJpbGl0eS9rZXlldmVudHMtcG9zdGVkLWZvci1kaXNtaXNzLWFjdGlvbi5odG1sIFsgUGFzcyBd
CiBhY2Nlc3NpYmlsaXR5L2VtYmVkZGVkLWltYWdlLWRlc2NyaXB0aW9uLmh0bWwgWyBQYXNzIF0K
K2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIFsgUGFzcyBdCiBmYXN0L211bHRp
Y29sL2ZsZXhib3gtcm93cy5odG1sIFsgU2tpcCBdCiAKIGZhc3QvZm9ybXMvaW5wdXQtdGV4dC13
b3JkLXdyYXAuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDQwZGYwYWY4YmE4Mi4uODFmYTEyZTJmODBlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC04NzQsNiAr
ODc0LDcgQEAgYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1oZWlnaHQtY2hh
bmdlcy5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJhbmdl
LXNjcm9sbGluZy5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVy
LXJhbmdlLXdpZHRoLWNoYW5nZXMuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9tb2RlbC1l
bGVtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNraXAgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2Ny
aXB0aW9uLmh0bWwgWyBTa2lwIF0KIAogIyA8cmRhcjovL3Byb2JsZW0vMjYwNTA5MjM+IFRoZSBy
ZXN1bHQgaXMgcHJvYmFibHkgc3RpbGwgYSBwYXNzLCBidXQgd2UgZG9uJ3QgaGF2ZSBhIHdheQog
IyB0byBoYXZlIHBsYXRmb3JtIHNwZWNpZmljIHJlc3VsdHMgdGhhdCBhcmUgZGlmZmVyZW50IGJl
dHdlZW4gV0sxIGFuZCBXSzIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDhiMDljODFiMDc2Ny4uOWY0ODdlOWZhNGQzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDkyLDYgKzQ5Miw3IEBAIGFjY2Vzc2liaWxp
dHkvbGlzdGJveC1jbGVhci1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9l
bWJlZGRlZC1pbWFnZS1kZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L2lt
Zy1uby1hbHQtbm90LWlnbm9yZWQtd2l0aC10aXRsZS5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmls
aXR5L21vZGVsLWVsZW1lbnQtYXR0cmlidXRlcy5odG1sIFsgU2tpcCBdCithY2Nlc3NpYmlsaXR5
L2FyaWEtZGVzY3JpcHRpb24uaHRtbCBbIFNraXAgXQogCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUt
Y2hhcmFjdGVyLXJhbmdlLWJhc2ljLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvdmlzaWJs
ZS1jaGFyYWN0ZXItcmFuZ2UtaGVpZ2h0LWNoYW5nZXMuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461351</attachid>
            <date>2022-08-01 23:24:31 -0700</date>
            <delta_ts>2022-08-02 22:42:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20220801232431.patch</filename>
            <type>text/plain</type>
            <size>28431</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">RnJvbSAwYmZmNzRlYzE1ZjgyZTk0ODhjNmE0MzMxNDFlM2VjZWRlZWYxZWVlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBGbGVpemFjaCA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCAyNyBKdWwgMjAyMiAwMTowODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBTdXBwb3J0IEFSSUEgMS4zIHByb3BlcnR5IGFyaWEtZGVzY3JpcHRpb24KIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNTMKClJldmlld2VkIGJ5IEFuZHJlcyBH
b256YWxlei4KCkFkZCBzdXBwb3J0IGZvciBhcmlhLWRlc2NyaXB0aW9uIG9uIEFwcGxlIHBsYXRm
b3JtcyBieSBtYXBwaW5nIHRvIEFYQ3VzdG9tQ29udGVudC4KCiogTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWw6IEFkZGVkLgoqIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CiogU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmg6
CiogU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIFNv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg6IEFkZGVk
LgoqIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1t
OiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYURlc2NyaXB0aW9uIGNv
bnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQ
cm9wZXJ0aWVzKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CigtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudF0pOgoqIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgoqIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9tYWMucHk6CihNYWNQb3J0LmFyY2hpdGVjdHVyZSk6CiogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6CiogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6
CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmlkbDoKKiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgooV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpjdXN0b21Db250ZW50IGNvbnN0KToKKiBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgooV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50IGNvbnN0KToKLS0tCiBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCAgICAgICAgICAgICAgICAgfCAgNyArKysrCiAuLi4vV2Vi
Q29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogfCAxMCArKysrLQogLi4uL1BB
TC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggICAgIHwgMzcgKysrKysrKysrKysr
KysrKysrKwogLi4uL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tICAgIHwg
MzYgKysrKysrKysrKysrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmggICAgICAgfCAgMSArCiAuLi4vQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICAg
ICAgICAgICAgfCAgMSArCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwICAg
ICAgICAgfCAgNCArKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggICAgICAg
ICAgIHwgIDEgKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oICAgICAgICAgICAg
IHwgIDEgKwogLi4uL21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0gIHwg
MjIgKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
ICAgICB8ICAxICsKIC4uLi9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNw
cCB8ICAxICsKIC4uLi9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggICB8
ICAxICsKIC4uLi9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbCAgICAgICB8ICAx
ICsKIC4uLi9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSAgICAgICAgICB8IDE2ICsr
KysrKysrCiAuLi4vbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gICAgICAgICAgfCAy
MSArKysrKysrKysrKwogLi4uL2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0ICAgICAgICAg
ICAgIHwgIDggKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sICAg
ICAgIHwgMjIgKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zICAgICB8ICAzICsrCiAuLi4vcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0
YXRpb25zICAgfCAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgfCAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyAg
ICAgfCAgMSArCiAyMiBmaWxlcyBjaGFuZ2VkLCAxOTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv
bigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNj
ZXNzaWJpbGl0eVNvZnRMaW5rLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbQogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3Jp
cHRpb24uaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMzAwNzg1OTM4ODNjLi43NjhjYTI5
YTQwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0xMzE4LDMgKzEzMTgsMTAgQEAKICAgICB8
fCBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE2
MDAwMCkpCiAjZGVmaW5lIEhBVkVfTE9DS0RPV05fTU9ERV9QREZfQURESVRJT05TIDEKICNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE2MDApIFwKKyAgICB8fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApIFwK
KyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSA3MDAwMCkgXAorICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZ
X0ZSQU1FV09SSyAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlYTJkYzZkOWZlNjEuLjQ3ZGRmNGU0YzQ2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNjYsNiArNjYsOCBAQAogCQkxQ0NBNUYwMDI4MEZBQkI0MDA4QTZGNzggLyogV2ViR1BVQ3Jl
YXRlSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUNDQTVFRkUyODBGQUJCNDAwOEE2Rjc4IC8qIFdlYkdQVUNyZWF0ZUltcGwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRDJCNDEzNDI1RjA1RTM1
MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFEMkI0MTMyMjVGMDVFMzQwMEEzRjcwQSAvKiBDbG9ja0dlbmVy
aWMuY3BwICovOyB9OwogCQkyOTNFRTRBODI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0
eVN1cHBvcnRTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOTNFRTRBNjI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0eVN1cHBv
cnRTb2Z0TGluay5jcHAgKi87IH07CisJCTI5N0NCNDgyMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nl
c3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5N0NCNDgwMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExp
bmsuaCAqLzsgfTsKKwkJMjk3Q0I0ODMyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI5N0NCNDgxMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gKi87
IH07CiAJCTJFMTM0MkNEMjE1QUExMEEwMDcxOTlEMiAvKiBVSUtpdFNvZnRMaW5rLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUxMzQyQ0IyMTVBQTEw
QTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsubW0gKi87IH07CiAJCTMxNjQ3RkIwMjUxNzU5REQw
MDEwRjhGQiAvKiBPcGVuR0xTb2Z0TGlua0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2NDdGQUUyNTE3NTlEQjAwMTBGOEZCIC8qIE9wZW5H
TFNvZnRMaW5rQ29jb2EubW0gKi87IH07CiAJCTQxNkU5OTUzMjNEQUU2QkUwMEU4NzFDQiAvKiBB
dWRpb1Rvb2xib3hTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTZFOTk1MTIzREFFNkJEMDBFODcxQ0IgLyogQXVkaW9Ub29sYm94U29m
dExpbmsuY3BwICovOyB9OwpAQCAtODQ4LDYgKzg1MCw4IEBACiAJCTFEMkI0MTMzMjVGMDVFMzUw
MEEzRjcwQSAvKiBDbG9ja0dlbmVyaWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2xvY2tHZW5lcmljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VFNEE2
MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFRTRBNzI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNz
aWJpbGl0eVN1cHBvcnRTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3Vw
cG9ydFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5N0NCNDgwMjg4
QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5
N0NCNDgxMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjlDMTVGNDcyNUQ3NUY2MzAwMUNFMzFDIC8qIE1lZGlhQWNjZXNzaWJp
bGl0eVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUFjY2Vzc2liaWxpdHlTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlDREVCOUUyNTQ4RDA1NTAwN0MwN0I3IC8qIEFYU3Bl
ZWNoTWFuYWdlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWFNwZWVjaE1hbmFnZXJTUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8qIEF1
ZGlvVG9vbGJveFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Rv
b2xib3hTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzAsNiArMTMzNCw4
IEBACiAJCTFDNDg3NkRFMUY4RDgzMTMwMENDRUVCRCAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMjk3Q0I0ODAyODhCMTFENzAwQkI3OTcx
IC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovLAorCQkJCTI5N0NCNDgxMjg4QjExRDcwMEJC
Nzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gKi8sCiAJCQkJNTdGRDMxODgyMkIzNTky
RjAwOEQwRThCIC8qIEFwcFNTT1NvZnRMaW5rLmggKi8sCiAJCQkJNTdGRDMxODkyMkIzNTkzRTAw
OEQwRThCIC8qIEFwcFNTT1NvZnRMaW5rLm1tICovLAogCQkJCTA3N0U4N0IwMjI2QTQ2MDIwMEEy
QUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5oICovLApAQCAtMTY2NCw2ICsxNjcwLDcgQEAK
IAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTI5N0NCNDgyMjg4QjExRDcwMEJCNzk3MSAvKiBB
Y2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREQ1MjdCQzkw
RDcwMDkzRDE3NSAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmggaW4gSGVhZGVycyAq
LywKIAkJCQlERDIwRERENjI3QkM5MEQ3MDA5M0QxNzUgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRT
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBERDFBMjdCQzkwRDYwMDkzRDE3NSAvKiBBcHBT
U09Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODA0LDYgKzE4MTEsNyBAQAogCQkJCURE
MjBERTQ1MjdCQzkwRDgwMDkzRDE3NSAvKiBQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzNEYyNkY2Mjg0NkQwRDkwMDc2RTU0OSAvKiBQb3dlckxvZ1NQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJREQyMERFMDQyN0JDOTBEODAwOTNEMTc1IC8qIHB0aHJlYWRTUEkuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTVDQjg5OEIyMjg2Mjc0RkEwMENBMzQ4NSAvKiBRdWFyYW50aW5lU1BJLmggaW4g
SGVhZGVycyAqLywKIAkJCQlERDIwREUwNTI3QkM5MEQ4MDA5M0QxNzUgLyogUXVhcnR6Q29yZVNQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMERFM0YyN0JDOTBEODAwOTNEMTc1IC8qIFF1aWNr
TG9va01hY1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMEREQzEyN0JDOTBENzAwOTNEMTc1
IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKQEAgLTE5OTEsNyArMTk5OSw2
IEBACiAJCQkJREQyMEREQUUyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVBc3BlY3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREFGMjdCQzkwRDcwMDkzRDE3NSAvKiBXZWJHUFVU
ZXh0dXJlQmluZGluZ0xheW91dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMEREQjAyN0JDOTBE
NzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk1Q0I4OThCMjI4NjI3NEZBMDBDQTM0ODUgLyogUXVhcmFudGluZVNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJREQyMEREQjEyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVEaW1lbnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREIyMjdCQzkwRDcwMDkzRDE3NSAvKiBXZWJH
UFVUZXh0dXJlRm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwREQzRTI3QkM5MEQ2MDA5
M0QxNzUgLyogV2ViR1BVVGV4dHVyZUltcGwuaCBpbiBIZWFkZXJzICovLApAQCAtMjEwMyw2ICsy
MTEwLDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTI5N0NCNDgzMjg4QjExRDcwMEJC
Nzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTNF
RTRBODI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTb2Z0TGluay5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1N0ZEMzE4QTIyQjM1OTNFMDA4RDBFOEIgLyogQXBwU1NPU29m
dExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MTZFOTk1MzIzREFFNkJFMDBFODcxQ0IgLyog
QXVkaW9Ub29sYm94U29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0ZTg2MzM4NzEwMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5r
LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFW
RShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKworI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Lmg+CisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZS
QU1FV09SS19GT1JfSEVBREVSKFBBTCwgQWNjZXNzaWJpbGl0eSk7CisKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVhDdXN0b21Db250ZW50KTsKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjFjZjkwYzdhMDE0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5
U29mdExpbmsubW0KQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKworI2ltcG9ydCA8d3Rm
L1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNzaWJpbGl0eSwgUEFMX0VYUE9SVCk7CisKK1NPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNzaWJpbGl0eSwgQVhDdXN0
b21Db250ZW50LCBQQUxfRVhQT1JUKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDdlMGNjYjJkN2FiMy4u
Y2FmYTM2YjA5ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNDEzLDYgKzQxMyw3IEBAIHB1YmxpYzoKICAgICBTdHJp
bmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGdldEF0
dHJpYnV0ZShIVE1MTmFtZXM6OmFyaWFfYnJhaWxsZXJvbGVkZXNjcmlwdGlvbkF0dHIpOyB9CiAg
ICAgU3RyaW5nIGVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBpbWFnZU92ZXJsYXlF
bGVtZW50cygpIG92ZXJyaWRlIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIFN0cmluZyBl
eHRlbmRlZERlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZ2V0QXR0cmlidXRl
KEhUTUxOYW1lczo6YXJpYV9kZXNjcmlwdGlvbkF0dHIpOyB9CiAKICAgICAvLyBBYmJyZXZpYXRp
b25zCiAgICAgU3RyaW5nIGV4cGFuZGVkVGV4dFZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXggYWMzODM2OTJlZGM2Li42
OGViMjJmYTE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC0xMDc1LDYgKzEwNzUsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBlbWJlZGRlZEltYWdlRGVzY3JpcHRpb24oKSBj
b25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJl
blZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcg
ZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c0FSSUFPd25zKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2ZURlc2Nl
bmRhbnRPZkZvY3VzZWRDb250YWluZXIoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuY3BwCmluZGV4IDk0NjcwZWZiYjZmOS4uOWMwMDBlY2FiZDk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmNwcApAQCAtMzk3LDYgKzM5NywxMCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFJlZjxBWENvcmVPYmplY3Q+IGNvcmVPYmplY3QsIElzUm9v
dAogICAgIGlmIChvYmplY3QuaXNXaWRnZXQoKSkKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OklzV2lkZ2V0LCB0cnVlKTsKIAorICAgIGF1dG8gZXh0ZW5kZWREZXNjcmlwdGlv
biA9IG9iamVjdC5leHRlbmRlZERlc2NyaXB0aW9uKCkuaXNvbGF0ZWRDb3B5KCk7CisgICAgaWYg
KGV4dGVuZGVkRGVzY3JpcHRpb24ubGVuZ3RoKCkpCisgICAgICAgIHNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uLCBleHRlbmRlZERlc2NyaXB0aW9uKTsKKyAg
ICAKICAgICBpbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKGNvcmVPYmplY3QsIGlzUm9vdCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAppbmRleCAwNGZhYzgxNDhjZjguLmM1NjE0Y2U4
ZmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApAQCAtMjgyLDYgKzI4Miw3IEBAIHByaXZh
dGU6CiAgICAgU3RyaW5nIGJyYWlsbGVSb2xlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6QnJhaWxsZVJvbGVE
ZXNjcmlwdGlvbik7IH0KICAgICBTdHJpbmcgZW1iZWRkZWRJbWFnZURlc2NyaXB0aW9uKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6
OkVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbik7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSBvdmVycmlkZSB7IHJl
dHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICBTdHJpbmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1l
OjpFeHRlbmRlZERlc2NyaXB0aW9uKTsgfQogCiAgICAgU3RyaW5nIGNvbXB1dGVkUm9sZVN0cmlu
ZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lOjpDb21wdXRlZFJvbGVTdHJpbmcpOyB9CiAgICAgYm9vbCBpc1ZhbHVlQXV0b2ZpbGxB
dmFpbGFibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OklzVmFsdWVBdXRvZmlsbEF2YWlsYWJsZSk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJl
ZS5oCmluZGV4IGVlNzQ1MzJmMjFhYy4uYzEwODc4YmMyNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBlbnVtIGNsYXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2
X3QgewogICAgIEVkaXRhYmxlQW5jZXN0b3IsCiAgICAgRW1iZWRkZWRJbWFnZURlc2NyaXB0aW9u
LAogICAgIEV4cGFuZGVkVGV4dFZhbHVlLAorICAgIEV4dGVuZGVkRGVzY3JpcHRpb24sCiAgICAg
RmlsZVVwbG9hZEJ1dHRvblJldHVybnNWYWx1ZUluVGl0bGUsCiAgICAgRm9jdXNhYmxlQW5jZXN0
b3IsCiAgICAgSGFzQVJJQVZhbHVlTm93LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLm1tCmluZGV4IDNkZDA3YTlhMmVjOS4uOWViOGU4YWMxYTQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBAIC0zMSw2ICszMSw4IEBACiAKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Lmg+CisKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKQEAgLTU5LDYg
KzYxLDcgQEAKICNpbXBvcnQgIlRleHRJdGVyYXRvci5oIgogI2ltcG9ydCAiVmlzaWJsZVVuaXRz
LmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHBhbC9jb2Nv
YS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbXBvcnQg
IldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmgiCkBAIC00MDMsNiArNDA2LDI1IEBA
IC0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKiliYXNlQWNjZXNzaWJpbGl0eVNwZWVjaEhpbnQKICAg
ICByZXR1cm4gWyhOU1N0cmluZyAqKXNlbGYuYXhCYWNraW5nT2JqZWN0LT5zcGVlY2hIaW50QXR0
cmlidXRlVmFsdWUoKSBjb21wb25lbnRzU2VwYXJhdGVkQnlTdHJpbmc6QCIgIl07CiB9CiAKKyNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorLSAoTlNBcnJheTxBWEN1c3RvbUNvbnRl
bnQgKj4gKilhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudAoreworICAgIGF1dG8qIGJhY2tpbmdP
YmplY3QgPSBbc2VsZiBiYXNlVXBkYXRlQmFja2luZ1N0b3JlXTsKKyAgICBpZiAoIWJhY2tpbmdP
YmplY3QpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgCisgICAgTlNNdXRhYmxlQXJyYXk8QVhD
dXN0b21Db250ZW50ICo+ICphY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudCA9IG5pbDsKKyAgICBh
dXRvIGV4dGVuZGVkRGVzY3JpcHRpb24gPSBiYWNraW5nT2JqZWN0LT5leHRlbmRlZERlc2NyaXB0
aW9uKCk7CisgICAgaWYgKGV4dGVuZGVkRGVzY3JpcHRpb24ubGVuZ3RoKCkpIHsKKyAgICAgICAg
aWYgKCFhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudCkKKyAgICAgICAgICAgIGFjY2Vzc2liaWxp
dHlDdXN0b21Db250ZW50ID0gW05TTXV0YWJsZUFycmF5IG5ld107CisgICAgICAgIFthY2Nlc3Np
YmlsaXR5Q3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W1BBTDo6Z2V0QVhDdXN0b21Db250ZW50Q2xh
c3MoKSBjdXN0b21Db250ZW50V2l0aExhYmVsOldFQl9VSV9TVFJJTkcoImRlc2NyaXB0aW9uIiwg
ImRlc2NyaXB0aW9uIGRldGFpbCIpIHZhbHVlOmV4dGVuZGVkRGVzY3JpcHRpb25dXTsKKyAgICB9
CisgICAgCisgICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50OworfQorI2VuZGlm
CisKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlIZWxwVGV4dAogewogICAgIHJldHVy
biBzZWxmLmF4QmFja2luZ09iamVjdC0+aGVscFRleHRBdHRyaWJ1dGVWYWx1ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBkNWEzNmE0NDFkNzEuLmRj
MzgwZTlmNmFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4K
QEAgLTI3LDYgKzI3LDcgQEAgYXJpYS1jb2xzcGFuCiBhcmlhLWNvbnRyb2xzCiBhcmlhLWN1cnJl
bnQKIGFyaWEtZGVzY3JpYmVkYnkKK2FyaWEtZGVzY3JpcHRpb24KIGFyaWEtZGV0YWlscwogYXJp
YS1kaXNhYmxlZAogYXJpYS1kcm9wZWZmZWN0CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNw
cAppbmRleCAzOGM0OTAyNGU1NjUuLjA1N2E4NzJmNjQzYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuY3BwCkBAIC0xMTMsNiArMTEzLDcgQEAgSlNWYWx1ZVJlZiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjptYXRoUm9vdFJhZGljYW5kKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CiAKICNp
ZiAhUExBVEZPUk0oQ09DT0EpIHx8ICFFTkFCTEUoQUNDRVNTSUJJTElUWSkKIFJlZlB0cjxBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpmb2N1c2VkRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbnVs
bHB0cjsgfQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc0RvY3VtZW50Um9sZUFu
Y2VzdG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aGFzV2ViQXBwbGljYXRpb25BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGMyZGU2NDliYTNjZS4uNWY1ZTBiZmRi
NWY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMjM1LDYgKzIzNSw3IEBAIHB1
YmxpYzoKICAgICBpbnQgY29sdW1uQ291bnQoKTsKICAgICBKU1ZhbHVlUmVmIHJvd0hlYWRlcnMo
KSBjb25zdDsKICAgICBKU1ZhbHVlUmVmIGNvbHVtbkhlYWRlcnMoKSBjb25zdDsKKyAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gY3VzdG9tQ29udGVudCgpIGNvbnN0OwogCiAgICAgLy8gVHJl
ZS9PdXRsaW5lIHNwZWNpZmljIGF0dHJpYnV0ZXMKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gc2VsZWN0ZWRSb3dBdEluZGV4KHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IGYyNmNhZmMwODc0Mi4uZTYzOTRh
ZjY2YjdlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5p
ZGwKQEAgLTE3OSw2ICsxNzksNyBAQAogICAgIGxvbmcgY29sdW1uQ291bnQoKTsKICAgICBvYmpl
Y3QgY29sdW1uSGVhZGVycygpOwogICAgIG9iamVjdCByb3dIZWFkZXJzKCk7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBjdXN0b21Db250ZW50OwogCiAgICAgb2JqZWN0IGRldGFp
bHNFbGVtZW50cygpOwogICAgIG9iamVjdCBlcnJvck1lc3NhZ2VFbGVtZW50cygpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggY2MzYTc3NTBkZWIwLi5i
ZTNmYTAwMzU0NjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5t
bQpAQCAtMzksNiArMzksMTAgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0
Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1FV09S
SykKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eS5oPgorI2VuZGlmCisKIHR5
cGVkZWYgdm9pZCAoKkFYUG9zdGVkTm90aWZpY2F0aW9uQ2FsbGJhY2spKGlkIGVsZW1lbnQsIE5T
U3RyaW5nKiBub3RpZmljYXRpb24sIHZvaWQqIGNvbnRleHQpOwogCiBAaW50ZXJmYWNlIE5TT2Jq
ZWN0IChVSUFjY2Vzc2liaWxpdHlIaWRkZW4pCkBAIC00ODUsNiArNDg5LDE4IEBAIFJlZlB0cjxB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRB
dHRyaWJ1dGVWYWx1ZShKCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QK
K3sKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorICAgIFJldGFpblB0cjxOU011
dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxv
Y10gaW5pdF0pOworICAgIGZvciAoQVhDdXN0b21Db250ZW50ICpjb250ZW50IGluIFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKQorICAgICAgICBbY3VzdG9tQ29udGVudCBh
ZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDogJUAiLCBjb250ZW50Lmxh
YmVsLCBjb250ZW50LnZhbHVlXV07CisgICAgcmV0dXJuIFtbY3VzdG9tQ29udGVudC5nZXQoKSBj
b21wb25lbnRzSm9pbmVkQnlTdHJpbmc6QCJcbiJdIGNyZWF0ZUpTU3RyaW5nUmVmXTsKKyNlbHNl
CisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQogewogICAg
IGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGF0dHJpYnV0ZSwgIkFYSGFzVG91Y2hF
dmVudExpc3RlbmVyIikpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bQppbmRleCBjN2NkN2Y5MmY0OGYuLjdmYjg2NjRlODdmNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1h
Yy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC00Miw2ICs0MiwxMCBAQAogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKKyNpZiBIQVZF
KEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Lmg+CisjZW5kaWYKKwogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlET01JZGVudGlmaWVy
QXR0cmlidXRlIEAiQVhET01JZGVudGlmaWVyIgogCiAjaWZuZGVmIE5TQWNjZXNzaWJpbGl0eU93
bnNBdHRyaWJ1dGUKQEAgLTM5Myw2ICszOTcsMjMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpnZXRDaGlsZHJlbldpdGhSYW5nZShWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUUK
ICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiB9CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QKK3sKKyAgICBC
RUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JL
KQorICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0TlMo
W1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgIHNfY29udHJvbGxlci0+ZXhlY3V0
ZU9uQVhUaHJlYWRBbmRXYWl0KFsmY3VzdG9tQ29udGVudCwgdGhpc10geworICAgICAgICBmb3Ig
KEFYQ3VzdG9tQ29udGVudCAqY29udGVudCBpbiBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlDdXN0
b21Db250ZW50XSkKKyAgICAgICAgICAgIFtjdXN0b21Db250ZW50IGFkZE9iamVjdDpbTlNTdHJp
bmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOiAlQCIsIGNvbnRlbnQubGFiZWwsIGNvbnRlbnQudmFs
dWVdXTsKKyAgICB9KTsKKworICAgIHJldHVybiBbW2N1c3RvbUNvbnRlbnQuZ2V0KCkgY29tcG9u
ZW50c0pvaW5lZEJ5U3RyaW5nOkAiXG4iXSBjcmVhdGVKU1N0cmluZ1JlZl07CisjZWxzZQorICAg
IHJldHVybiBudWxscHRyOworI2VuZGlmCisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworfQor
CiBKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25zdAog
ewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNWZhYTY0NmNmN2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhcmlhLWRlc2NyaXB0
aW9uIG1hcHMgdG8gYXBwcm9wcmlhdGUgYXR0cmlidXRlcy4KKworQ3VzdG9tIGNvbnRlbnQ6IGRl
c2NyaXB0aW9uOiBMb25nZXIgZGVzY3JpcHRpb24KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitidXR0b24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi44ZWQwM2NkYzAyMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbApAQCAtMCwwICsxLDIyIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJidXR0b24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1kZXNj
cmlwdGlvbj0iTG9uZ2VyIGRlc2NyaXB0aW9uIj5idXR0b248L2Rpdj4KKworPHNjcmlwdD4KKyAg
ICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFyaWEtZGVzY3JpcHRp
b24gbWFwcyB0byBhcHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuXG4iOworCisgICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBjb25zdCBidXR0b24gPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGBDdXN0b20gY29udGVudDogJHtidXR0b24uY3VzdG9tQ29udGVu
dH1cbmA7CisgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgIH0KKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMWYwYTk3ODc0MjI1Li5iMGU1YmFhYWRmMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDgsNiArMjA4LDkgQEAgd2Via2l0Lm9yZy9i
LzIwODk4OCB3ZWJ4ciBbIFNraXAgXQogIyBDcmFzaCBvbiBFV1MgYm90Lgogd2VicnRjL3ZwOC10
aGVuLWgyNjQtZ3B1LXByb2Nlc3MtY3Jhc2guaHRtbCBbIFNraXAgXQogCisjIEFSSUEgZGVzY3Jp
cHRpb24gbmVlZHMgdG8gYmUgc3VwcG9ydGVkIG9uIEdUSy4KK2FjY2Vzc2liaWxpdHkvYXJpYS1k
ZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8KICMgRW5kIG9mIFRyaWFnZWQgRXhwZWN0YXRpb25zCiAjIExlZ2FjeSBFeHBlY3RhdGlv
bnMgc2VjdGlvbnMgYmVsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZWVhYzgwYWIzNjkuLjA3MThmYmE4Y2UzZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtOCw2ICs4LDcgQEAgYWNjZXNzaWJpbGl0eS9pbnNlcnQtbmV3bGluZS5odG1s
IFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2li
aWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItZGlzbWlzcy1hY3Rpb24uaHRtbCBbIFBhc3MgXQog
YWNjZXNzaWJpbGl0eS9lbWJlZGRlZC1pbWFnZS1kZXNjcmlwdGlvbi5odG1sIFsgUGFzcyBdCith
Y2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCBbIFBhc3MgXQogZmFzdC9tdWx0aWNv
bC9mbGV4Ym94LXJvd3MuaHRtbCBbIFNraXAgXQogCiBmYXN0L2Zvcm1zL2lucHV0LXRleHQtd29y
ZC13cmFwLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA0MGRmMGFmOGJhODIuLjgxZmExMmUyZjgwZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODc0LDYgKzg3
NCw3IEBAIGFjY2Vzc2liaWxpdHkvdmlzaWJsZS1jaGFyYWN0ZXItcmFuZ2UtaGVpZ2h0LWNoYW5n
ZXMuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1z
Y3JvbGxpbmcuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1y
YW5nZS13aWR0aC1jaGFuZ2VzLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvbW9kZWwtZWxl
bWVudC1hdHRyaWJ1dGVzLmh0bWwgWyBTa2lwIF0KK2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlw
dGlvbi5odG1sIFsgU2tpcCBdCiAKICMgPHJkYXI6Ly9wcm9ibGVtLzI2MDUwOTIzPiBUaGUgcmVz
dWx0IGlzIHByb2JhYmx5IHN0aWxsIGEgcGFzcywgYnV0IHdlIGRvbid0IGhhdmUgYSB3YXkKICMg
dG8gaGF2ZSBwbGF0Zm9ybSBzcGVjaWZpYyByZXN1bHRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3
ZWVuIFdLMSBhbmQgV0syLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA4YjA5YzgxYjA3NjcuLjlmNDg3ZTlmYTRkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ5Miw2ICs0OTIsNyBAQCBhY2Nlc3NpYmlsaXR5
L2xpc3Rib3gtY2xlYXItc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvZW1i
ZWRkZWQtaW1hZ2UtZGVzY3JpcHRpb24uaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9pbWct
bm8tYWx0LW5vdC1pZ25vcmVkLXdpdGgtdGl0bGUuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0
eS9tb2RlbC1lbGVtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNraXAgXQorYWNjZXNzaWJpbGl0eS9h
cmlhLWRlc2NyaXB0aW9uLmh0bWwgWyBTa2lwIF0KIAogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNo
YXJhY3Rlci1yYW5nZS1iYXNpYy5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUt
Y2hhcmFjdGVyLXJhbmdlLWhlaWdodC1jaGFuZ2VzLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461371</attachid>
            <date>2022-08-02 22:42:05 -0700</date>
            <delta_ts>2022-08-03 23:47:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20220802224204.patch</filename>
            <type>text/plain</type>
            <size>28419</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">RnJvbSBhYTI0MzA2M2ViYzUxZDA1ZDhhMzA4MmEzOWVkZWJiYTY0YTc3ZjAyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBGbGVpemFjaCA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCAyNyBKdWwgMjAyMiAwMTowODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEFY
OiBTdXBwb3J0IEFSSUEgMS4zIHByb3BlcnR5IGFyaWEtZGVzY3JpcHRpb24KIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYyNTMKClJldmlld2VkIGJ5IEFuZHJlcyBH
b256YWxlei4KCkFkZCBzdXBwb3J0IGZvciBhcmlhLWRlc2NyaXB0aW9uIG9uIEFwcGxlIHBsYXRm
b3JtcyBieSBtYXBwaW5nIHRvIEFYQ3VzdG9tQ29udGVudC4KCiogTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWw6IEFkZGVkLgoqIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CiogU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmg6
CiogU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIFNv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg6IEFkZGVk
LgoqIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1t
OiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuY3BwOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YXJpYURlc2NyaXB0aW9uIGNv
bnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRl
cmZhY2UuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQ
cm9wZXJ0aWVzKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW06CigtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyQmFzZSBhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudF0pOgoqIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluOgoqIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9tYWMucHk6CihNYWNQb3J0LmFyY2hpdGVjdHVyZSk6CiogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6CiogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6
CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmlkbDoKKiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgooV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpjdXN0b21Db250ZW50IGNvbnN0KToKKiBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgooV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50IGNvbnN0KToKLS0tCiBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCAgICAgICAgICAgICAgICAgfCAgNyArKysrCiAuLi4vV2Vi
Q29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogfCAxMCArKysrLQogLi4uL1BB
TC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggICAgIHwgMzcgKysrKysrKysrKysr
KysrKysrKwogLi4uL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tICAgIHwg
MzYgKysrKysrKysrKysrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmggICAgICAgfCAgMSArCiAuLi4vQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oICAg
ICAgICAgICAgfCAgMSArCiAuLi4vaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwICAg
ICAgICAgfCAgNCArKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmggICAgICAg
ICAgIHwgIDEgKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oICAgICAgICAgICAg
IHwgIDEgKwogLi4uL21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0gIHwg
MjEgKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
ICAgICB8ICAxICsKIC4uLi9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNw
cCB8ICAxICsKIC4uLi9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggICB8
ICAxICsKIC4uLi9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbCAgICAgICB8ICAx
ICsKIC4uLi9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSAgICAgICAgICB8IDE2ICsr
KysrKysrCiAuLi4vbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gICAgICAgICAgfCAy
MSArKysrKysrKysrKwogLi4uL2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0ICAgICAgICAg
ICAgIHwgIDggKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sICAg
ICAgIHwgMjIgKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zICAgICB8ICAzICsrCiAuLi4vcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0
YXRpb25zICAgfCAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgfCAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyAg
ICAgfCAgMSArCiAyMiBmaWxlcyBjaGFuZ2VkLCAxOTUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv
bigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNj
ZXNzaWJpbGl0eVNvZnRMaW5rLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbQogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3Jp
cHRpb24uaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMzAwNzg1OTM4ODNjLi43NjhjYTI5
YTQwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0xMzE4LDMgKzEzMTgsMTAgQEAKICAgICB8
fCBQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE2
MDAwMCkpCiAjZGVmaW5lIEhBVkVfTE9DS0RPV05fTU9ERV9QREZfQURESVRJT05TIDEKICNlbmRp
ZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE2MDApIFwKKyAgICB8fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApIFwK
KyAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSA3MDAwMCkgXAorICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKKyNkZWZpbmUgSEFWRV9BQ0NFU1NJQklMSVRZ
X0ZSQU1FV09SSyAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlYTJkYzZkOWZlNjEuLjQ3ZGRmNGU0YzQ2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNjYsNiArNjYsOCBAQAogCQkxQ0NBNUYwMDI4MEZBQkI0MDA4QTZGNzggLyogV2ViR1BVQ3Jl
YXRlSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUNDQTVFRkUyODBGQUJCNDAwOEE2Rjc4IC8qIFdlYkdQVUNyZWF0ZUltcGwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkxRDJCNDEzNDI1RjA1RTM1
MDBBM0Y3MEEgLyogQ2xvY2tHZW5lcmljLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFEMkI0MTMyMjVGMDVFMzQwMEEzRjcwQSAvKiBDbG9ja0dlbmVy
aWMuY3BwICovOyB9OwogCQkyOTNFRTRBODI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0
eVN1cHBvcnRTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyOTNFRTRBNjI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0eVN1cHBv
cnRTb2Z0TGluay5jcHAgKi87IH07CisJCTI5N0NCNDgyMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nl
c3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5N0NCNDgwMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExp
bmsuaCAqLzsgfTsKKwkJMjk3Q0I0ODMyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI5N0NCNDgxMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gKi87
IH07CiAJCTJFMTM0MkNEMjE1QUExMEEwMDcxOTlEMiAvKiBVSUtpdFNvZnRMaW5rLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUxMzQyQ0IyMTVBQTEw
QTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsubW0gKi87IH07CiAJCTMxNjQ3RkIwMjUxNzU5REQw
MDEwRjhGQiAvKiBPcGVuR0xTb2Z0TGlua0NvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2NDdGQUUyNTE3NTlEQjAwMTBGOEZCIC8qIE9wZW5H
TFNvZnRMaW5rQ29jb2EubW0gKi87IH07CiAJCTQxNkU5OTUzMjNEQUU2QkUwMEU4NzFDQiAvKiBB
dWRpb1Rvb2xib3hTb2Z0TGluay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTZFOTk1MTIzREFFNkJEMDBFODcxQ0IgLyogQXVkaW9Ub29sYm94U29m
dExpbmsuY3BwICovOyB9OwpAQCAtODQ4LDYgKzg1MCw4IEBACiAJCTFEMkI0MTMzMjVGMDVFMzUw
MEEzRjcwQSAvKiBDbG9ja0dlbmVyaWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2xvY2tHZW5lcmljLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5M0VFNEE2
MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyOTNFRTRBNzI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNz
aWJpbGl0eVN1cHBvcnRTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U3Vw
cG9ydFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5N0NCNDgwMjg4
QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5
N0NCNDgxMjg4QjExRDcwMEJCNzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjlDMTVGNDcyNUQ3NUY2MzAwMUNFMzFDIC8qIE1lZGlhQWNjZXNzaWJp
bGl0eVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUFjY2Vzc2liaWxpdHlTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlDREVCOUUyNTQ4RDA1NTAwN0MwN0I3IC8qIEFYU3Bl
ZWNoTWFuYWdlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBWFNwZWVjaE1hbmFnZXJTUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQwMkU5M0IyMDU2RkFBNzAwQTEzNzk3IC8qIEF1
ZGlvVG9vbGJveFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdWRpb1Rv
b2xib3hTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzAsNiArMTMzNCw4
IEBACiAJCTFDNDg3NkRFMUY4RDgzMTMwMENDRUVCRCAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMjk3Q0I0ODAyODhCMTFENzAwQkI3OTcx
IC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovLAorCQkJCTI5N0NCNDgxMjg4QjExRDcwMEJC
Nzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gKi8sCiAJCQkJNTdGRDMxODgyMkIzNTky
RjAwOEQwRThCIC8qIEFwcFNTT1NvZnRMaW5rLmggKi8sCiAJCQkJNTdGRDMxODkyMkIzNTkzRTAw
OEQwRThCIC8qIEFwcFNTT1NvZnRMaW5rLm1tICovLAogCQkJCTA3N0U4N0IwMjI2QTQ2MDIwMEEy
QUZGMCAvKiBBVkZvdW5kYXRpb25Tb2Z0TGluay5oICovLApAQCAtMTY2NCw2ICsxNjcwLDcgQEAK
IAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTI5N0NCNDgyMjg4QjExRDcwMEJCNzk3MSAvKiBB
Y2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREQ1MjdCQzkw
RDcwMDkzRDE3NSAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmggaW4gSGVhZGVycyAq
LywKIAkJCQlERDIwRERENjI3QkM5MEQ3MDA5M0QxNzUgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRT
UEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBERDFBMjdCQzkwRDYwMDkzRDE3NSAvKiBBcHBT
U09Tb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCkBAIC0xODA0LDYgKzE4MTEsNyBAQAogCQkJCURE
MjBERTQ1MjdCQzkwRDgwMDkzRDE3NSAvKiBQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUzNEYyNkY2Mjg0NkQwRDkwMDc2RTU0OSAvKiBQb3dlckxvZ1NQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJREQyMERFMDQyN0JDOTBEODAwOTNEMTc1IC8qIHB0aHJlYWRTUEkuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTVDQjg5OEIyMjg2Mjc0RkEwMENBMzQ4NSAvKiBRdWFyYW50aW5lU1BJLmggaW4g
SGVhZGVycyAqLywKIAkJCQlERDIwREUwNTI3QkM5MEQ4MDA5M0QxNzUgLyogUXVhcnR6Q29yZVNQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMERFM0YyN0JDOTBEODAwOTNEMTc1IC8qIFF1aWNr
TG9va01hY1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMEREQzEyN0JDOTBENzAwOTNEMTc1
IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKQEAgLTE5OTEsNyArMTk5OSw2
IEBACiAJCQkJREQyMEREQUUyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVBc3BlY3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREFGMjdCQzkwRDcwMDkzRDE3NSAvKiBXZWJHUFVU
ZXh0dXJlQmluZGluZ0xheW91dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMEREQjAyN0JDOTBE
NzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKLQkJ
CQk1Q0I4OThCMjI4NjI3NEZBMDBDQTM0ODUgLyogUXVhcmFudGluZVNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJREQyMEREQjEyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVEaW1lbnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREIyMjdCQzkwRDcwMDkzRDE3NSAvKiBXZWJH
UFVUZXh0dXJlRm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwREQzRTI3QkM5MEQ2MDA5
M0QxNzUgLyogV2ViR1BVVGV4dHVyZUltcGwuaCBpbiBIZWFkZXJzICovLApAQCAtMjEwMyw2ICsy
MTEwLDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCTI5N0NCNDgzMjg4QjExRDcwMEJC
Nzk3MSAvKiBBY2Nlc3NpYmlsaXR5U29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTNF
RTRBODI0MTU0RjhGMDA0NzQ5M0QgLyogQWNjZXNzaWJpbGl0eVN1cHBvcnRTb2Z0TGluay5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1N0ZEMzE4QTIyQjM1OTNFMDA4RDBFOEIgLyogQXBwU1NPU29m
dExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MTZFOTk1MzIzREFFNkJFMDBFODcxQ0IgLyog
QXVkaW9Ub29sYm94U29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0ZTg2MzM4NzEwMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5r
LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFW
RShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKworI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Lmg+CisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09GVF9MSU5LX0ZS
QU1FV09SS19GT1JfSEVBREVSKFBBTCwgQWNjZXNzaWJpbGl0eSk7CisKK1NPRlRfTElOS19DTEFT
U19GT1JfSEVBREVSKFBBTCwgQVhDdXN0b21Db250ZW50KTsKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjFjZjkwYzdhMDE0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5
U29mdExpbmsubW0KQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKworI2ltcG9ydCA8d3Rm
L1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNzaWJpbGl0eSwgUEFMX0VYUE9SVCk7CisKK1NPRlRfTElO
S19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNzaWJpbGl0eSwgQVhDdXN0
b21Db250ZW50LCBQQUxfRVhQT1JUKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDdlMGNjYjJkN2FiMy4u
Y2FmYTM2YjA5ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNDEzLDYgKzQxMyw3IEBAIHB1YmxpYzoKICAgICBTdHJp
bmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGdldEF0
dHJpYnV0ZShIVE1MTmFtZXM6OmFyaWFfYnJhaWxsZXJvbGVkZXNjcmlwdGlvbkF0dHIpOyB9CiAg
ICAgU3RyaW5nIGVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yPiBpbWFnZU92ZXJsYXlF
bGVtZW50cygpIG92ZXJyaWRlIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgfQorICAgIFN0cmluZyBl
eHRlbmRlZERlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZ2V0QXR0cmlidXRl
KEhUTUxOYW1lczo6YXJpYV9kZXNjcmlwdGlvbkF0dHIpOyB9CiAKICAgICAvLyBBYmJyZXZpYXRp
b25zCiAgICAgU3RyaW5nIGV4cGFuZGVkVGV4dFZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXggYWMzODM2OTJlZGM2Li42
OGViMjJmYTE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC0xMDc1LDYgKzEwNzUsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBlbWJlZGRlZEltYWdlRGVzY3JpcHRpb24oKSBj
b25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJl
blZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcg
ZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBw
b3J0c0FSSUFPd25zKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2ZURlc2Nl
bmRhbnRPZkZvY3VzZWRDb250YWluZXIoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuY3BwCmluZGV4IDk0NjcwZWZiYjZmOS4uOWMxYzlhNzI5YmM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmNwcApAQCAtMzk3LDYgKzM5NywxMCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFJlZjxBWENvcmVPYmplY3Q+IGNvcmVPYmplY3QsIElzUm9v
dAogICAgIGlmIChvYmplY3QuaXNXaWRnZXQoKSkKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9w
ZXJ0eU5hbWU6OklzV2lkZ2V0LCB0cnVlKTsKIAorICAgIGF1dG8gZXh0ZW5kZWREZXNjcmlwdGlv
biA9IG9iamVjdC5leHRlbmRlZERlc2NyaXB0aW9uKCk7CisgICAgaWYgKGV4dGVuZGVkRGVzY3Jp
cHRpb24ubGVuZ3RoKCkpCisgICAgICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFeHRl
bmRlZERlc2NyaXB0aW9uLCBleHRlbmRlZERlc2NyaXB0aW9uLmlzb2xhdGVkQ29weSgpKTsKKyAg
ICAKICAgICBpbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKGNvcmVPYmplY3QsIGlzUm9vdCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAppbmRleCAwNGZhYzgxNDhjZjguLmM1NjE0Y2U4
ZmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApAQCAtMjgyLDYgKzI4Miw3IEBAIHByaXZh
dGU6CiAgICAgU3RyaW5nIGJyYWlsbGVSb2xlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6QnJhaWxsZVJvbGVE
ZXNjcmlwdGlvbik7IH0KICAgICBTdHJpbmcgZW1iZWRkZWRJbWFnZURlc2NyaXB0aW9uKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6
OkVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbik7IH0KICAgICBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSBvdmVycmlkZSB7IHJl
dHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICBTdHJpbmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1l
OjpFeHRlbmRlZERlc2NyaXB0aW9uKTsgfQogCiAgICAgU3RyaW5nIGNvbXB1dGVkUm9sZVN0cmlu
ZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVy
dHlOYW1lOjpDb21wdXRlZFJvbGVTdHJpbmcpOyB9CiAgICAgYm9vbCBpc1ZhbHVlQXV0b2ZpbGxB
dmFpbGFibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQ
cm9wZXJ0eU5hbWU6OklzVmFsdWVBdXRvZmlsbEF2YWlsYWJsZSk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJl
ZS5oCmluZGV4IGVlNzQ1MzJmMjFhYy4uYzEwODc4YmMyNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVl
LmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBlbnVtIGNsYXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2
X3QgewogICAgIEVkaXRhYmxlQW5jZXN0b3IsCiAgICAgRW1iZWRkZWRJbWFnZURlc2NyaXB0aW9u
LAogICAgIEV4cGFuZGVkVGV4dFZhbHVlLAorICAgIEV4dGVuZGVkRGVzY3JpcHRpb24sCiAgICAg
RmlsZVVwbG9hZEJ1dHRvblJldHVybnNWYWx1ZUluVGl0bGUsCiAgICAgRm9jdXNhYmxlQW5jZXN0
b3IsCiAgICAgSGFzQVJJQVZhbHVlTm93LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLm1tCmluZGV4IDNkZDA3YTlhMmVjOS4uZTU0YjhiOWVjYTcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBAIC0zMSw2ICszMSw4IEBACiAKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Lmg+CisKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxp
dHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxpc3QuaCIKQEAgLTU5LDYg
KzYxLDcgQEAKICNpbXBvcnQgIlRleHRJdGVyYXRvci5oIgogI2ltcG9ydCAiVmlzaWJsZVVuaXRz
LmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KKyNpbXBvcnQgPHBhbC9jb2Nv
YS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbXBvcnQg
IldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmgiCkBAIC00MDMsNiArNDA2LDI0IEBA
IC0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKiliYXNlQWNjZXNzaWJpbGl0eVNwZWVjaEhpbnQKICAg
ICByZXR1cm4gWyhOU1N0cmluZyAqKXNlbGYuYXhCYWNraW5nT2JqZWN0LT5zcGVlY2hIaW50QXR0
cmlidXRlVmFsdWUoKSBjb21wb25lbnRzU2VwYXJhdGVkQnlTdHJpbmc6QCIgIl07CiB9CiAKKyNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorLSAoTlNBcnJheTxBWEN1c3RvbUNvbnRl
bnQgKj4gKilhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudAoreworICAgIGF1dG8qIGJhY2tpbmdP
YmplY3QgPSBbc2VsZiBiYXNlVXBkYXRlQmFja2luZ1N0b3JlXTsKKyAgICBpZiAoIWJhY2tpbmdP
YmplY3QpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgCisgICAgUmV0YWluUHRyPE5TTXV0YWJs
ZUFycmF5PEFYQ3VzdG9tQ29udGVudCAqPj4gYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnQgPSBu
aWw7CisgICAgYXV0byBleHRlbmRlZERlc2NyaXB0aW9uID0gYmFja2luZ09iamVjdC0+ZXh0ZW5k
ZWREZXNjcmlwdGlvbigpOworICAgIGlmIChleHRlbmRlZERlc2NyaXB0aW9uLmxlbmd0aCgpKSB7
CisgICAgICAgIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50ID0gYWRvcHROUyhbW05TTXV0YWJs
ZUFycmF5IGFsbG9jXSBpbml0XSk7CisgICAgICAgIFthY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVu
dCBhZGRPYmplY3Q6W1BBTDo6Z2V0QVhDdXN0b21Db250ZW50Q2xhc3MoKSBjdXN0b21Db250ZW50
V2l0aExhYmVsOldFQl9VSV9TVFJJTkcoImRlc2NyaXB0aW9uIiwgImRlc2NyaXB0aW9uIGRldGFp
bCIpIHZhbHVlOmV4dGVuZGVkRGVzY3JpcHRpb25dXTsKKyAgICB9CisgICAgCisgICAgcmV0dXJu
IGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50LmdldCgpOworfQorI2VuZGlmCisKIC0gKE5TU3Ry
aW5nICopYmFzZUFjY2Vzc2liaWxpdHlIZWxwVGV4dAogewogICAgIHJldHVybiBzZWxmLmF4QmFj
a2luZ09iamVjdC0+aGVscFRleHRBdHRyaWJ1dGVWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBkNWEzNmE0NDFkNzEuLmRjMzgwZTlmNmFiYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTI3LDYgKzI3
LDcgQEAgYXJpYS1jb2xzcGFuCiBhcmlhLWNvbnRyb2xzCiBhcmlhLWN1cnJlbnQKIGFyaWEtZGVz
Y3JpYmVkYnkKK2FyaWEtZGVzY3JpcHRpb24KIGFyaWEtZGV0YWlscwogYXJpYS1kaXNhYmxlZAog
YXJpYS1kcm9wZWZmZWN0CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAppbmRleCAzOGM0
OTAyNGU1NjUuLjA1N2E4NzJmNjQzYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3Bw
CkBAIC0xMTMsNiArMTEzLDcgQEAgSlNWYWx1ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpt
YXRoUm9vdFJhZGljYW5kKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CiAKICNpZiAhUExBVEZPUk0o
Q09DT0EpIHx8ICFFTkFCTEUoQUNDRVNTSUJJTElUWSkKIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpmb2N1c2VkRWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIG51bGxwdHI7IH0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogCiBi
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc0RvY3VtZW50Um9sZUFuY2VzdG9yKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGFzV2Vi
QXBwbGljYXRpb25BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oCmluZGV4IGMyZGU2NDliYTNjZS4uNWY1ZTBiZmRiNWY5IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMjM1LDYgKzIzNSw3IEBAIHB1YmxpYzoKICAgICBp
bnQgY29sdW1uQ291bnQoKTsKICAgICBKU1ZhbHVlUmVmIHJvd0hlYWRlcnMoKSBjb25zdDsKICAg
ICBKU1ZhbHVlUmVmIGNvbHVtbkhlYWRlcnMoKSBjb25zdDsKKyAgICBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gY3VzdG9tQ29udGVudCgpIGNvbnN0OwogCiAgICAgLy8gVHJlZS9PdXRsaW5lIHNw
ZWNpZmljIGF0dHJpYnV0ZXMKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gc2Vs
ZWN0ZWRSb3dBdEluZGV4KHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IGYyNmNhZmMwODc0Mi4uZTYzOTRhZjY2YjdlIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKQEAgLTE3OSw2
ICsxNzksNyBAQAogICAgIGxvbmcgY29sdW1uQ291bnQoKTsKICAgICBvYmplY3QgY29sdW1uSGVh
ZGVycygpOwogICAgIG9iamVjdCByb3dIZWFkZXJzKCk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBjdXN0b21Db250ZW50OwogCiAgICAgb2JqZWN0IGRldGFpbHNFbGVtZW50cygp
OwogICAgIG9iamVjdCBlcnJvck1lc3NhZ2VFbGVtZW50cygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggY2MzYTc3NTBkZWIwLi5iZTNmYTAwMzU0NjIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQpAQCAtMzksNiAr
MzksMTAgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0
b3JDb2NvYS5oPgogCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1FV09SSykKKyNpbXBvcnQg
PEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eS5oPgorI2VuZGlmCisKIHR5cGVkZWYgdm9pZCAo
KkFYUG9zdGVkTm90aWZpY2F0aW9uQ2FsbGJhY2spKGlkIGVsZW1lbnQsIE5TU3RyaW5nKiBub3Rp
ZmljYXRpb24sIHZvaWQqIGNvbnRleHQpOwogCiBAaW50ZXJmYWNlIE5TT2JqZWN0IChVSUFjY2Vz
c2liaWxpdHlIaWRkZW4pCkBAIC00ODUsNiArNDg5LDE4IEBAIFJlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRBdHRyaWJ1dGVWYWx1
ZShKCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QKK3sKKyNpZiBIQVZF
KEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4g
Y3VzdG9tQ29udGVudCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwor
ICAgIGZvciAoQVhDdXN0b21Db250ZW50ICpjb250ZW50IGluIFttX2VsZW1lbnQgYWNjZXNzaWJp
bGl0eUN1c3RvbUNvbnRlbnRdKQorICAgICAgICBbY3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W05T
U3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDogJUAiLCBjb250ZW50LmxhYmVsLCBjb250ZW50
LnZhbHVlXV07CisgICAgcmV0dXJuIFtbY3VzdG9tQ29udGVudC5nZXQoKSBjb21wb25lbnRzSm9p
bmVkQnlTdHJpbmc6QCJcbiJdIGNyZWF0ZUpTU3RyaW5nUmVmXTsKKyNlbHNlCisgICAgcmV0dXJu
IG51bGxwdHI7CisjZW5kaWYKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29s
QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQogewogICAgIGlmIChKU1N0cmlu
Z0lzRXF1YWxUb1VURjhDU3RyaW5nKGF0dHJpYnV0ZSwgIkFYSGFzVG91Y2hFdmVudExpc3RlbmVy
IikpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCBjN2Nk
N2Y5MmY0OGYuLjdmYjg2NjRlODdmNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tCkBAIC00Miw2ICs0MiwxMCBAQAogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFlfRlJBTUVXT1JLKQorI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Lmg+Cisj
ZW5kaWYKKwogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlET01JZGVudGlmaWVyQXR0cmlidXRlIEAi
QVhET01JZGVudGlmaWVyIgogCiAjaWZuZGVmIE5TQWNjZXNzaWJpbGl0eU93bnNBdHRyaWJ1dGUK
QEAgLTM5Myw2ICszOTcsMjMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGls
ZHJlbldpdGhSYW5nZShWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUUKICAgICBFTkRfQVhf
T0JKQ19FWENFUFRJT05TCiB9CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QKK3sKKyAgICBCRUdJTl9BWF9PQkpD
X0VYQ0VQVElPTlMKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorICAgIFJldGFp
blB0cjxOU011dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0TlMoW1tOU011dGFibGVB
cnJheSBhbGxvY10gaW5pdF0pOworICAgIHNfY29udHJvbGxlci0+ZXhlY3V0ZU9uQVhUaHJlYWRB
bmRXYWl0KFsmY3VzdG9tQ29udGVudCwgdGhpc10geworICAgICAgICBmb3IgKEFYQ3VzdG9tQ29u
dGVudCAqY29udGVudCBpbiBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50XSkK
KyAgICAgICAgICAgIFtjdXN0b21Db250ZW50IGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0
aEZvcm1hdDpAIiVAOiAlQCIsIGNvbnRlbnQubGFiZWwsIGNvbnRlbnQudmFsdWVdXTsKKyAgICB9
KTsKKworICAgIHJldHVybiBbW2N1c3RvbUNvbnRlbnQuZ2V0KCkgY29tcG9uZW50c0pvaW5lZEJ5
U3RyaW5nOkAiXG4iXSBjcmVhdGVKU1N0cmluZ1JlZl07CisjZWxzZQorICAgIHJldHVybiBudWxs
cHRyOworI2VuZGlmCisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworfQorCiBKU1ZhbHVlUmVm
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25zdAogewogICAgIEJFR0lO
X0FYX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi5hNWZhYTY0NmNmN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOCBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhcmlhLWRlc2NyaXB0aW9uIG1hcHMgdG8g
YXBwcm9wcmlhdGUgYXR0cmlidXRlcy4KKworQ3VzdG9tIGNvbnRlbnQ6IGRlc2NyaXB0aW9uOiBM
b25nZXIgZGVzY3JpcHRpb24KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitidXR0b24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlh
LWRlc2NyaXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
Li44ZWQwM2NkYzAyMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorCis8ZGl2IGlkPSJidXR0b24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1kZXNjcmlwdGlvbj0iTG9u
Z2VyIGRlc2NyaXB0aW9uIj5idXR0b248L2Rpdj4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVzdE91
dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFyaWEtZGVzY3JpcHRpb24gbWFwcyB0byBh
cHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuXG4iOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmls
aXR5Q29udHJvbGxlcikgeworICAgICAgICBjb25zdCBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbiIpOworICAgICAgICB0ZXN0T3V0
cHV0ICs9IGBDdXN0b20gY29udGVudDogJHtidXR0b24uY3VzdG9tQ29udGVudH1cbmA7CisgICAg
ICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWYw
YTk3ODc0MjI1Li5iMGU1YmFhYWRmMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0yMDgsNiArMjA4LDkgQEAgd2Via2l0Lm9yZy9iLzIwODk4OCB3ZWJ4
ciBbIFNraXAgXQogIyBDcmFzaCBvbiBFV1MgYm90Lgogd2VicnRjL3ZwOC10aGVuLWgyNjQtZ3B1
LXByb2Nlc3MtY3Jhc2guaHRtbCBbIFNraXAgXQogCisjIEFSSUEgZGVzY3JpcHRpb24gbmVlZHMg
dG8gYmUgc3VwcG9ydGVkIG9uIEdUSy4KK2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5o
dG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5k
IG9mIFRyaWFnZWQgRXhwZWN0YXRpb25zCiAjIExlZ2FjeSBFeHBlY3RhdGlvbnMgc2VjdGlvbnMg
YmVsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBlZWVhYzgwYWIzNjkuLjA3MThmYmE4Y2UzZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
OCw2ICs4LDcgQEAgYWNjZXNzaWJpbGl0eS9pbnNlcnQtbmV3bGluZS5odG1sIFsgUGFzcyBdCiBh
Y2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkva2V5ZXZl
bnRzLXBvc3RlZC1mb3ItZGlzbWlzcy1hY3Rpb24uaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0
eS9lbWJlZGRlZC1pbWFnZS1kZXNjcmlwdGlvbi5odG1sIFsgUGFzcyBdCithY2Nlc3NpYmlsaXR5
L2FyaWEtZGVzY3JpcHRpb24uaHRtbCBbIFBhc3MgXQogZmFzdC9tdWx0aWNvbC9mbGV4Ym94LXJv
d3MuaHRtbCBbIFNraXAgXQogCiBmYXN0L2Zvcm1zL2lucHV0LXRleHQtd29yZC13cmFwLmh0bWwg
WyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA0MGRmMGFmOGJhODIuLjgxZmExMmUyZjgwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODc0LDYgKzg3NCw3IEBAIGFjY2Vz
c2liaWxpdHkvdmlzaWJsZS1jaGFyYWN0ZXItcmFuZ2UtaGVpZ2h0LWNoYW5nZXMuaHRtbCBbIFNr
aXAgXQogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1zY3JvbGxpbmcuaHRt
bCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS13aWR0aC1j
aGFuZ2VzLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvbW9kZWwtZWxlbWVudC1hdHRyaWJ1
dGVzLmh0bWwgWyBTa2lwIF0KK2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIFsg
U2tpcCBdCiAKICMgPHJkYXI6Ly9wcm9ibGVtLzI2MDUwOTIzPiBUaGUgcmVzdWx0IGlzIHByb2Jh
Ymx5IHN0aWxsIGEgcGFzcywgYnV0IHdlIGRvbid0IGhhdmUgYSB3YXkKICMgdG8gaGF2ZSBwbGF0
Zm9ybSBzcGVjaWZpYyByZXN1bHRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFdLMSBhbmQg
V0syLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4YjA5
YzgxYjA3NjcuLjlmNDg3ZTlmYTRkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQ5Miw2ICs0OTIsNyBAQCBhY2Nlc3NpYmlsaXR5L2xpc3Rib3gtY2xl
YXItc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvZW1iZWRkZWQtaW1hZ2Ut
ZGVzY3JpcHRpb24uaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9pbWctbm8tYWx0LW5vdC1p
Z25vcmVkLXdpdGgtdGl0bGUuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVt
ZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNraXAgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0
aW9uLmh0bWwgWyBTa2lwIF0KIAogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5n
ZS1iYXNpYy5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJh
bmdlLWhlaWdodC1jaGFuZ2VzLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461393</attachid>
            <date>2022-08-03 23:47:41 -0700</date>
            <delta_ts>2022-08-04 00:39:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20220803234740.patch</filename>
            <type>text/plain</type>
            <size>29079</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">RnJvbSA2ODBiOTMyZjMwNTA1M2YyY2U2Yjg5ZmRkNzFkZDY0YWY3MDgzYWU0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBGbGVpemFjaCA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCAyNyBKdWwgMjAyMiAwMTowODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdICBB
WDogU3VwcG9ydCBBUklBIDEuMyBwcm9wZXJ0eSBhcmlhLWRlc2NyaXB0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjUzCgpSZXZpZXdlZCBieSBBbmRyZXMg
R29uemFsZXouCgpBZGQgc3VwcG9ydCBmb3IgYXJpYS1kZXNjcmlwdGlvbiBvbiBBcHBsZSBwbGF0
Zm9ybXMgYnkgbWFwcGluZyB0byBBWEN1c3RvbUNvbnRlbnQuCgoqIExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sOiBBZGRlZC4KKiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgoqIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgoqIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
OgoqIFNvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBT
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oOiBBZGRl
ZC4KKiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5t
bTogQWRkZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFEZXNjcmlwdGlvbiBj
b25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZE9iamVjdC5jcHA6CihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXpl
UHJvcGVydGllcyk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZE9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tOgooLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKToKKiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbWFjLnB5OgooTWFjUG9ydC5hcmNoaXRlY3R1cmUpOgoqIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CihX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmN1c3RvbUNvbnRlbnQgY29uc3QpOgoqIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
OgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5pZGw6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6Ci0tLQogU291cmNl
L1dURi93dGYvUGxhdGZvcm1IYXZlLmggICAgICAgICAgICAgICAgIHwgIDcgKysrKwogLi4uL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIHwgMTAgKysrKy0KIC4uLi9Q
QUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oICAgICB8IDM3ICsrKysrKysrKysr
KysrKysrKysKIC4uLi9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAgICB8
IDM2ICsrKysrKysrKysrKysrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oICAgICAgIHwgIDEgKwogLi4uL0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAg
ICAgICAgICAgIHwgIDEgKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCAg
ICAgICAgIHwgIDQgKysKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oICAgICAg
ICAgICB8ICAxICsKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCAgICAgICAgICAg
ICB8ICAxICsKIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tICB8
IDIxICsrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biAgICAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oICAg
fCAgMSArCiAuLi4vQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgICAgICAgfCAg
MSArCiAuLi4vaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0gICAgICAgICAgfCAxNiAr
KysrKysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwg
MjEgKysrKysrKysrKysKIC4uLi9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCAgICAgICAg
ICAgICB8ICA4ICsrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCAg
ICAgICB8IDIyICsrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucyAgICAgfCAgMyArKwogLi4uL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVj
dGF0aW9ucyAgIHwgIDEgKwogLi4uL3BsYXRmb3JtL21hYy1iaWdzdXItd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgIHwgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zIHwgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgICAg
IHwgIDEgKwogMjMgZmlsZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vz
c2liaWxpdHlTb2Z0TGluay5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0
aW9uLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDMwMDc4NTkzODgzYy4uNGRlZjBkODYx
ZTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTMxOCwzICsxMzE4LDEwIEBACiAgICAgfHwg
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNjAw
MDApKQogI2RlZmluZSBIQVZFX0xPQ0tET1dOX01PREVfUERGX0FERElUSU9OUyAxCiAjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNjAwKSBcCisgICAgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkgXAorICAgIHx8IChQTEFURk9STShXQVRD
SE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAwKSBcCisgICAg
fHwgKFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTQwMDAwKQorI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGVhMmRjNmQ5ZmU2MS4uNDdkZGY0ZTRjNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Niw2ICs2Niw4IEBACiAJCTFD
Q0E1RjAwMjgwRkFCQjQwMDhBNkY3OCAvKiBXZWJHUFVDcmVhdGVJbXBsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0NBNUVGRTI4MEZBQkI0MDA4QTZG
NzggLyogV2ViR1BVQ3JlYXRlSW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTFEMkI0MTM0MjVGMDVFMzUwMEEzRjcwQSAvKiBDbG9ja0dlbmVy
aWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQy
QjQxMzIyNUYwNUUzNDAwQTNGNzBBIC8qIENsb2NrR2VuZXJpYy5jcHAgKi87IH07CiAJCTI5M0VF
NEE4MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5M0VFNEE2MjQx
NTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCAqLzsgfTsK
KwkJMjk3Q0I0ODIyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3Q0I0ODAyODhC
MTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyB9OworCQkyOTdDQjQ4
MzI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3Q0I0ODEyODhCMTFENzAwQkI3
OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAqLzsgfTsKIAkJMkUxMzQyQ0QyMTVBQTEw
QTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRTEzNDJDQjIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0
TGluay5tbSAqLzsgfTsKIAkJMzE2NDdGQjAyNTE3NTlERDAwMTBGOEZCIC8qIE9wZW5HTFNvZnRM
aW5rQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTY0N0ZBRTI1MTc1OURCMDAxMEY4RkIgLyogT3BlbkdMU29mdExpbmtDb2NvYS5tbSAqLzsg
fTsKIAkJNDE2RTk5NTMyM0RBRTZCRTAwRTg3MUNCIC8qIEF1ZGlvVG9vbGJveFNvZnRMaW5rLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU5OTUx
MjNEQUU2QkQwMEU4NzFDQiAvKiBBdWRpb1Rvb2xib3hTb2Z0TGluay5jcHAgKi87IH07CkBAIC04
NDgsNiArODUwLDggQEAKIAkJMUQyQjQxMzMyNUYwNUUzNTAwQTNGNzBBIC8qIENsb2NrR2VuZXJp
Yy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbG9ja0dlbmVyaWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkzRUU0QTYyNDE1NEY4RjAwNDc0OTNEIC8qIEFj
Y2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eVN1cHBvcnRTb2Z0TGluay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5M0VFNEE3MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5r
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjk3Q0I0ODAyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vz
c2liaWxpdHlTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U29mdExpbmsu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjk3Q0I0ODEyODhCMTFENzAwQkI3OTcx
IC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUMxNUY0
NzI1RDc1RjYzMDAxQ0UzMUMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyOUNERUI5RTI1NDhEMDU1MDA3QzA3QjcgLyogQVhTcGVlY2hNYW5hZ2VyU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFYU3BlZWNoTWFuYWdlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDAyRTkzQjIwNTZGQUE3MDBBMTM3OTcgLyogQXVkaW9Ub29sYm94U1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvVG9vbGJveFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTMzMCw2ICsxMzM0LDggQEAKIAkJMUM0ODc2REUxRjhEODMx
MzAwQ0NFRUJEIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQkyOTdDQjQ4MDI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRM
aW5rLmggKi8sCisJCQkJMjk3Q0I0ODEyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSAqLywKIAkJCQk1N0ZEMzE4ODIyQjM1OTJGMDA4RDBFOEIgLyogQXBwU1NPU29m
dExpbmsuaCAqLywKIAkJCQk1N0ZEMzE4OTIyQjM1OTNFMDA4RDBFOEIgLyogQXBwU1NPU29mdExp
bmsubW0gKi8sCiAJCQkJMDc3RTg3QjAyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNv
ZnRMaW5rLmggKi8sCkBAIC0xNjY0LDYgKzE2NzAsNyBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1
aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAo
CisJCQkJMjk3Q0I0ODIyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMERERDUyN0JDOTBENzAwOTNEMTc1IC8qIEFjY2Vzc2li
aWxpdHlTdXBwb3J0U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREQ2MjdCQzkw
RDcwMDkzRDE3NSAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJREQyMEREMUEyN0JDOTBENjAwOTNEMTc1IC8qIEFwcFNTT1NvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLywKQEAgLTE4MDQsNiArMTgxMSw3IEBACiAJCQkJREQyMERFNDUyN0JDOTBEODAwOTNEMTc1
IC8qIFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM0RjI2RjYyODQ2RDBEOTAwNzZF
NTQ5IC8qIFBvd2VyTG9nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwREUwNDI3QkM5MEQ4
MDA5M0QxNzUgLyogcHRocmVhZFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNCODk4QjIyODYy
NzRGQTAwQ0EzNDg1IC8qIFF1YXJhbnRpbmVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBE
RTA1MjdCQzkwRDgwMDkzRDE3NSAvKiBRdWFydHpDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlERDIwREUzRjI3QkM5MEQ4MDA5M0QxNzUgLyogUXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlERDIwRERDMTI3QkM5MEQ3MDA5M0QxNzUgLyogUXVpY2tMb29rU29mdExpbmsu
aCBpbiBIZWFkZXJzICovLApAQCAtMTk5MSw3ICsxOTk5LDYgQEAKIAkJCQlERDIwRERBRTI3QkM5
MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4dHVyZUFzcGVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
REQyMEREQUYyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVCaW5kaW5nTGF5b3V0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMDI3QkM5MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTVDQjg5OEIyMjg2Mjc0RkEwMENB
MzQ4NSAvKiBRdWFyYW50aW5lU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMTI3QkM5
MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4dHVyZURpbWVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJREQyMEREQjIyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVGb3JtYXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUREMjBERDNFMjdCQzkwRDYwMDkzRDE3NSAvKiBXZWJHUFVUZXh0dXJl
SW1wbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTAzLDYgKzIxMTAsNyBAQAogCQkJaXNhID0gUEJY
U291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJ
ZmlsZXMgPSAoCisJCQkJMjk3Q0I0ODMyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5M0VFNEE4MjQxNTRGOEYwMDQ3NDkzRCAv
KiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3
RkQzMThBMjJCMzU5M0UwMDhEMEU4QiAvKiBBcHBTU09Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQxNkU5OTUzMjNEQUU2QkUwMEU4NzFDQiAvKiBBdWRpb1Rvb2xib3hTb2Z0TGluay5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uODRlODYzMzg3MTAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaApAQCAtMCwwICsxLDM3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQorCisjaW1wb3J0IDxBY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHkuaD4KKyNpbXBvcnQg
PHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoUEFM
LCBBY2Nlc3NpYmlsaXR5KTsKKworU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBWEN1
c3RvbUNvbnRlbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi44Y2I4ZGMzZGJmOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbQpAQCAtMCwwICsx
LDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFlfRlJBTUVXT1JLKQorCisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09G
VF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFKFBBTCwgQWNjZXNzaWJpbGl0eSwgUEFMX0VYUE9S
VCk7CisKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNz
aWJpbGl0eSwgQVhDdXN0b21Db250ZW50LCBQQUxfRVhQT1JUKTsKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4
IDdlMGNjYjJkN2FiMy4uY2FmYTM2YjA5ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNDEzLDYgKzQxMyw3IEBAIHB1
YmxpYzoKICAgICBTdHJpbmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFyaWFfYnJhaWxsZXJvbGVkZXNjcmlw
dGlvbkF0dHIpOyB9CiAgICAgU3RyaW5nIGVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbigpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9y
PiBpbWFnZU92ZXJsYXlFbGVtZW50cygpIG92ZXJyaWRlIHsgcmV0dXJuIHN0ZDo6bnVsbG9wdDsg
fQorICAgIFN0cmluZyBleHRlbmRlZERlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6YXJpYV9kZXNjcmlwdGlvbkF0dHIpOyB9CiAKICAg
ICAvLyBBYmJyZXZpYXRpb25zCiAgICAgU3RyaW5nIGV4cGFuZGVkVGV4dFZhbHVlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXgg
YWMzODM2OTJlZGM2Li42OGViMjJmYTE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC0x
MDc1LDYgKzEwNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgYnJhaWxsZVJvbGVE
ZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBlbWJlZGRlZEltYWdl
RGVzY3JpcHRpb24oKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMoKSA9IDA7CisgICAg
dmlydHVhbCBTdHJpbmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKIAogICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0c0FSSUFPd25zKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBpc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250YWluZXIoKSBjb25zdCA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IDk0NjcwZWZiYjZmOS4uOWMxYzlhNzI5YmM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtMzk3LDYgKzM5NywxMCBAQCB2b2lkIEFY
SXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFJlZjxBWENvcmVPYmplY3Q+IGNv
cmVPYmplY3QsIElzUm9vdAogICAgIGlmIChvYmplY3QuaXNXaWRnZXQoKSkKICAgICAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzV2lkZ2V0LCB0cnVlKTsKIAorICAgIGF1dG8gZXh0
ZW5kZWREZXNjcmlwdGlvbiA9IG9iamVjdC5leHRlbmRlZERlc2NyaXB0aW9uKCk7CisgICAgaWYg
KGV4dGVuZGVkRGVzY3JpcHRpb24ubGVuZ3RoKCkpCisgICAgICAgIHNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uLCBleHRlbmRlZERlc2NyaXB0aW9uLmlzb2xh
dGVkQ29weSgpKTsKKyAgICAKICAgICBpbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKGNvcmVP
YmplY3QsIGlzUm9vdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaAppbmRleCAwNGZhYzgx
NDhjZjguLmM1NjE0Y2U4ZmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApAQCAtMjgyLDYg
KzI4Miw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGJyYWlsbGVSb2xlRGVzY3JpcHRpb24oKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFt
ZTo6QnJhaWxsZVJvbGVEZXNjcmlwdGlvbik7IH0KICAgICBTdHJpbmcgZW1iZWRkZWRJbWFnZURl
c2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUo
QVhQcm9wZXJ0eU5hbWU6OkVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbik7IH0KICAgICBzdGQ6Om9w
dGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMo
KSBvdmVycmlkZSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICBTdHJpbmcgZXh0ZW5kZWRE
ZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVl
KEFYUHJvcGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uKTsgfQogCiAgICAgU3RyaW5nIGNv
bXB1dGVkUm9sZVN0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0
ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDb21wdXRlZFJvbGVTdHJpbmcpOyB9CiAgICAgYm9vbCBp
c1ZhbHVlQXV0b2ZpbGxBdmFpbGFibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0
cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzVmFsdWVBdXRvZmlsbEF2YWlsYWJsZSk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IGVlNzQ1MzJmMjFhYy4uYzEwODc4YmMyNGMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBlbnVtIGNsYXNzIEFYUHJvcGVy
dHlOYW1lIDogdWludDE2X3QgewogICAgIEVkaXRhYmxlQW5jZXN0b3IsCiAgICAgRW1iZWRkZWRJ
bWFnZURlc2NyaXB0aW9uLAogICAgIEV4cGFuZGVkVGV4dFZhbHVlLAorICAgIEV4dGVuZGVkRGVz
Y3JpcHRpb24sCiAgICAgRmlsZVVwbG9hZEJ1dHRvblJldHVybnNWYWx1ZUluVGl0bGUsCiAgICAg
Rm9jdXNhYmxlQW5jZXN0b3IsCiAgICAgSGFzQVJJQVZhbHVlTm93LApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJCYXNlLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCmluZGV4IDNkZDA3YTlhMmVjOS4uZTU0YjhiOWVjYTcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBAIC0zMSw2ICsz
MSw4IEBACiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9ydCA8QWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Lmg+CisKICNpbXBvcnQgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbXBv
cnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUxp
c3QuaCIKQEAgLTU5LDYgKzYxLDcgQEAKICNpbXBvcnQgIlRleHRJdGVyYXRvci5oIgogI2ltcG9y
dCAiVmlzaWJsZVVuaXRzLmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KKyNp
bXBvcnQgPHBhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaD4KIAogI2lmIFBMQVRGT1JN
KE1BQykKICNpbXBvcnQgIldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLmgiCkBAIC00
MDMsNiArNDA2LDI0IEBAIC0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKiliYXNlQWNjZXNzaWJpbGl0
eVNwZWVjaEhpbnQKICAgICByZXR1cm4gWyhOU1N0cmluZyAqKXNlbGYuYXhCYWNraW5nT2JqZWN0
LT5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKSBjb21wb25lbnRzU2VwYXJhdGVkQnlTdHJpbmc6
QCIgIl07CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorLSAoTlNBcnJh
eTxBWEN1c3RvbUNvbnRlbnQgKj4gKilhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudAoreworICAg
IGF1dG8qIGJhY2tpbmdPYmplY3QgPSBbc2VsZiBiYXNlVXBkYXRlQmFja2luZ1N0b3JlXTsKKyAg
ICBpZiAoIWJhY2tpbmdPYmplY3QpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgCisgICAgUmV0
YWluUHRyPE5TTXV0YWJsZUFycmF5PEFYQ3VzdG9tQ29udGVudCAqPj4gYWNjZXNzaWJpbGl0eUN1
c3RvbUNvbnRlbnQgPSBuaWw7CisgICAgYXV0byBleHRlbmRlZERlc2NyaXB0aW9uID0gYmFja2lu
Z09iamVjdC0+ZXh0ZW5kZWREZXNjcmlwdGlvbigpOworICAgIGlmIChleHRlbmRlZERlc2NyaXB0
aW9uLmxlbmd0aCgpKSB7CisgICAgICAgIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50ID0gYWRv
cHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CisgICAgICAgIFthY2Nlc3NpYmls
aXR5Q3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W1BBTDo6Z2V0QVhDdXN0b21Db250ZW50Q2xhc3Mo
KSBjdXN0b21Db250ZW50V2l0aExhYmVsOldFQl9VSV9TVFJJTkcoImRlc2NyaXB0aW9uIiwgImRl
c2NyaXB0aW9uIGRldGFpbCIpIHZhbHVlOmV4dGVuZGVkRGVzY3JpcHRpb25dXTsKKyAgICB9Cisg
ICAgCisgICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50LmdldCgpOworfQorI2Vu
ZGlmCisKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlIZWxwVGV4dAogewogICAgIHJl
dHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+aGVscFRleHRBdHRyaWJ1dGVWYWx1ZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBkNWEzNmE0NDFkNzEu
LmRjMzgwZTlmNmFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMu
aW4KQEAgLTI3LDYgKzI3LDcgQEAgYXJpYS1jb2xzcGFuCiBhcmlhLWNvbnRyb2xzCiBhcmlhLWN1
cnJlbnQKIGFyaWEtZGVzY3JpYmVkYnkKK2FyaWEtZGVzY3JpcHRpb24KIGFyaWEtZGV0YWlscwog
YXJpYS1kaXNhYmxlZAogYXJpYS1kcm9wZWZmZWN0CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmNwcAppbmRleCAzOGM0OTAyNGU1NjUuLjA1N2E4NzJmNjQzYyAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuY3BwCkBAIC0xMTMsNiArMTEzLDcgQEAgSlNWYWx1ZVJlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjptYXRoUm9vdFJhZGljYW5kKCkgY29uc3QgeyByZXR1cm4geyB9OyB9CiAK
ICNpZiAhUExBVEZPUk0oQ09DT0EpIHx8ICFFTkFCTEUoQUNDRVNTSUJJTElUWSkKIFJlZlB0cjxB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpmb2N1c2VkRWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QgeyByZXR1cm4g
bnVsbHB0cjsgfQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc0RvY3VtZW50Um9s
ZUFuY2VzdG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aGFzV2ViQXBwbGljYXRpb25BbmNlc3RvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGMyZGU2NDliYTNjZS4uNWY1ZTBi
ZmRiNWY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMjM1LDYgKzIzNSw3IEBA
IHB1YmxpYzoKICAgICBpbnQgY29sdW1uQ291bnQoKTsKICAgICBKU1ZhbHVlUmVmIHJvd0hlYWRl
cnMoKSBjb25zdDsKICAgICBKU1ZhbHVlUmVmIGNvbHVtbkhlYWRlcnMoKSBjb25zdDsKKyAgICBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gY3VzdG9tQ29udGVudCgpIGNvbnN0OwogCiAgICAgLy8g
VHJlZS9PdXRsaW5lIHNwZWNpZmljIGF0dHJpYnV0ZXMKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gc2VsZWN0ZWRSb3dBdEluZGV4KHVuc2lnbmVkKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IGYyNmNhZmMwODc0Mi4uZTYz
OTRhZjY2YjdlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5pZGwKQEAgLTE3OSw2ICsxNzksNyBAQAogICAgIGxvbmcgY29sdW1uQ291bnQoKTsKICAgICBv
YmplY3QgY29sdW1uSGVhZGVycygpOwogICAgIG9iamVjdCByb3dIZWFkZXJzKCk7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjdXN0b21Db250ZW50OwogCiAgICAgb2JqZWN0IGRl
dGFpbHNFbGVtZW50cygpOwogICAgIG9iamVjdCBlcnJvck1lc3NhZ2VFbGVtZW50cygpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggY2MzYTc3NTBkZWIw
Li5iZTNmYTAwMzU0NjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElP
Uy5tbQpAQCAtMzksNiArMzksMTAgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBvcnQg
PHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZX0ZSQU1F
V09SSykKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eS5oPgorI2VuZGlmCisK
IHR5cGVkZWYgdm9pZCAoKkFYUG9zdGVkTm90aWZpY2F0aW9uQ2FsbGJhY2spKGlkIGVsZW1lbnQs
IE5TU3RyaW5nKiBub3RpZmljYXRpb24sIHZvaWQqIGNvbnRleHQpOwogCiBAaW50ZXJmYWNlIE5T
T2JqZWN0IChVSUFjY2Vzc2liaWxpdHlIaWRkZW4pCkBAIC00ODUsNiArNDg5LDE4IEBAIFJlZlB0
cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1l
bnRBdHRyaWJ1dGVWYWx1ZShKCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29u
c3QKK3sKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorICAgIFJldGFpblB0cjxO
U011dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBh
bGxvY10gaW5pdF0pOworICAgIGZvciAoQVhDdXN0b21Db250ZW50ICpjb250ZW50IGluIFttX2Vs
ZW1lbnQgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKQorICAgICAgICBbY3VzdG9tQ29udGVu
dCBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDogJUAiLCBjb250ZW50
LmxhYmVsLCBjb250ZW50LnZhbHVlXV07CisgICAgcmV0dXJuIFtbY3VzdG9tQ29udGVudC5nZXQo
KSBjb21wb25lbnRzSm9pbmVkQnlTdHJpbmc6QCJcbiJdIGNyZWF0ZUpTU3RyaW5nUmVmXTsKKyNl
bHNlCisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQogewog
ICAgIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGF0dHJpYnV0ZSwgIkFYSGFzVG91
Y2hFdmVudExpc3RlbmVyIikpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1h
Yy5tbQppbmRleCBjN2NkN2Y5MmY0OGYuLjdmYjg2NjRlODdmNiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dE1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC00Miw2ICs0MiwxMCBAQAogI2ltcG9ydCA8
d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKKyNpZiBI
QVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Lmg+CisjZW5kaWYKKwogI2RlZmluZSBOU0FjY2Vzc2liaWxpdHlET01JZGVudGlm
aWVyQXR0cmlidXRlIEAiQVhET01JZGVudGlmaWVyIgogCiAjaWZuZGVmIE5TQWNjZXNzaWJpbGl0
eU93bnNBdHRyaWJ1dGUKQEAgLTM5Myw2ICszOTcsMjMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpnZXRDaGlsZHJlbldpdGhSYW5nZShWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlV
SUUKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiB9CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29uc3QKK3sKKyAg
ICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQorICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0
TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgIHNfY29udHJvbGxlci0+ZXhl
Y3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFsmY3VzdG9tQ29udGVudCwgdGhpc10geworICAgICAgICBm
b3IgKEFYQ3VzdG9tQ29udGVudCAqY29udGVudCBpbiBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlD
dXN0b21Db250ZW50XSkKKyAgICAgICAgICAgIFtjdXN0b21Db250ZW50IGFkZE9iamVjdDpbTlNT
dHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOiAlQCIsIGNvbnRlbnQubGFiZWwsIGNvbnRlbnQu
dmFsdWVdXTsKKyAgICB9KTsKKworICAgIHJldHVybiBbW2N1c3RvbUNvbnRlbnQuZ2V0KCkgY29t
cG9uZW50c0pvaW5lZEJ5U3RyaW5nOkAiXG4iXSBjcmVhdGVKU1N0cmluZ1JlZl07CisjZWxzZQor
ICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCisgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwor
fQorCiBKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25z
dAogewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNWZhYTY0NmNmN2YKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhcmlhLWRlc2Ny
aXB0aW9uIG1hcHMgdG8gYXBwcm9wcmlhdGUgYXR0cmlidXRlcy4KKworQ3VzdG9tIGNvbnRlbnQ6
IGRlc2NyaXB0aW9uOiBMb25nZXIgZGVzY3JpcHRpb24KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitidXR0b24KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi44ZWQwM2NkYzAyMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbApAQCAtMCwwICsxLDIyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJidXR0b24iIHJvbGU9ImJ1dHRvbiIgYXJpYS1k
ZXNjcmlwdGlvbj0iTG9uZ2VyIGRlc2NyaXB0aW9uIj5idXR0b248L2Rpdj4KKworPHNjcmlwdD4K
KyAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFyaWEtZGVzY3Jp
cHRpb24gbWFwcyB0byBhcHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuXG4iOworCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBjb25zdCBidXR0b24gPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImJ1dHRvbiIpOwor
ICAgICAgICB0ZXN0T3V0cHV0ICs9IGBDdXN0b20gY29udGVudDogJHtidXR0b24uY3VzdG9tQ29u
dGVudH1cbmA7CisgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgIH0KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMWYwYTk3ODc0MjI1Li5iMGU1YmFhYWRmMDEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDgsNiArMjA4LDkgQEAgd2Via2l0Lm9y
Zy9iLzIwODk4OCB3ZWJ4ciBbIFNraXAgXQogIyBDcmFzaCBvbiBFV1MgYm90Lgogd2VicnRjL3Zw
OC10aGVuLWgyNjQtZ3B1LXByb2Nlc3MtY3Jhc2guaHRtbCBbIFNraXAgXQogCisjIEFSSUEgZGVz
Y3JpcHRpb24gbmVlZHMgdG8gYmUgc3VwcG9ydGVkIG9uIEdUSy4KK2FjY2Vzc2liaWxpdHkvYXJp
YS1kZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KICMgRW5kIG9mIFRyaWFnZWQgRXhwZWN0YXRpb25zCiAjIExlZ2FjeSBFeHBlY3Rh
dGlvbnMgc2VjdGlvbnMgYmVsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1z
aW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZWVhYzgwYWIzNjkuLjA3MThmYmE4Y2Uz
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtOCw2ICs4LDcgQEAgYWNjZXNzaWJpbGl0eS9pbnNlcnQtbmV3bGluZS5o
dG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwgWyBQYXNzIF0KIGFjY2Vz
c2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItZGlzbWlzcy1hY3Rpb24uaHRtbCBbIFBhc3Mg
XQogYWNjZXNzaWJpbGl0eS9lbWJlZGRlZC1pbWFnZS1kZXNjcmlwdGlvbi5odG1sIFsgUGFzcyBd
CithY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCBbIFBhc3MgXQogZmFzdC9tdWx0
aWNvbC9mbGV4Ym94LXJvd3MuaHRtbCBbIFNraXAgXQogCiBmYXN0L2Zvcm1zL2lucHV0LXRleHQt
d29yZC13cmFwLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1iaWdzdXItd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtYmlnc3VyLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ5YzYyYjU4ZTNmZS4uODFkM2Uz
NzA1Mzg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtYmlnc3VyLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXItd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0LDMgKzE0LDQgQEAgd2Via2l0Lm9yZy9iLzI0MzA3NCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9kZWNvZGlu
Z0kKIHdlYmtpdC5vcmcvYi8yNDMwNzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yNDMwNzYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorYWNj
ZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0MGRmMGFmOGJhODIuLjgx
ZmExMmUyZjgwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtODc0LDYgKzg3NCw3IEBAIGFjY2Vzc2liaWxpdHkvdmlzaWJsZS1jaGFyYWN0
ZXItcmFuZ2UtaGVpZ2h0LWNoYW5nZXMuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS92aXNp
YmxlLWNoYXJhY3Rlci1yYW5nZS1zY3JvbGxpbmcuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0
eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS13aWR0aC1jaGFuZ2VzLmh0bWwgWyBTa2lwIF0KIGFj
Y2Vzc2liaWxpdHkvbW9kZWwtZWxlbWVudC1hdHRyaWJ1dGVzLmh0bWwgWyBTa2lwIF0KK2FjY2Vz
c2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCiAKICMgPHJkYXI6Ly9wcm9i
bGVtLzI2MDUwOTIzPiBUaGUgcmVzdWx0IGlzIHByb2JhYmx5IHN0aWxsIGEgcGFzcywgYnV0IHdl
IGRvbid0IGhhdmUgYSB3YXkKICMgdG8gaGF2ZSBwbGF0Zm9ybSBzcGVjaWZpYyByZXN1bHRzIHRo
YXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFdLMSBhbmQgV0syLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4YjA5YzgxYjA3NjcuLjlmNDg3ZTlmYTRkMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ5Miw2ICs0
OTIsNyBAQCBhY2Nlc3NpYmlsaXR5L2xpc3Rib3gtY2xlYXItc2VsZWN0aW9uLmh0bWwgWyBTa2lw
IF0KIGFjY2Vzc2liaWxpdHkvZW1iZWRkZWQtaW1hZ2UtZGVzY3JpcHRpb24uaHRtbCBbIFNraXAg
XQogYWNjZXNzaWJpbGl0eS9pbWctbm8tYWx0LW5vdC1pZ25vcmVkLXdpdGgtdGl0bGUuaHRtbCBb
IFNraXAgXQogYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNr
aXAgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwgWyBTa2lwIF0KIAogYWNj
ZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1iYXNpYy5odG1sIFsgU2tpcCBdCiBh
Y2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJhbmdlLWhlaWdodC1jaGFuZ2VzLmh0bWwg
WyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461395</attachid>
            <date>2022-08-04 00:40:01 -0700</date>
            <delta_ts>2022-08-05 22:54:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20220804004000.patch</filename>
            <type>text/plain</type>
            <size>29091</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">RnJvbSA1OWM3ZTJhMGYwNTM3NWFjMDg3MWJiODI3NWU5ZDdiZTcxOWE3ZDcyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBGbGVpemFjaCA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCAyNyBKdWwgMjAyMiAwMTowODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdICBB
WDogU3VwcG9ydCBBUklBIDEuMyBwcm9wZXJ0eSBhcmlhLWRlc2NyaXB0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjUzCgpSZXZpZXdlZCBieSBBbmRyZXMg
R29uemFsZXouCgpBZGQgc3VwcG9ydCBmb3IgYXJpYS1kZXNjcmlwdGlvbiBvbiBBcHBsZSBwbGF0
Zm9ybXMgYnkgbWFwcGluZyB0byBBWEN1c3RvbUNvbnRlbnQuCgoqIExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sOiBBZGRlZC4KKiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgoqIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgoqIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
OgoqIFNvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBT
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oOiBBZGRl
ZC4KKiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5t
bTogQWRkZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFEZXNjcmlwdGlvbiBj
b25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZE9iamVjdC5jcHA6CihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXpl
UHJvcGVydGllcyk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZE9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tOgooLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKToKKiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbWFjLnB5OgooTWFjUG9ydC5hcmNoaXRlY3R1cmUpOgoqIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CihX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmN1c3RvbUNvbnRlbnQgY29uc3QpOgoqIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
OgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5pZGw6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6Ci0tLQogU291cmNl
L1dURi93dGYvUGxhdGZvcm1IYXZlLmggICAgICAgICAgICAgICAgIHwgIDcgKysrKwogLi4uL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIHwgMTAgKysrKy0KIC4uLi9Q
QUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oICAgICB8IDM3ICsrKysrKysrKysr
KysrKysrKysKIC4uLi9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAgICB8
IDM2ICsrKysrKysrKysrKysrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oICAgICAgIHwgIDEgKwogLi4uL0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAg
ICAgICAgICAgIHwgIDEgKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCAg
ICAgICAgIHwgIDQgKysKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oICAgICAg
ICAgICB8ICAxICsKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCAgICAgICAgICAg
ICB8ICAxICsKIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tICB8
IDIxICsrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biAgICAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oICAg
fCAgMSArCiAuLi4vQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgICAgICAgfCAg
MSArCiAuLi4vaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0gICAgICAgICAgfCAxNiAr
KysrKysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwg
MjEgKysrKysrKysrKysKIC4uLi9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCAgICAgICAg
ICAgICB8ICA4ICsrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCAg
ICAgICB8IDIyICsrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucyAgICAgfCAgMyArKwogLi4uL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVj
dGF0aW9ucyAgIHwgIDEgKwogLi4uL3BsYXRmb3JtL21hYy1iaWdzdXItd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgIHwgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zIHwgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgICAg
IHwgIDEgKwogMjMgZmlsZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vz
c2liaWxpdHlTb2Z0TGluay5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0
aW9uLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDMwMDc4NTkzODgzYy4uNGRlZjBkODYx
ZTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTMxOCwzICsxMzE4LDEwIEBACiAgICAgfHwg
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNjAw
MDApKQogI2RlZmluZSBIQVZFX0xPQ0tET1dOX01PREVfUERGX0FERElUSU9OUyAxCiAjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNjAwKSBcCisgICAgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkgXAorICAgIHx8IChQTEFURk9STShXQVRD
SE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAwKSBcCisgICAg
fHwgKFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTQwMDAwKQorI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGVhMmRjNmQ5ZmU2MS4uNDdkZGY0ZTRjNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Niw2ICs2Niw4IEBACiAJCTFD
Q0E1RjAwMjgwRkFCQjQwMDhBNkY3OCAvKiBXZWJHUFVDcmVhdGVJbXBsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0NBNUVGRTI4MEZBQkI0MDA4QTZG
NzggLyogV2ViR1BVQ3JlYXRlSW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTFEMkI0MTM0MjVGMDVFMzUwMEEzRjcwQSAvKiBDbG9ja0dlbmVy
aWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQy
QjQxMzIyNUYwNUUzNDAwQTNGNzBBIC8qIENsb2NrR2VuZXJpYy5jcHAgKi87IH07CiAJCTI5M0VF
NEE4MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5M0VFNEE2MjQx
NTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCAqLzsgfTsK
KwkJMjk3Q0I0ODIyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3Q0I0ODAyODhC
MTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyB9OworCQkyOTdDQjQ4
MzI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3Q0I0ODEyODhCMTFENzAwQkI3
OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAqLzsgfTsKIAkJMkUxMzQyQ0QyMTVBQTEw
QTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRTEzNDJDQjIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0
TGluay5tbSAqLzsgfTsKIAkJMzE2NDdGQjAyNTE3NTlERDAwMTBGOEZCIC8qIE9wZW5HTFNvZnRM
aW5rQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTY0N0ZBRTI1MTc1OURCMDAxMEY4RkIgLyogT3BlbkdMU29mdExpbmtDb2NvYS5tbSAqLzsg
fTsKIAkJNDE2RTk5NTMyM0RBRTZCRTAwRTg3MUNCIC8qIEF1ZGlvVG9vbGJveFNvZnRMaW5rLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU5OTUx
MjNEQUU2QkQwMEU4NzFDQiAvKiBBdWRpb1Rvb2xib3hTb2Z0TGluay5jcHAgKi87IH07CkBAIC04
NDgsNiArODUwLDggQEAKIAkJMUQyQjQxMzMyNUYwNUUzNTAwQTNGNzBBIC8qIENsb2NrR2VuZXJp
Yy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbG9ja0dlbmVyaWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkzRUU0QTYyNDE1NEY4RjAwNDc0OTNEIC8qIEFj
Y2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eVN1cHBvcnRTb2Z0TGluay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5M0VFNEE3MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5r
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjk3Q0I0ODAyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vz
c2liaWxpdHlTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U29mdExpbmsu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjk3Q0I0ODEyODhCMTFENzAwQkI3OTcx
IC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUMxNUY0
NzI1RDc1RjYzMDAxQ0UzMUMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyOUNERUI5RTI1NDhEMDU1MDA3QzA3QjcgLyogQVhTcGVlY2hNYW5hZ2VyU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFYU3BlZWNoTWFuYWdlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDAyRTkzQjIwNTZGQUE3MDBBMTM3OTcgLyogQXVkaW9Ub29sYm94U1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvVG9vbGJveFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTMzMCw2ICsxMzM0LDggQEAKIAkJMUM0ODc2REUxRjhEODMx
MzAwQ0NFRUJEIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQkyOTdDQjQ4MDI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRM
aW5rLmggKi8sCisJCQkJMjk3Q0I0ODEyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSAqLywKIAkJCQk1N0ZEMzE4ODIyQjM1OTJGMDA4RDBFOEIgLyogQXBwU1NPU29m
dExpbmsuaCAqLywKIAkJCQk1N0ZEMzE4OTIyQjM1OTNFMDA4RDBFOEIgLyogQXBwU1NPU29mdExp
bmsubW0gKi8sCiAJCQkJMDc3RTg3QjAyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNv
ZnRMaW5rLmggKi8sCkBAIC0xNjY0LDYgKzE2NzAsNyBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1
aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAo
CisJCQkJMjk3Q0I0ODIyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMERERDUyN0JDOTBENzAwOTNEMTc1IC8qIEFjY2Vzc2li
aWxpdHlTdXBwb3J0U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREQ2MjdCQzkw
RDcwMDkzRDE3NSAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJREQyMEREMUEyN0JDOTBENjAwOTNEMTc1IC8qIEFwcFNTT1NvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLywKQEAgLTE4MDQsNiArMTgxMSw3IEBACiAJCQkJREQyMERFNDUyN0JDOTBEODAwOTNEMTc1
IC8qIFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM0RjI2RjYyODQ2RDBEOTAwNzZF
NTQ5IC8qIFBvd2VyTG9nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwREUwNDI3QkM5MEQ4
MDA5M0QxNzUgLyogcHRocmVhZFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNCODk4QjIyODYy
NzRGQTAwQ0EzNDg1IC8qIFF1YXJhbnRpbmVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBE
RTA1MjdCQzkwRDgwMDkzRDE3NSAvKiBRdWFydHpDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlERDIwREUzRjI3QkM5MEQ4MDA5M0QxNzUgLyogUXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlERDIwRERDMTI3QkM5MEQ3MDA5M0QxNzUgLyogUXVpY2tMb29rU29mdExpbmsu
aCBpbiBIZWFkZXJzICovLApAQCAtMTk5MSw3ICsxOTk5LDYgQEAKIAkJCQlERDIwRERBRTI3QkM5
MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4dHVyZUFzcGVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
REQyMEREQUYyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVCaW5kaW5nTGF5b3V0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMDI3QkM5MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTVDQjg5OEIyMjg2Mjc0RkEwMENB
MzQ4NSAvKiBRdWFyYW50aW5lU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMTI3QkM5
MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4dHVyZURpbWVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJREQyMEREQjIyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVGb3JtYXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUREMjBERDNFMjdCQzkwRDYwMDkzRDE3NSAvKiBXZWJHUFVUZXh0dXJl
SW1wbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTAzLDYgKzIxMTAsNyBAQAogCQkJaXNhID0gUEJY
U291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJ
ZmlsZXMgPSAoCisJCQkJMjk3Q0I0ODMyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5M0VFNEE4MjQxNTRGOEYwMDQ3NDkzRCAv
KiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3
RkQzMThBMjJCMzU5M0UwMDhEMEU4QiAvKiBBcHBTU09Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQxNkU5OTUzMjNEQUU2QkUwMEU4NzFDQiAvKiBBdWRpb1Rvb2xib3hTb2Z0TGluay5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uODRlODYzMzg3MTAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaApAQCAtMCwwICsxLDM3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQorCisjaW1wb3J0IDxBY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHkuaD4KKyNpbXBvcnQg
PHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoUEFM
LCBBY2Nlc3NpYmlsaXR5KTsKKworU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBWEN1
c3RvbUNvbnRlbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi41ZTk5N2I2NGY1MjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbQpAQCAtMCwwICsx
LDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFlfRlJBTUVXT1JLKQorCisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09G
VF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNzaWJpbGl0
eSwgUEFMX0VYUE9SVCk7CisKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQWNjZXNzaWJpbGl0eSwgQVhDdXN0b21Db250ZW50LCBQQUxfRVhQT1JUKTsKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oCmluZGV4IDdlMGNjYjJkN2FiMy4uY2FmYTM2YjA5ZGM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNDEzLDYg
KzQxMyw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFyaWFfYnJhaWxs
ZXJvbGVkZXNjcmlwdGlvbkF0dHIpOyB9CiAgICAgU3RyaW5nIGVtYmVkZGVkSW1hZ2VEZXNjcmlw
dGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yPiBpbWFnZU92ZXJsYXlFbGVtZW50cygpIG92ZXJyaWRlIHsgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsgfQorICAgIFN0cmluZyBleHRlbmRlZERlc2NyaXB0aW9uKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6YXJpYV9kZXNjcmlwdGlvbkF0
dHIpOyB9CiAKICAgICAvLyBBYmJyZXZpYXRpb25zCiAgICAgU3RyaW5nIGV4cGFuZGVkVGV4dFZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5o
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgKaW5kZXggYWMzODM2OTJlZGM2Li42OGViMjJmYTE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oCkBAIC0xMDc1LDYgKzEwNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcg
YnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBl
bWJlZGRlZEltYWdlRGVzY3JpcHRpb24oKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9w
dGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMo
KSA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0ID0g
MDsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0FSSUFPd25zKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBpc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250YWluZXIoKSBjb25z
dCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IDk0NjcwZWZiYjZmOS4uOWMx
YzlhNzI5YmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtMzk3LDYgKzM5Nywx
MCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFJlZjxBWENv
cmVPYmplY3Q+IGNvcmVPYmplY3QsIElzUm9vdAogICAgIGlmIChvYmplY3QuaXNXaWRnZXQoKSkK
ICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzV2lkZ2V0LCB0cnVlKTsKIAor
ICAgIGF1dG8gZXh0ZW5kZWREZXNjcmlwdGlvbiA9IG9iamVjdC5leHRlbmRlZERlc2NyaXB0aW9u
KCk7CisgICAgaWYgKGV4dGVuZGVkRGVzY3JpcHRpb24ubGVuZ3RoKCkpCisgICAgICAgIHNldFBy
b3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uLCBleHRlbmRlZERlc2Ny
aXB0aW9uLmlzb2xhdGVkQ29weSgpKTsKKyAgICAKICAgICBpbml0aWFsaXplUGxhdGZvcm1Qcm9w
ZXJ0aWVzKGNvcmVPYmplY3QsIGlzUm9vdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApp
bmRleCAwNGZhYzgxNDhjZjguLmM1NjE0Y2U4ZmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3Qu
aApAQCAtMjgyLDYgKzI4Miw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGJyYWlsbGVSb2xlRGVz
Y3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZTo6QnJhaWxsZVJvbGVEZXNjcmlwdGlvbik7IH0KICAgICBTdHJpbmcgZW1i
ZWRkZWRJbWFnZURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0
cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbik7IH0K
ICAgICBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVy
bGF5RWxlbWVudHMoKSBvdmVycmlkZSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICBTdHJp
bmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0
dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uKTsgfQogCiAg
ICAgU3RyaW5nIGNvbXB1dGVkUm9sZVN0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0
cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDb21wdXRlZFJvbGVTdHJpbmcpOyB9
CiAgICAgYm9vbCBpc1ZhbHVlQXV0b2ZpbGxBdmFpbGFibGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzVmFsdWVBdXRvZmlsbEF2
YWlsYWJsZSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IGVlNzQ1MzJmMjFhYy4uYzEwODc4
YmMyNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBlbnVtIGNs
YXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2X3QgewogICAgIEVkaXRhYmxlQW5jZXN0b3IsCiAg
ICAgRW1iZWRkZWRJbWFnZURlc2NyaXB0aW9uLAogICAgIEV4cGFuZGVkVGV4dFZhbHVlLAorICAg
IEV4dGVuZGVkRGVzY3JpcHRpb24sCiAgICAgRmlsZVVwbG9hZEJ1dHRvblJldHVybnNWYWx1ZUlu
VGl0bGUsCiAgICAgRm9jdXNhYmxlQW5jZXN0b3IsCiAgICAgSGFzQVJJQVZhbHVlTm93LApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJCYXNlLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCmluZGV4IDNkZDA3YTlhMmVjOS4u
ZTU0YjhiOWVjYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1t
CkBAIC0zMSw2ICszMSw4IEBACiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9y
dCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Lmg+CisKICNpbXBvcnQgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNj
ZXNzaWJpbGl0eUxpc3QuaCIKQEAgLTU5LDYgKzYxLDcgQEAKICNpbXBvcnQgIlRleHRJdGVyYXRv
ci5oIgogI2ltcG9ydCAiVmlzaWJsZVVuaXRzLmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9y
Q29jb2EuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKICNpbXBvcnQgIldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLmgiCkBAIC00MDMsNiArNDA2LDI0IEBAIC0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKiliYXNl
QWNjZXNzaWJpbGl0eVNwZWVjaEhpbnQKICAgICByZXR1cm4gWyhOU1N0cmluZyAqKXNlbGYuYXhC
YWNraW5nT2JqZWN0LT5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKSBjb21wb25lbnRzU2VwYXJh
dGVkQnlTdHJpbmc6QCIgIl07CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JL
KQorLSAoTlNBcnJheTxBWEN1c3RvbUNvbnRlbnQgKj4gKilhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29u
dGVudAoreworICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBbc2VsZiBiYXNlVXBkYXRlQmFja2lu
Z1N0b3JlXTsKKyAgICBpZiAoIWJhY2tpbmdPYmplY3QpCisgICAgICAgIHJldHVybiBuaWw7Cisg
ICAgCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PEFYQ3VzdG9tQ29udGVudCAqPj4gYWNj
ZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnQgPSBuaWw7CisgICAgYXV0byBleHRlbmRlZERlc2NyaXB0
aW9uID0gYmFja2luZ09iamVjdC0+ZXh0ZW5kZWREZXNjcmlwdGlvbigpOworICAgIGlmIChleHRl
bmRlZERlc2NyaXB0aW9uLmxlbmd0aCgpKSB7CisgICAgICAgIGFjY2Vzc2liaWxpdHlDdXN0b21D
b250ZW50ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CisgICAgICAg
IFthY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W1BBTDo6Z2V0QVhDdXN0b21D
b250ZW50Q2xhc3MoKSBjdXN0b21Db250ZW50V2l0aExhYmVsOldFQl9VSV9TVFJJTkcoImRlc2Ny
aXB0aW9uIiwgImRlc2NyaXB0aW9uIGRldGFpbCIpIHZhbHVlOmV4dGVuZGVkRGVzY3JpcHRpb25d
XTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50Lmdl
dCgpOworfQorI2VuZGlmCisKIC0gKE5TU3RyaW5nICopYmFzZUFjY2Vzc2liaWxpdHlIZWxwVGV4
dAogewogICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+aGVscFRleHRBdHRyaWJ1dGVW
YWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBk
NWEzNmE0NDFkNzEuLmRjMzgwZTlmNmFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0
cmlidXRlTmFtZXMuaW4KQEAgLTI3LDYgKzI3LDcgQEAgYXJpYS1jb2xzcGFuCiBhcmlhLWNvbnRy
b2xzCiBhcmlhLWN1cnJlbnQKIGFyaWEtZGVzY3JpYmVkYnkKK2FyaWEtZGVzY3JpcHRpb24KIGFy
aWEtZGV0YWlscwogYXJpYS1kaXNhYmxlZAogYXJpYS1kcm9wZWZmZWN0CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50LmNwcAppbmRleCAzOGM0OTAyNGU1NjUuLjA1N2E4NzJmNjQzYyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCkBAIC0xMTMsNiArMTEzLDcgQEAgSlNWYWx1ZVJl
ZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUm9vdFJhZGljYW5kKCkgY29uc3QgeyByZXR1
cm4geyB9OyB9CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpIHx8ICFFTkFCTEUoQUNDRVNTSUJJTElU
WSkKIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpmb2N1c2VkRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkgY29u
c3QgeyByZXR1cm4gbnVsbHB0cjsgfQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhh
c0RvY3VtZW50Um9sZUFuY2VzdG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIGJvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aGFzV2ViQXBwbGljYXRpb25BbmNlc3RvcigpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGMyZGU2NDli
YTNjZS4uNWY1ZTBiZmRiNWY5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMjM1
LDYgKzIzNSw3IEBAIHB1YmxpYzoKICAgICBpbnQgY29sdW1uQ291bnQoKTsKICAgICBKU1ZhbHVl
UmVmIHJvd0hlYWRlcnMoKSBjb25zdDsKICAgICBKU1ZhbHVlUmVmIGNvbHVtbkhlYWRlcnMoKSBj
b25zdDsKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gY3VzdG9tQ29udGVudCgpIGNvbnN0
OwogCiAgICAgLy8gVHJlZS9PdXRsaW5lIHNwZWNpZmljIGF0dHJpYnV0ZXMKICAgICBSZWZQdHI8
QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gc2VsZWN0ZWRSb3dBdEluZGV4KHVuc2lnbmVkKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IGYyNmNh
ZmMwODc0Mi4uZTYzOTRhZjY2YjdlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5pZGwKQEAgLTE3OSw2ICsxNzksNyBAQAogICAgIGxvbmcgY29sdW1uQ291
bnQoKTsKICAgICBvYmplY3QgY29sdW1uSGVhZGVycygpOwogICAgIG9iamVjdCByb3dIZWFkZXJz
KCk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjdXN0b21Db250ZW50OwogCiAg
ICAgb2JqZWN0IGRldGFpbHNFbGVtZW50cygpOwogICAgIG9iamVjdCBlcnJvck1lc3NhZ2VFbGVt
ZW50cygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXgg
Y2MzYTc3NTBkZWIwLi5iZTNmYTAwMzU0NjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbQpAQCAtMzksNiArMzksMTAgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3Iu
aD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCisjaWYgSEFWRShBQ0NFU1NJ
QklMSVRZX0ZSQU1FV09SSykKKyNpbXBvcnQgPEFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eS5o
PgorI2VuZGlmCisKIHR5cGVkZWYgdm9pZCAoKkFYUG9zdGVkTm90aWZpY2F0aW9uQ2FsbGJhY2sp
KGlkIGVsZW1lbnQsIE5TU3RyaW5nKiBub3RpZmljYXRpb24sIHZvaWQqIGNvbnRleHQpOwogCiBA
aW50ZXJmYWNlIE5TT2JqZWN0IChVSUFjY2Vzc2liaWxpdHlIaWRkZW4pCkBAIC00ODUsNiArNDg5
LDE4IEBAIFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp1aUVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShKCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21D
b250ZW50KCkgY29uc3QKK3sKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheT4gY3VzdG9tQ29udGVudCA9IGFkb3B0TlMoW1tOU011
dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgIGZvciAoQVhDdXN0b21Db250ZW50ICpjb250
ZW50IGluIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKQorICAgICAgICBb
Y3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQDog
JUAiLCBjb250ZW50LmxhYmVsLCBjb250ZW50LnZhbHVlXV07CisgICAgcmV0dXJuIFtbY3VzdG9t
Q29udGVudC5nZXQoKSBjb21wb25lbnRzSm9pbmVkQnlTdHJpbmc6QCJcbiJdIGNyZWF0ZUpTU3Ry
aW5nUmVmXTsKKyNlbHNlCisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKwogYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0
cmlidXRlKQogewogICAgIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGF0dHJpYnV0
ZSwgIkFYSGFzVG91Y2hFdmVudExpc3RlbmVyIikpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudE1hYy5tbQppbmRleCBjN2NkN2Y5MmY0OGYuLjdmYjg2NjRlODdmNiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCkBAIC00Miw2ICs0MiwxMCBA
QAogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29h
Lmg+CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorI2ltcG9ydCA8QWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5Lmg+CisjZW5kaWYKKwogI2RlZmluZSBOU0FjY2Vzc2liaWxp
dHlET01JZGVudGlmaWVyQXR0cmlidXRlIEAiQVhET01JZGVudGlmaWVyIgogCiAjaWZuZGVmIE5T
QWNjZXNzaWJpbGl0eU93bnNBdHRyaWJ1dGUKQEAgLTM5Myw2ICszOTcsMjMgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJlbldpdGhSYW5nZShWZWN0b3I8UmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUUKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiB9CiAKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjdXN0b21Db250ZW50KCkg
Y29uc3QKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFlfRlJBTUVXT1JLKQorICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gY3VzdG9tQ29u
dGVudCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOworICAgIHNfY29u
dHJvbGxlci0+ZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFsmY3VzdG9tQ29udGVudCwgdGhpc10g
eworICAgICAgICBmb3IgKEFYQ3VzdG9tQ29udGVudCAqY29udGVudCBpbiBbbV9lbGVtZW50IGFj
Y2Vzc2liaWxpdHlDdXN0b21Db250ZW50XSkKKyAgICAgICAgICAgIFtjdXN0b21Db250ZW50IGFk
ZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOiAlQCIsIGNvbnRlbnQubGFi
ZWwsIGNvbnRlbnQudmFsdWVdXTsKKyAgICB9KTsKKworICAgIHJldHVybiBbW2N1c3RvbUNvbnRl
bnQuZ2V0KCkgY29tcG9uZW50c0pvaW5lZEJ5U3RyaW5nOkAiXG4iXSBjcmVhdGVKU1N0cmluZ1Jl
Zl07CisjZWxzZQorICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCisgICAgRU5EX0FYX09CSkNf
RVhDRVBUSU9OUworfQorCiBKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hl
YWRlcnMoKSBjb25zdAogewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNWZhYTY0NmNmN2YK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3Jp
cHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhh
dCBhcmlhLWRlc2NyaXB0aW9uIG1hcHMgdG8gYXBwcm9wcmlhdGUgYXR0cmlidXRlcy4KKworQ3Vz
dG9tIGNvbnRlbnQ6IGRlc2NyaXB0aW9uOiBMb25nZXIgZGVzY3JpcHRpb24KKworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitidXR0b24KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44ZWQwM2NkYzAyMjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbApAQCAt
MCwwICsxLDIyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJidXR0b24iIHJvbGU9ImJ1
dHRvbiIgYXJpYS1kZXNjcmlwdGlvbj0iTG9uZ2VyIGRlc2NyaXB0aW9uIj5idXR0b248L2Rpdj4K
KworPHNjcmlwdD4KKyAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0
IGFyaWEtZGVzY3JpcHRpb24gbWFwcyB0byBhcHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuXG4iOwor
CisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBjb25z
dCBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
ImJ1dHRvbiIpOworICAgICAgICB0ZXN0T3V0cHV0ICs9IGBDdXN0b20gY29udGVudDogJHtidXR0
b24uY3VzdG9tQ29udGVudH1cbmA7CisgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgIH0K
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWYwYTk3ODc0MjI1Li5iMGU1YmFhYWRmMDEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDgsNiArMjA4LDkg
QEAgd2Via2l0Lm9yZy9iLzIwODk4OCB3ZWJ4ciBbIFNraXAgXQogIyBDcmFzaCBvbiBFV1MgYm90
Lgogd2VicnRjL3ZwOC10aGVuLWgyNjQtZ3B1LXByb2Nlc3MtY3Jhc2guaHRtbCBbIFNraXAgXQog
CisjIEFSSUEgZGVzY3JpcHRpb24gbmVlZHMgdG8gYmUgc3VwcG9ydGVkIG9uIEdUSy4KK2FjY2Vz
c2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCisKICMvLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFRyaWFnZWQgRXhwZWN0YXRpb25zCiAjIExl
Z2FjeSBFeHBlY3RhdGlvbnMgc2VjdGlvbnMgYmVsb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZWVhYzgwYWIzNjku
LjA3MThmYmE4Y2UzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3IvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOCw2ICs4LDcgQEAgYWNjZXNzaWJpbGl0eS9pbnNl
cnQtbmV3bGluZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwgWyBQ
YXNzIF0KIGFjY2Vzc2liaWxpdHkva2V5ZXZlbnRzLXBvc3RlZC1mb3ItZGlzbWlzcy1hY3Rpb24u
aHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9lbWJlZGRlZC1pbWFnZS1kZXNjcmlwdGlvbi5o
dG1sIFsgUGFzcyBdCithY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCBbIFBhc3Mg
XQogZmFzdC9tdWx0aWNvbC9mbGV4Ym94LXJvd3MuaHRtbCBbIFNraXAgXQogCiBmYXN0L2Zvcm1z
L2lucHV0LXRleHQtd29yZC13cmFwLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1iaWdzdXItd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtYmlnc3VyLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ5YzYyYjU4
ZTNmZS4uODFkM2UzNzA1Mzg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
Ymlnc3VyLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1iaWdzdXItd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0LDMgKzE0LDQgQEAgd2Via2l0Lm9y
Zy9iLzI0MzA3NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxp
dGllcy9kZWNvZGluZ0kKIHdlYmtpdC5vcmcvYi8yNDMwNzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYS1jYXBhYmlsaXRpZXMvZW5jb2RpbmdJbmZvLmFueS53b3JrZXIuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yNDMwNzYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwgWyBTa2lwIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0MGRm
MGFmOGJhODIuLjgxZmExMmUyZjgwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODc0LDYgKzg3NCw3IEBAIGFjY2Vzc2liaWxpdHkvdmlz
aWJsZS1jaGFyYWN0ZXItcmFuZ2UtaGVpZ2h0LWNoYW5nZXMuaHRtbCBbIFNraXAgXQogYWNjZXNz
aWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1zY3JvbGxpbmcuaHRtbCBbIFNraXAgXQog
YWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS13aWR0aC1jaGFuZ2VzLmh0bWwg
WyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvbW9kZWwtZWxlbWVudC1hdHRyaWJ1dGVzLmh0bWwgWyBT
a2lwIF0KK2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCiAKICMg
PHJkYXI6Ly9wcm9ibGVtLzI2MDUwOTIzPiBUaGUgcmVzdWx0IGlzIHByb2JhYmx5IHN0aWxsIGEg
cGFzcywgYnV0IHdlIGRvbid0IGhhdmUgYSB3YXkKICMgdG8gaGF2ZSBwbGF0Zm9ybSBzcGVjaWZp
YyByZXN1bHRzIHRoYXQgYXJlIGRpZmZlcmVudCBiZXR3ZWVuIFdLMSBhbmQgV0syLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4YjA5YzgxYjA3NjcuLjlm
NDg3ZTlmYTRkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTQ5Miw2ICs0OTIsNyBAQCBhY2Nlc3NpYmlsaXR5L2xpc3Rib3gtY2xlYXItc2VsZWN0aW9u
Lmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvZW1iZWRkZWQtaW1hZ2UtZGVzY3JpcHRpb24u
aHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9pbWctbm8tYWx0LW5vdC1pZ25vcmVkLXdpdGgt
dGl0bGUuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVtZW50LWF0dHJpYnV0
ZXMuaHRtbCBbIFNraXAgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwgWyBT
a2lwIF0KIAogYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1iYXNpYy5odG1s
IFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJhbmdlLWhlaWdodC1j
aGFuZ2VzLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461435</attachid>
            <date>2022-08-05 22:54:10 -0700</date>
            <delta_ts>2022-08-06 15:32:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206253-20220805225409.patch</filename>
            <type>text/plain</type>
            <size>29057</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">RnJvbSBjNjdiNGY2NGViYmIwMjEyMWU4OTRmY2VmMDM1NjhjZjdiNmQzNTY0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpcyBGbGVpemFjaCA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCAyNyBKdWwgMjAyMiAwMTowODoyMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdICBB
WDogU3VwcG9ydCBBUklBIDEuMyBwcm9wZXJ0eSBhcmlhLWRlc2NyaXB0aW9uCiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MjUzCgpSZXZpZXdlZCBieSBBbmRyZXMg
R29uemFsZXouCgpBZGQgc3VwcG9ydCBmb3IgYXJpYS1kZXNjcmlwdGlvbiBvbiBBcHBsZSBwbGF0
Zm9ybXMgYnkgbWFwcGluZyB0byBBWEN1c3RvbUNvbnRlbnQuCgoqIExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi5odG1sOiBBZGRlZC4KKiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgoqIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgoqIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
OgoqIFNvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBT
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oOiBBZGRl
ZC4KKiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5t
bTogQWRkZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmFyaWFEZXNjcmlwdGlvbiBj
b25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZE9iamVjdC5jcHA6CihXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXpl
UHJvcGVydGllcyk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZE9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tOgooLVtXZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckJhc2UgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKToKKiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbjoKKiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvbWFjLnB5OgooTWFjUG9ydC5hcmNoaXRlY3R1cmUpOgoqIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CihX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmN1c3RvbUNvbnRlbnQgY29uc3QpOgoqIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
OgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5pZGw6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3VzdG9tQ29udGVudCBjb25zdCk6Ci0tLQogU291cmNl
L1dURi93dGYvUGxhdGZvcm1IYXZlLmggICAgICAgICAgICAgICAgIHwgIDcgKysrKwogLi4uL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIHwgMTAgKysrKy0KIC4uLi9Q
QUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oICAgICB8IDM3ICsrKysrKysrKysr
KysrKysrKysKIC4uLi9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAgICB8
IDM2ICsrKysrKysrKysrKysrKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oICAgICAgIHwgIDEgKwogLi4uL0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCAg
ICAgICAgICAgIHwgIDEgKwogLi4uL2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCAg
ICAgICAgIHwgIDQgKysKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oICAgICAg
ICAgICB8ICAxICsKIC4uLi9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCAgICAgICAgICAg
ICB8ICAxICsKIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tICB8
IDIxICsrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
biAgICAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAgfCAgMSArCiAuLi4vSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oICAg
fCAgMSArCiAuLi4vQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwgICAgICAgfCAg
MSArCiAuLi4vaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0gICAgICAgICAgfCAxNiAr
KysrKysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwg
MjEgKysrKysrKysrKysKIC4uLi9hcmlhLWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCAgICAgICAg
ICAgICB8ICA4ICsrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24uaHRtbCAg
ICAgICB8IDIyICsrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucyAgICAgfCAgMyArKwogLi4uL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4cGVj
dGF0aW9ucyAgIHwgIDEgKwogLi4uL3BsYXRmb3JtL21hYy1iaWdzdXItd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgIHwgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zIHwgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgICAg
IHwgIDEgKwogMjMgZmlsZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vz
c2liaWxpdHlTb2Z0TGluay5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0
aW9uLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDMwMDc4NTkzODgzYy4uNGRlZjBkODYx
ZTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtMTMxOCwzICsxMzE4LDEwIEBACiAgICAgfHwg
UExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNjAw
MDApKQogI2RlZmluZSBIQVZFX0xPQ0tET1dOX01PREVfUERGX0FERElUSU9OUyAxCiAjZW5kaWYK
KworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNjAwKSBcCisgICAgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkgXAorICAgIHx8IChQTEFURk9STShXQVRD
SE9TKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAwKSBcCisgICAg
fHwgKFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTQwMDAwKQorI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGVhMmRjNmQ5ZmU2MS4uNDdkZGY0ZTRjNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Niw2ICs2Niw4IEBACiAJCTFD
Q0E1RjAwMjgwRkFCQjQwMDhBNkY3OCAvKiBXZWJHUFVDcmVhdGVJbXBsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0NBNUVGRTI4MEZBQkI0MDA4QTZG
NzggLyogV2ViR1BVQ3JlYXRlSW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTFEMkI0MTM0MjVGMDVFMzUwMEEzRjcwQSAvKiBDbG9ja0dlbmVy
aWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUQy
QjQxMzIyNUYwNUUzNDAwQTNGNzBBIC8qIENsb2NrR2VuZXJpYy5jcHAgKi87IH07CiAJCTI5M0VF
NEE4MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5M0VFNEE2MjQx
NTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCAqLzsgfTsK
KwkJMjk3Q0I0ODIyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3Q0I0ODAyODhC
MTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyB9OworCQkyOTdDQjQ4
MzI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjk3Q0I0ODEyODhCMTFENzAwQkI3
OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAqLzsgfTsKIAkJMkUxMzQyQ0QyMTVBQTEw
QTAwNzE5OUQyIC8qIFVJS2l0U29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRTEzNDJDQjIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0
TGluay5tbSAqLzsgfTsKIAkJMzE2NDdGQjAyNTE3NTlERDAwMTBGOEZCIC8qIE9wZW5HTFNvZnRM
aW5rQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMTY0N0ZBRTI1MTc1OURCMDAxMEY4RkIgLyogT3BlbkdMU29mdExpbmtDb2NvYS5tbSAqLzsg
fTsKIAkJNDE2RTk5NTMyM0RBRTZCRTAwRTg3MUNCIC8qIEF1ZGlvVG9vbGJveFNvZnRMaW5rLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU5OTUx
MjNEQUU2QkQwMEU4NzFDQiAvKiBBdWRpb1Rvb2xib3hTb2Z0TGluay5jcHAgKi87IH07CkBAIC04
NDgsNiArODUwLDggQEAKIAkJMUQyQjQxMzMyNUYwNUUzNTAwQTNGNzBBIC8qIENsb2NrR2VuZXJp
Yy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbG9ja0dlbmVyaWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkzRUU0QTYyNDE1NEY4RjAwNDc0OTNEIC8qIEFj
Y2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eVN1cHBvcnRTb2Z0TGluay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI5M0VFNEE3MjQxNTRGOEYwMDQ3NDkzRCAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5r
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTdXBwb3J0U29mdExpbmsuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjk3Q0I0ODAyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vz
c2liaWxpdHlTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3NpYmlsaXR5U29mdExpbmsu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjk3Q0I0ODEyODhCMTFENzAwQkI3OTcx
IC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUMxNUY0
NzI1RDc1RjYzMDAxQ0UzMUMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyOUNERUI5RTI1NDhEMDU1MDA3QzA3QjcgLyogQVhTcGVlY2hNYW5hZ2VyU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFYU3BlZWNoTWFuYWdlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDAyRTkzQjIwNTZGQUE3MDBBMTM3OTcgLyogQXVkaW9Ub29sYm94U1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1ZGlvVG9vbGJveFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTMzMCw2ICsxMzM0LDggQEAKIAkJMUM0ODc2REUxRjhEODMx
MzAwQ0NFRUJEIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQkyOTdDQjQ4MDI4OEIxMUQ3MDBCQjc5NzEgLyogQWNjZXNzaWJpbGl0eVNvZnRM
aW5rLmggKi8sCisJCQkJMjk3Q0I0ODEyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSAqLywKIAkJCQk1N0ZEMzE4ODIyQjM1OTJGMDA4RDBFOEIgLyogQXBwU1NPU29m
dExpbmsuaCAqLywKIAkJCQk1N0ZEMzE4OTIyQjM1OTNFMDA4RDBFOEIgLyogQXBwU1NPU29mdExp
bmsubW0gKi8sCiAJCQkJMDc3RTg3QjAyMjZBNDYwMjAwQTJBRkYwIC8qIEFWRm91bmRhdGlvblNv
ZnRMaW5rLmggKi8sCkBAIC0xNjY0LDYgKzE2NzAsNyBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1
aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAo
CisJCQkJMjk3Q0I0ODIyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlTb2Z0TGluay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJREQyMERERDUyN0JDOTBENzAwOTNEMTc1IC8qIEFjY2Vzc2li
aWxpdHlTdXBwb3J0U29mdExpbmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBEREQ2MjdCQzkw
RDcwMDkzRDE3NSAvKiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJREQyMEREMUEyN0JDOTBENjAwOTNEMTc1IC8qIEFwcFNTT1NvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLywKQEAgLTE4MDQsNiArMTgxMSw3IEBACiAJCQkJREQyMERFNDUyN0JDOTBEODAwOTNEMTc1
IC8qIFBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM0RjI2RjYyODQ2RDBEOTAwNzZF
NTQ5IC8qIFBvd2VyTG9nU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwREUwNDI3QkM5MEQ4
MDA5M0QxNzUgLyogcHRocmVhZFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNCODk4QjIyODYy
NzRGQTAwQ0EzNDg1IC8qIFF1YXJhbnRpbmVTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUREMjBE
RTA1MjdCQzkwRDgwMDkzRDE3NSAvKiBRdWFydHpDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlERDIwREUzRjI3QkM5MEQ4MDA5M0QxNzUgLyogUXVpY2tMb29rTWFjU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlERDIwRERDMTI3QkM5MEQ3MDA5M0QxNzUgLyogUXVpY2tMb29rU29mdExpbmsu
aCBpbiBIZWFkZXJzICovLApAQCAtMTk5MSw3ICsxOTk5LDYgQEAKIAkJCQlERDIwRERBRTI3QkM5
MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4dHVyZUFzcGVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
REQyMEREQUYyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVCaW5kaW5nTGF5b3V0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMDI3QkM5MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTVDQjg5OEIyMjg2Mjc0RkEwMENB
MzQ4NSAvKiBRdWFyYW50aW5lU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlERDIwRERCMTI3QkM5
MEQ3MDA5M0QxNzUgLyogV2ViR1BVVGV4dHVyZURpbWVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJREQyMEREQjIyN0JDOTBENzAwOTNEMTc1IC8qIFdlYkdQVVRleHR1cmVGb3JtYXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUREMjBERDNFMjdCQzkwRDYwMDkzRDE3NSAvKiBXZWJHUFVUZXh0dXJl
SW1wbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMTAzLDYgKzIxMTAsNyBAQAogCQkJaXNhID0gUEJY
U291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJ
ZmlsZXMgPSAoCisJCQkJMjk3Q0I0ODMyODhCMTFENzAwQkI3OTcxIC8qIEFjY2Vzc2liaWxpdHlT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5M0VFNEE4MjQxNTRGOEYwMDQ3NDkzRCAv
KiBBY2Nlc3NpYmlsaXR5U3VwcG9ydFNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3
RkQzMThBMjJCMzU5M0UwMDhEMEU4QiAvKiBBcHBTU09Tb2Z0TGluay5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTQxNkU5OTUzMjNEQUU2QkUwMEU4NzFDQiAvKiBBdWRpb1Rvb2xib3hTb2Z0TGluay5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FjY2Vzc2liaWxpdHlTb2Z0TGluay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uODRlODYzMzg3MTAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaApAQCAtMCwwICsxLDM3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVX
T1JLKQorCisjaW1wb3J0IDxBY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHkuaD4KKyNpbXBvcnQg
PHd0Zi9Tb2Z0TGlua2luZy5oPgorCitTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9IRUFERVIoUEFM
LCBBY2Nlc3NpYmlsaXR5KTsKKworU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBBWEN1
c3RvbUNvbnRlbnQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvQWNjZXNzaWJpbGl0eVNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi41ZTk5N2I2NGY1MjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL0FjY2Vzc2liaWxpdHlTb2Z0TGluay5tbQpAQCAtMCwwICsx
LDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFlfRlJBTUVXT1JLKQorCisjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KKworU09G
VF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQWNjZXNzaWJpbGl0
eSwgUEFMX0VYUE9SVCk7CisKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgQWNjZXNzaWJpbGl0eSwgQVhDdXN0b21Db250ZW50LCBQQUxfRVhQT1JUKTsKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5oCmluZGV4IDdlMGNjYjJkN2FiMy4uY2FmYTM2YjA5ZGM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNDEzLDYg
KzQxMyw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgYnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmFyaWFfYnJhaWxs
ZXJvbGVkZXNjcmlwdGlvbkF0dHIpOyB9CiAgICAgU3RyaW5nIGVtYmVkZGVkSW1hZ2VEZXNjcmlw
dGlvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJpbGl0eUNo
aWxkcmVuVmVjdG9yPiBpbWFnZU92ZXJsYXlFbGVtZW50cygpIG92ZXJyaWRlIHsgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsgfQorICAgIFN0cmluZyBleHRlbmRlZERlc2NyaXB0aW9uKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6YXJpYV9kZXNjcmlwdGlvbkF0
dHIpOyB9CiAKICAgICAvLyBBYmJyZXZpYXRpb25zCiAgICAgU3RyaW5nIGV4cGFuZGVkVGV4dFZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gU3RyaW5nKCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5o
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmgKaW5kZXggYWMzODM2OTJlZGM2Li42OGViMjJmYTE3ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVy
ZmFjZS5oCkBAIC0xMDc1LDYgKzEwNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcg
YnJhaWxsZVJvbGVEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBl
bWJlZGRlZEltYWdlRGVzY3JpcHRpb24oKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBzdGQ6Om9w
dGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVybGF5RWxlbWVudHMo
KSA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0ID0g
MDsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0FSSUFPd25zKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBpc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250YWluZXIoKSBjb25z
dCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IDk0NjcwZWZiYjZmOS4uOWMx
YzlhNzI5YmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtMzk3LDYgKzM5Nywx
MCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFJlZjxBWENv
cmVPYmplY3Q+IGNvcmVPYmplY3QsIElzUm9vdAogICAgIGlmIChvYmplY3QuaXNXaWRnZXQoKSkK
ICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzV2lkZ2V0LCB0cnVlKTsKIAor
ICAgIGF1dG8gZXh0ZW5kZWREZXNjcmlwdGlvbiA9IG9iamVjdC5leHRlbmRlZERlc2NyaXB0aW9u
KCk7CisgICAgaWYgKGV4dGVuZGVkRGVzY3JpcHRpb24ubGVuZ3RoKCkpCisgICAgICAgIHNldFBy
b3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uLCBleHRlbmRlZERlc2Ny
aXB0aW9uLmlzb2xhdGVkQ29weSgpKTsKKyAgICAKICAgICBpbml0aWFsaXplUGxhdGZvcm1Qcm9w
ZXJ0aWVzKGNvcmVPYmplY3QsIGlzUm9vdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApp
bmRleCAwNGZhYzgxNDhjZjguLmM1NjE0Y2U4ZmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3Qu
aApAQCAtMjgyLDYgKzI4Miw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIGJyYWlsbGVSb2xlRGVz
Y3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShB
WFByb3BlcnR5TmFtZTo6QnJhaWxsZVJvbGVEZXNjcmlwdGlvbik7IH0KICAgICBTdHJpbmcgZW1i
ZWRkZWRJbWFnZURlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0
cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkVtYmVkZGVkSW1hZ2VEZXNjcmlwdGlvbik7IH0K
ICAgICBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3Rvcj4gaW1hZ2VPdmVy
bGF5RWxlbWVudHMoKSBvdmVycmlkZSB7IHJldHVybiBzdGQ6Om51bGxvcHQ7IH0KKyAgICBTdHJp
bmcgZXh0ZW5kZWREZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0
dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpFeHRlbmRlZERlc2NyaXB0aW9uKTsgfQogCiAg
ICAgU3RyaW5nIGNvbXB1dGVkUm9sZVN0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0
cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDb21wdXRlZFJvbGVTdHJpbmcpOyB9
CiAgICAgYm9vbCBpc1ZhbHVlQXV0b2ZpbGxBdmFpbGFibGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OklzVmFsdWVBdXRvZmlsbEF2
YWlsYWJsZSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IGVlNzQ1MzJmMjFhYy4uYzEwODc4
YmMyNGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTEwNiw2ICsxMDYsNyBAQCBlbnVtIGNs
YXNzIEFYUHJvcGVydHlOYW1lIDogdWludDE2X3QgewogICAgIEVkaXRhYmxlQW5jZXN0b3IsCiAg
ICAgRW1iZWRkZWRJbWFnZURlc2NyaXB0aW9uLAogICAgIEV4cGFuZGVkVGV4dFZhbHVlLAorICAg
IEV4dGVuZGVkRGVzY3JpcHRpb24sCiAgICAgRmlsZVVwbG9hZEJ1dHRvblJldHVybnNWYWx1ZUlu
VGl0bGUsCiAgICAgRm9jdXNhYmxlQW5jZXN0b3IsCiAgICAgSGFzQVJJQVZhbHVlTm93LApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJCYXNlLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCmluZGV4IDNkZDA3YTlhMmVjOS4u
YzYyNWUzNmY0NTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1t
CkBAIC0zMSw2ICszMSw4IEBACiAKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKIAorI2ltcG9y
dCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Lmg+CisKICNpbXBvcnQgIkFYT2JqZWN0Q2Fj
aGUuaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlBUklBR3JpZFJvdy5oIgogI2ltcG9ydCAiQWNj
ZXNzaWJpbGl0eUxpc3QuaCIKQEAgLTU5LDYgKzYxLDcgQEAKICNpbXBvcnQgIlRleHRJdGVyYXRv
ci5oIgogI2ltcG9ydCAiVmlzaWJsZVVuaXRzLmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9y
Q29jb2EuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9BY2Nlc3NpYmlsaXR5U29mdExpbmsuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKICNpbXBvcnQgIldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
TWFjLmgiCkBAIC00MDMsNiArNDA2LDI0IEBAIC0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKiliYXNl
QWNjZXNzaWJpbGl0eVNwZWVjaEhpbnQKICAgICByZXR1cm4gWyhOU1N0cmluZyAqKXNlbGYuYXhC
YWNraW5nT2JqZWN0LT5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKSBjb21wb25lbnRzU2VwYXJh
dGVkQnlTdHJpbmc6QCIgIl07CiB9CiAKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JL
KQorLSAoTlNBcnJheTxBWEN1c3RvbUNvbnRlbnQgKj4gKilhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29u
dGVudAoreworICAgIGF1dG8qIGJhY2tpbmdPYmplY3QgPSBbc2VsZiBiYXNlVXBkYXRlQmFja2lu
Z1N0b3JlXTsKKyAgICBpZiAoIWJhY2tpbmdPYmplY3QpCisgICAgICAgIHJldHVybiBuaWw7Cisg
ICAgCisgICAgUmV0YWluUHRyPE5TTXV0YWJsZUFycmF5PEFYQ3VzdG9tQ29udGVudCAqPj4gYWNj
ZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnQgPSBuaWw7CisgICAgYXV0byBleHRlbmRlZERlc2NyaXB0
aW9uID0gYmFja2luZ09iamVjdC0+ZXh0ZW5kZWREZXNjcmlwdGlvbigpOworICAgIGlmIChleHRl
bmRlZERlc2NyaXB0aW9uLmxlbmd0aCgpKSB7CisgICAgICAgIGFjY2Vzc2liaWxpdHlDdXN0b21D
b250ZW50ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CisgICAgICAg
IFthY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudCBhZGRPYmplY3Q6W1BBTDo6Z2V0QVhDdXN0b21D
b250ZW50Q2xhc3MoKSBjdXN0b21Db250ZW50V2l0aExhYmVsOldFQl9VSV9TVFJJTkcoImRlc2Ny
aXB0aW9uIiwgImRlc2NyaXB0aW9uIGRldGFpbCIpIHZhbHVlOmV4dGVuZGVkRGVzY3JpcHRpb25d
XTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGFjY2Vzc2liaWxpdHlDdXN0b21Db250ZW50LmF1
dG9yZWxlYXNlKCk7Cit9CisjZW5kaWYKKwogLSAoTlNTdHJpbmcgKiliYXNlQWNjZXNzaWJpbGl0
eUhlbHBUZXh0CiB7CiAgICAgcmV0dXJuIHNlbGYuYXhCYWNraW5nT2JqZWN0LT5oZWxwVGV4dEF0
dHJpYnV0ZVZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
CmluZGV4IGQ1YTM2YTQ0MWQ3MS4uZGMzODBlOWY2YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtMjcsNiArMjcsNyBAQCBhcmlhLWNvbHNwYW4KIGFy
aWEtY29udHJvbHMKIGFyaWEtY3VycmVudAogYXJpYS1kZXNjcmliZWRieQorYXJpYS1kZXNjcmlw
dGlvbgogYXJpYS1kZXRhaWxzCiBhcmlhLWRpc2FibGVkCiBhcmlhLWRyb3BlZmZlY3QKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IDM4YzQ5MDI0ZTU2NS4uMDU3YTg3MmY2NDNj
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTExMyw2ICsxMTMsNyBAQCBK
U1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhSb290UmFkaWNhbmQoKSBjb25z
dCB7IHJldHVybiB7IH07IH0KIAogI2lmICFQTEFURk9STShDT0NPQSkgfHwgIUVOQUJMRShBQ0NF
U1NJQklMSVRZKQogUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmZvY3VzZWRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQorSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmN1c3RvbUNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aGFzRG9jdW1lbnRSb2xlQW5jZXN0b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNXZWJBcHBsaWNhdGlvbkFuY2VzdG9yKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXgg
YzJkZTY0OWJhM2NlLi41ZjVlMGJmZGI1ZjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5o
CkBAIC0yMzUsNiArMjM1LDcgQEAgcHVibGljOgogICAgIGludCBjb2x1bW5Db3VudCgpOwogICAg
IEpTVmFsdWVSZWYgcm93SGVhZGVycygpIGNvbnN0OwogICAgIEpTVmFsdWVSZWYgY29sdW1uSGVh
ZGVycygpIGNvbnN0OworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBjdXN0b21Db250ZW50
KCkgY29uc3Q7CiAKICAgICAvLyBUcmVlL091dGxpbmUgc3BlY2lmaWMgYXR0cmlidXRlcwogICAg
IFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBzZWxlY3RlZFJvd0F0SW5kZXgodW5zaWdu
ZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKaW5k
ZXggZjI2Y2FmYzA4NzQyLi5lNjM5NGFmNjZiN2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5p
ZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbApAQCAtMTc5LDYgKzE3OSw3IEBACiAgICAgbG9uZyBj
b2x1bW5Db3VudCgpOwogICAgIG9iamVjdCBjb2x1bW5IZWFkZXJzKCk7CiAgICAgb2JqZWN0IHJv
d0hlYWRlcnMoKTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGN1c3RvbUNvbnRl
bnQ7CiAKICAgICBvYmplY3QgZGV0YWlsc0VsZW1lbnRzKCk7CiAgICAgb2JqZWN0IGVycm9yTWVz
c2FnZUVsZW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5t
bQppbmRleCBjYzNhNzc1MGRlYjAuLmZhNDk2YzFhYTA3OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElP
Uy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCkBAIC0zOSw2ICszOSwxMCBAQAogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKKyNpZiBIQVZF
KEFDQ0VTU0lCSUxJVFlfRlJBTUVXT1JLKQorI2ltcG9ydCA8QWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5Lmg+CisjZW5kaWYKKwogdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRpb25D
YWxsYmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwgdm9pZCogY29udGV4
dCk7CiAKIEBpbnRlcmZhY2UgTlNPYmplY3QgKFVJQWNjZXNzaWJpbGl0eUhpZGRlbikKQEAgLTQ4
NSw2ICs0ODksMTggQEAgUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnVpRWxlbWVudEF0dHJpYnV0ZVZhbHVlKEoKICAgICByZXR1cm4gbnVsbHB0
cjsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmN1c3RvbUNvbnRlbnQoKSBjb25zdAoreworI2lmIEhBVkUoQUNDRVNTSUJJTElUWV9GUkFNRVdP
UkspCisgICAgYXV0byBjdXN0b21Db250ZW50ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFs
bG9jXSBpbml0XSk7CisgICAgZm9yIChBWEN1c3RvbUNvbnRlbnQgKmNvbnRlbnQgaW4gW21fZWxl
bWVudCBhY2Nlc3NpYmlsaXR5Q3VzdG9tQ29udGVudF0pCisgICAgICAgIFtjdXN0b21Db250ZW50
IGFkZE9iamVjdDpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIiVAOiAlQCIsIGNvbnRlbnQu
bGFiZWwsIGNvbnRlbnQudmFsdWVdXTsKKyAgICByZXR1cm4gW1tjdXN0b21Db250ZW50LmdldCgp
IGNvbXBvbmVudHNKb2luZWRCeVN0cmluZzpAIlxuIl0gY3JlYXRlSlNTdHJpbmdSZWZdOworI2Vs
c2UKKyAgICByZXR1cm4gbnVsbHB0cjsKKyNlbmRpZgorfQorCiBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCiB7CiAg
ICAgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoYXR0cmlidXRlLCAiQVhIYXNUb3Vj
aEV2ZW50TGlzdGVuZXIiKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFj
Lm1tCmluZGV4IGM3Y2Q3ZjkyZjQ4Zi4uYWEzZjNjZmM1YzZhIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
TWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KQEAgLTQyLDYgKzQyLDEwIEBACiAjaW1wb3J0IDx3
dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KIAorI2lmIEhB
VkUoQUNDRVNTSUJJTElUWV9GUkFNRVdPUkspCisjaW1wb3J0IDxBY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHkuaD4KKyNlbmRpZgorCiAjZGVmaW5lIE5TQWNjZXNzaWJpbGl0eURPTUlkZW50aWZp
ZXJBdHRyaWJ1dGUgQCJBWERPTUlkZW50aWZpZXIiCiAKICNpZm5kZWYgTlNBY2Nlc3NpYmlsaXR5
T3duc0F0dHJpYnV0ZQpAQCAtMzkzLDYgKzM5NywyMyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdlKFZlY3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RQogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmN1c3RvbUNvbnRlbnQoKSBjb25zdAoreworICAg
IEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUworI2lmIEhBVkUoQUNDRVNTSUJJTElUWV9GUkFNRVdP
UkspCisgICAgYXV0byBjdXN0b21Db250ZW50ID0gYWRvcHROUyhbW05TTXV0YWJsZUFycmF5IGFs
bG9jXSBpbml0XSk7CisgICAgc19jb250cm9sbGVyLT5leGVjdXRlT25BWFRocmVhZEFuZFdhaXQo
W3RoaXMsICZjdXN0b21Db250ZW50XSB7CisgICAgICAgIGZvciAoQVhDdXN0b21Db250ZW50ICpj
b250ZW50IGluIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUN1c3RvbUNvbnRlbnRdKQorICAgICAg
ICAgICAgW2N1c3RvbUNvbnRlbnQgYWRkT2JqZWN0OltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OkAiJUA6ICVAIiwgY29udGVudC5sYWJlbCwgY29udGVudC52YWx1ZV1dOworICAgIH0pOworCisg
ICAgcmV0dXJuIFtbY3VzdG9tQ29udGVudC5nZXQoKSBjb21wb25lbnRzSm9pbmVkQnlTdHJpbmc6
QCJcbiJdIGNyZWF0ZUpTU3RyaW5nUmVmXTsKKyNlbHNlCisgICAgcmV0dXJuIG51bGxwdHI7Cisj
ZW5kaWYKKyAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCit9CisKIEpTVmFsdWVSZWYgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cm93SGVhZGVycygpIGNvbnN0CiB7CiAgICAgQkVHSU5fQVhfT0JK
Q19FWENFUFRJT05TCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
ZGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlh
LWRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAuLmE1ZmFhNjQ2Y2Y3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1kZXNjcmlwdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBA
CitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFyaWEtZGVzY3JpcHRpb24gbWFwcyB0byBhcHByb3By
aWF0ZSBhdHRyaWJ1dGVzLgorCitDdXN0b20gY29udGVudDogZGVzY3JpcHRpb246IExvbmdlciBk
ZXNjcmlwdGlvbgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK2J1dHRvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlh
LWRlc2NyaXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3Jp
cHRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjhlZDAz
Y2RjMDIyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1kZXNjcmlwdGlvbi5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgaWQ9ImJ1dHRvbiIgcm9sZT0iYnV0dG9uIiBhcmlhLWRlc2NyaXB0aW9uPSJMb25nZXIgZGVz
Y3JpcHRpb24iPmJ1dHRvbjwvZGl2PgorCis8c2NyaXB0PgorICAgIHZhciB0ZXN0T3V0cHV0ID0g
IlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYXJpYS1kZXNjcmlwdGlvbiBtYXBzIHRvIGFwcHJvcHJp
YXRlIGF0dHJpYnV0ZXMuXG5cbiI7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7CisgICAgICAgIGNvbnN0IGJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYnV0dG9uIik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0g
YEN1c3RvbSBjb250ZW50OiAke2J1dHRvbi5jdXN0b21Db250ZW50fVxuYDsKKyAgICAgICAgZGVi
dWcodGVzdE91dHB1dCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxZjBhOTc4NzQy
MjUuLmIwZTViYWFhZGYwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTIwOCw2ICsyMDgsOSBAQCB3ZWJraXQub3JnL2IvMjA4OTg4IHdlYnhyIFsgU2tp
cCBdCiAjIENyYXNoIG9uIEVXUyBib3QuCiB3ZWJydGMvdnA4LXRoZW4taDI2NC1ncHUtcHJvY2Vz
cy1jcmFzaC5odG1sIFsgU2tpcCBdCiAKKyMgQVJJQSBkZXNjcmlwdGlvbiBuZWVkcyB0byBiZSBz
dXBwb3J0ZWQgb24gR1RLLgorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0aW9uLmh0bWwgWyBT
a2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2YgVHJp
YWdlZCBFeHBlY3RhdGlvbnMKICMgTGVnYWN5IEV4cGVjdGF0aW9ucyBzZWN0aW9ucyBiZWxvdwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGVlZWFjODBhYjM2OS4uMDcxOGZiYThjZTNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCkBAIC04LDYgKzgs
NyBAQCBhY2Nlc3NpYmlsaXR5L2luc2VydC1uZXdsaW5lLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2li
aWxpdHkvdXJsLXRlc3QuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9rZXlldmVudHMtcG9z
dGVkLWZvci1kaXNtaXNzLWFjdGlvbi5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2VtYmVk
ZGVkLWltYWdlLWRlc2NyaXB0aW9uLmh0bWwgWyBQYXNzIF0KK2FjY2Vzc2liaWxpdHkvYXJpYS1k
ZXNjcmlwdGlvbi5odG1sIFsgUGFzcyBdCiBmYXN0L211bHRpY29sL2ZsZXhib3gtcm93cy5odG1s
IFsgU2tpcCBdCiAKIGZhc3QvZm9ybXMvaW5wdXQtdGV4dC13b3JkLXdyYXAuaHRtbCBbIFNraXAg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci13azIvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXItd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZDljNjJiNThlM2ZlLi44MWQzZTM3MDUzODQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1iaWdzdXItd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWJpZ3N1ci13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTQsMyArMTQsNCBAQCB3ZWJraXQub3JnL2IvMjQzMDc0IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtY2FwYWJpbGl0aWVzL2RlY29kaW5nSQogd2Via2l0Lm9yZy9iLzI0MzA3
NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLWNhcGFiaWxpdGllcy9lbmNv
ZGluZ0luZm8uYW55Lndvcmtlci5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9i
LzI0MzA3NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZWRpcmVjdHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCithY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3Jp
cHRpb24uaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDQwZGYwYWY4YmE4Mi4uODFmYTEyZTJmODBlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC04NzQsNiArODc0
LDcgQEAgYWNjZXNzaWJpbGl0eS92aXNpYmxlLWNoYXJhY3Rlci1yYW5nZS1oZWlnaHQtY2hhbmdl
cy5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJhbmdlLXNj
cm9sbGluZy5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJh
bmdlLXdpZHRoLWNoYW5nZXMuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9tb2RlbC1lbGVt
ZW50LWF0dHJpYnV0ZXMuaHRtbCBbIFNraXAgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWRlc2NyaXB0
aW9uLmh0bWwgWyBTa2lwIF0KIAogIyA8cmRhcjovL3Byb2JsZW0vMjYwNTA5MjM+IFRoZSByZXN1
bHQgaXMgcHJvYmFibHkgc3RpbGwgYSBwYXNzLCBidXQgd2UgZG9uJ3QgaGF2ZSBhIHdheQogIyB0
byBoYXZlIHBsYXRmb3JtIHNwZWNpZmljIHJlc3VsdHMgdGhhdCBhcmUgZGlmZmVyZW50IGJldHdl
ZW4gV0sxIGFuZCBXSzIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDhiMDljODFiMDc2Ny4uOWY0ODdlOWZhNGQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDkyLDYgKzQ5Miw3IEBAIGFjY2Vzc2liaWxpdHkv
bGlzdGJveC1jbGVhci1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9lbWJl
ZGRlZC1pbWFnZS1kZXNjcmlwdGlvbi5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5L2ltZy1u
by1hbHQtbm90LWlnbm9yZWQtd2l0aC10aXRsZS5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmlsaXR5
L21vZGVsLWVsZW1lbnQtYXR0cmlidXRlcy5odG1sIFsgU2tpcCBdCithY2Nlc3NpYmlsaXR5L2Fy
aWEtZGVzY3JpcHRpb24uaHRtbCBbIFNraXAgXQogCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hh
cmFjdGVyLXJhbmdlLWJhc2ljLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvdmlzaWJsZS1j
aGFyYWN0ZXItcmFuZ2UtaGVpZ2h0LWNoYW5nZXMuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>